Views
No views yet
| MARCO Doc MRR@100 | MARCO Passage nDCG@10 | TREC-DL19 nDCG@10 | TREC-DL20 nDCG@10 |
|---|---|---|---|
| 0.3727 | 0.3286 | 0.6171 | 0.5337 |
1import torch, torch.nn.functional as F
2from transformers import AutoModel, AutoTokenizer
3
4repo = "jmvcoelho/Qwen2.5-0.5B-retriever-ranker-dpo-1M"
5tok = AutoTokenizer.from_pretrained(repo)
6model = AutoModel.from_pretrained(repo, trust_remote_code=True).eval()
7
8def encode(texts):
9 batch = tok(texts, padding=True, truncation=True, max_length=512, return_tensors="pt")
10 with torch.no_grad():
11 out = model(**batch).last_hidden_state
12 mask = batch["attention_mask"].unsqueeze(-1).float()
13 emb = (out * mask).sum(1) / mask.sum(1) # mean pooling
14 return F.normalize(emb, dim=-1) # L2 normalize; score = cosine / dot
15
16q = encode(["what is dense retrieval"])
17d = encode(["Dense retrieval uses dual encoders ..."])
18print((q @ d.T).item())