Views
No views yet
| Model | Params | NDCG@10 | Params/Eff. |
|---|---|---|---|
bge-reranker-v2-m3-en-ru | 375M | 0.84387 | 1.0 |
BAAI/bge-reranker-v2-m3 | 568M | 0.84384 | 1.0 |
DiTy/cross-encoder-russian-msmarco | 178M | 0.78572 | 2.3× |
mxbai-rerank-large-v1 | 435M | 0.77927 | 2.1× |
bce-reranker-base_v1 | 278M | 0.74599 | 2.7× |
ARGA100/ru-reranker-modernbert-small (ours) | 34M | 0.74444 | 11.0× |
mxbai-rerank-base-v2 | 494M | 0.71268 | 1.9× |
mxbai-rerank-base-v1 | 184M | 0.71159 | 2.5× |
BAAI/bge-reranker-base | 278M | 0.70550 | 2.4× |
BAAI/bge-reranker-large | 560M | 0.69430 | 1.9× |
gte-reranker-modernbert-base | 150M | 0.65751 | 3.0× |
mxbai-rerank-xsmall-v1 | 71M | 0.62594 | 4.7× |
Params/Eff. = relative NDCG@10 per million parameters vs. the top model.
1from sentence_transformers import CrossEncoder
2
3model = CrossEncoder("ARGA100/ru-reranker-modernbert-small", max_length=2048)
4
5# Score a query-document pair
6pairs = [
7 ["сколько калорий в яйце", "В одном курином яйце содержится около 70-80 ккал"],
8 ["сколько калорий в яйце", "Яичный белок практически не содержит жиров"],
9]
10scores = model.predict(pairs)
11print(scores) # Higher = more relevant
12
13# Rerank documents
14query = "лучшие рестораны москвы"
15documents = [
16 "Топ-10 ресторанов Москвы с авторской кухней",
17 "Как приготовить борщ дома",
18 "Ресторан White Rabbit вошел в рейтинг лучших",
19]
20ranks = model.rank(query, documents, top_k=3)
21for r in ranks:
22 print(f"Score: {r['score']:.4f} | Doc: {documents[r['corpus_id']]}")1@misc{ru-reranker-modernbert-small,
2 author = {ARGA100},
3 title = {RuModernBERT-small Russian Cross-Encoder Reranker},
4 year = {2026},
5 publisher = {Hugging Face},
6 howpublished = {\url{https://huggingface.co/ARGA100/ru-reranker-modernbert-small}}
7}