Skip to content

Commit b653617

Browse files
authored
model: add mixedbread-ai mxbai-rerank-base-v2 and mxbai-rerank-large-v2 (#4857)
* Add mixedbread-ai mxbai-rerank-base-v2 and mxbai-rerank-large-v2 Generative cross-encoder rerankers (Qwen2.5 0.5B/1.5B) loaded via the Sentence Transformers LogitScore head; scored on the raw logit (identity activation) under a new `mxbai-rerank-v2` extra. v1 entries marked superseded. * Update dependency to reuse an existing one
1 parent 521d9f3 commit b653617

1 file changed

Lines changed: 199 additions & 2 deletions

File tree

mteb/models/model_implementations/mixedbread_ai_models.py

Lines changed: 199 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import torch
2+
13
from mteb.models.model_implementations.pylate_models import MultiVectorModel
24
from mteb.models.model_meta import ModelMeta, ScoringFunction
35
from mteb.models.sentence_transformer_wrapper import (
@@ -193,7 +195,7 @@
193195
use_instructions=None,
194196
training_datasets=None,
195197
adapted_from=None,
196-
superseded_by=None,
198+
superseded_by="mixedbread-ai/mxbai-rerank-base-v2",
197199
modalities=["text"],
198200
model_type=["cross-encoder"],
199201
citation="""@online{rerank2024mxbai,
@@ -232,7 +234,7 @@
232234
use_instructions=None,
233235
training_datasets=None,
234236
adapted_from=None,
235-
superseded_by=None,
237+
superseded_by="mixedbread-ai/mxbai-rerank-large-v2",
236238
modalities=["text"],
237239
model_type=["cross-encoder"],
238240
citation="""@online{rerank2024mxbai,
@@ -244,6 +246,201 @@
244246
contacts=None,
245247
)
246248

249+
# Languages from the model card (ISO 639-1) mapped to MTEB codes via
250+
# mteb.languages._hf_langs_to_iso_lang_scripts (the same path ModelMeta.from_hub uses).
251+
MXBAI_RERANK_V2_LANGUAGES = [
252+
"afr-Latn",
253+
"amh-Ethi",
254+
"ara-Arab",
255+
"asm-Beng",
256+
"aze-Latn",
257+
"bel-Cyrl",
258+
"ben-Beng",
259+
"bos-Latn",
260+
"bre-Latn",
261+
"bul-Cyrl",
262+
"cat-Latn",
263+
"ces-Latn",
264+
"cym-Latn",
265+
"dan-Latn",
266+
"deu-Latn",
267+
"ell-Grek",
268+
"eng-Latn",
269+
"epo-Latn",
270+
"est-Latn",
271+
"eus-Latn",
272+
"fas-Arab",
273+
"fin-Latn",
274+
"fra-Latn",
275+
"fry-Latn",
276+
"ful-Latn",
277+
"gla-Latn",
278+
"gle-Latn",
279+
"glg-Latn",
280+
"grn-Latn",
281+
"guj-Gujr",
282+
"hat-Latn",
283+
"hau-Latn",
284+
"heb-Hebr",
285+
"hin-Deva",
286+
"hrv-Latn",
287+
"hun-Latn",
288+
"hye-Armn",
289+
"ibo-Latn",
290+
"ind-Latn",
291+
"isl-Latn",
292+
"ita-Latn",
293+
"jav-Latn",
294+
"jpn-Jpan",
295+
"kan-Knda",
296+
"kat-Geor",
297+
"kaz-Cyrl",
298+
"khm-Khmr",
299+
"kir-Cyrl",
300+
"kor-Hang",
301+
"kur-Arab",
302+
"lao-Laoo",
303+
"lat-Latn",
304+
"lav-Latn",
305+
"lim-Latn",
306+
"lin-Latn",
307+
"lit-Latn",
308+
"lug-Latn",
309+
"mal-Mlym",
310+
"mar-Deva",
311+
"mkd-Cyrl",
312+
"mon-Cyrl",
313+
"msa-Latn",
314+
"mya-Mymr",
315+
"nep-Deva",
316+
"nld-Latn",
317+
"nor-Latn",
318+
"ori-Orya",
319+
"orm-Ethi",
320+
"pan-Guru",
321+
"pol-Latn",
322+
"por-Latn",
323+
"pus-Arab",
324+
"roh-Latn",
325+
"ron-Latn",
326+
"rus-Cyrl",
327+
"san-Deva",
328+
"sin-Sinh",
329+
"slk-Latn",
330+
"slv-Latn",
331+
"snd-Arab",
332+
"som-Latn",
333+
"spa-Latn",
334+
"sqi-Latn",
335+
"srd-Latn",
336+
"srp-Cyrl",
337+
"ssw-Latn",
338+
"sun-Latn",
339+
"swa-Latn",
340+
"swe-Latn",
341+
"tam-Taml",
342+
"tel-Telu",
343+
"tgl-Latn",
344+
"tha-Thai",
345+
"tsn-Latn",
346+
"tur-Latn",
347+
"uig-Arab",
348+
"ukr-Cyrl",
349+
"urd-Arab",
350+
"uzb-Latn",
351+
"vie-Latn",
352+
"wol-Latn",
353+
"xho-Latn",
354+
"yid-Hebr",
355+
"yor-Latn",
356+
"zho-Hans",
357+
"zul-Latn",
358+
]
359+
360+
MXBAI_RERANK_V2_CITATION = """@inproceedings{li2026prorank,
361+
title = "{ProRank}: Prompt Warmup via Reinforcement Learning for Small Language Models Reranking",
362+
author = "LI, Xianming and
363+
Shakir, Aamir and
364+
Huang, Rui and
365+
Lipp, Julius and
366+
Clavi{\'e}, Benjamin and
367+
Li, Jing",
368+
editor = "Liakata, Maria and
369+
Moreira, Viviane P. and
370+
Zhang, Jiajun and
371+
Jurgens, David",
372+
booktitle = "Findings of the {A}ssociation for {C}omputational {L}inguistics: {ACL} 2026",
373+
month = jul,
374+
year = "2026",
375+
address = "San Diego, California, United States",
376+
publisher = "Association for Computational Linguistics",
377+
url = "https://aclanthology.org/2026.findings-acl.51/",
378+
pages = "1026--1037",
379+
ISBN = "979-8-89176-395-1"
380+
}"""
381+
382+
# We keep the raw logit as the relevance score (identity activation)
383+
# to match the reference implementation and the published benchmark numbers.
384+
mxbai_rerank_base_v2 = ModelMeta(
385+
loader=CrossEncoderWrapper,
386+
loader_kwargs=dict(activation_fn=torch.nn.Identity()),
387+
name="mixedbread-ai/mxbai-rerank-base-v2",
388+
revision="3ea9d4dffa7d12a4f366be8e275c349de9fc9865",
389+
release_date="2025-03-03",
390+
languages=MXBAI_RERANK_V2_LANGUAGES,
391+
n_parameters=494032768,
392+
n_embedding_parameters=136134656,
393+
memory_usage_mb=1885,
394+
max_tokens=32768,
395+
embed_dim=896,
396+
license="apache-2.0",
397+
open_weights=True,
398+
public_training_code=None,
399+
public_training_data=None,
400+
framework=["PyTorch", "Sentence Transformers", "Transformers", "safetensors"],
401+
reference="https://huggingface.co/mixedbread-ai/mxbai-rerank-base-v2",
402+
similarity_fn_name=None,
403+
use_instructions=False,
404+
training_datasets=mixedbread_training_data,
405+
adapted_from="Qwen/Qwen2.5-0.5B",
406+
superseded_by=None,
407+
modalities=["text"],
408+
model_type=["cross-encoder"],
409+
extra_requirements_groups=["multimodal-sbert"],
410+
citation=MXBAI_RERANK_V2_CITATION,
411+
contacts=None,
412+
)
413+
414+
mxbai_rerank_large_v2 = ModelMeta(
415+
loader=CrossEncoderWrapper,
416+
loader_kwargs=dict(activation_fn=torch.nn.Identity()),
417+
name="mixedbread-ai/mxbai-rerank-large-v2",
418+
revision="ca7e1ee484c37c0ddd8d178a9a5c33cec575c5e6",
419+
release_date="2025-03-03",
420+
languages=MXBAI_RERANK_V2_LANGUAGES,
421+
n_parameters=1543714304,
422+
n_embedding_parameters=233373696,
423+
memory_usage_mb=5889,
424+
max_tokens=32768,
425+
embed_dim=1536,
426+
license="apache-2.0",
427+
open_weights=True,
428+
public_training_code=None,
429+
public_training_data=None,
430+
framework=["PyTorch", "Sentence Transformers", "Transformers", "safetensors"],
431+
reference="https://huggingface.co/mixedbread-ai/mxbai-rerank-large-v2",
432+
similarity_fn_name=None,
433+
use_instructions=False,
434+
training_datasets=mixedbread_training_data,
435+
adapted_from="Qwen/Qwen2.5-1.5B",
436+
superseded_by=None,
437+
modalities=["text"],
438+
model_type=["cross-encoder"],
439+
extra_requirements_groups=["multimodal-sbert"],
440+
citation=MXBAI_RERANK_V2_CITATION,
441+
contacts=None,
442+
)
443+
247444
mxbai_edge_colbert_v0_17m = ModelMeta(
248445
loader=MultiVectorModel,
249446
name="mixedbread-ai/mxbai-edge-colbert-v0-17m",

0 commit comments

Comments
 (0)