File size: 1,884 Bytes
e2c43b7
 
 
 
 
 
 
 
 
 
 
 
 
028e850
 
e2c43b7
 
 
 
 
 
38bf0e9
 
e2c43b7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
---
language:
- ms
---

# 191M 8192 context length Mistral on Malaysian text embedding task using contrastive loss

Trained on truncated 8k context length.

README at https://github.com/mesolitica/llm-embedding#finetune

WandB, https://wandb.ai/mesolitica/mistral-embedding-191m-contrastive

WandB report, https://wandb.ai/mesolitica/llama2-embedding-600m-contrastive/reports/Contrastive-embedding-loss--Vmlldzo2MTM4ODE0

## how-to

```python
from transformers import AutoModel, AutoTokenizer
from sklearn.metrics.pairwise import cosine_similarity

tokenizer = AutoTokenizer.from_pretrained("mesolitica/mistral-embedding-191m-8k-contrastive", trust_remote_code=True)
model = AutoModel.from_pretrained("mesolitica/mistral-embedding-191m-8k-contrastive", trust_remote_code=True)

input_ids = tokenizer(
    [
        'tak suka ayam', 
        'Isu perkauman: Kerajaan didakwa terdesak kaitkan pemimpin PN',
        'nasi ayam tu sedap', 
        'suka ikan goreng?',
        'Kerajaan tidak akan berkompromi dengan isu perkauman dan agama yang dimanipulasi pihak tertentu untuk mengganggu-gugat kestabilan negara serta ketenteraman rakyat.',
        'rasis bodo mamat tu',
        'kerajaan sekarang xde otak',
        'aku nak sukan olimpik ni',
        'malaysia dapat x pingat kt sukan asia?',
        'pingat gangsa menerusi terjun dan olahraga pada hari ke-10',
        'Kerajaan negeri kini dibenarkan melaksanakan penerokaan awal unsur nadir bumi (REE) berdasarkan prosedur operasi standard (SOP) sedia ada untuk perlombongan nadir bumi dan mineral.',
        'KONTINJEN Malaysia mendekati sasaran 27 pingat di Sukan Asia kali ini esok, selepas menuai dua lagi pingat gangsa menerusi terjun dan olahraga pada hari ke-10 pertandingan, pada Selasa.'
    ], 
    return_tensors = 'pt',
    padding = True
)
v = model.encode(input_ids).detach().numpy()
v.shape
```

```
(12, 768)
```