library_name: transformers
language:
- en
- zh
- de
- ja
- ko
- es
- fr
- ar
- bn
- ru
- id
- sw
- te
- th
license: apache-2.0
The crispy rerank family from Mixedbread.
Rewritten Mixedbread Reranker as classifier
This repo is the Mixedbread reranker rewritten as Classifier that is as of March 2025 the most powerful reranker, e.g. for RAG.
FP8 Deployment on H100
build_commands: []
environment_variables: {}
external_package_dirs: []
model_metadata:
example_model_input:
input: 'ERROR: This redirects to the embedding endpoint. Use the /sync API to
reach /sync/predict'
model_name: BEI-mixedbread-ai-mxbai-rerank-base-v2-reranker-fp8-truss-example
python_version: py39
requirements: []
resources:
accelerator: L4
cpu: '1'
memory: 10Gi
use_gpu: true
secrets: {}
system_packages: []
trt_llm:
build:
base_model: encoder
checkpoint_repository:
repo: michaelfeil/mxbai-rerank-base-v2-seq
revision: main
source: HF
max_num_tokens: 32768
max_seq_len: 1000001
num_builder_gpus: 4
quantization_type: fp8
To push the deployment on Baseten.co
truss push --publish
Usage as classifier
For usage with Baseten.co or with github.com/michaelfeil/infinity, you should use the classification API. You need to manually create the following prompt template that is very specfic to this model. This template follows the reference implementation at https://github.com/mixedbread-ai/mxbai-rerank/tree/main.
def create_mxbai_v2_reranker_prompt_template(query: str, document: str, instruction: str = "") -> str:
"""
Create a carefully formatted chat template string (without tokenizer) for ranking relevance.
Parameters:
query (str): The search query.
document (str): The document text to evaluate.
instruction (str): Special instructions (e.g., "You are an expert for Mockingbirds.")
Returns:
str: The formatted chat template.
"""
instruction = f"instruction: {instruction}\n" if instruction else ""
# fixed system prompt, keep as is.
system_prompt = "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."
assert not "\n" in system_prompt
assert not "\n" in instruction[:-1]
assert isinstance(query, str)
assert isinstance(document, str)
templated = (
# keep spacing, newlines as is.
# template for mixedbread reranker v2
# https://huggingface.co/michaelfeil/mxbai-rerank-base-v2-seq/
f"<|endoftext|><|im_start|>system\n{system_prompt}\n"
"<|im_end|>\n"
"<|im_start|>user\n"
f"{instruction}"
f"query: {query} \n"
f"document: {document} \n"
"You are a search relevance expert who evaluates how well documents match search queries. "
"For each query-document pair, carefully analyze the semantic relationship between them, then provide your binary relevance judgment (0 for not relevant, 1 for relevant).\n"
"Relevance:<|im_end|>\n"
"<|im_start|>assistant\n"
)
return templated
π mxbai-rerank-base-v2
This is the base model in our family of powerful reranker models. You can learn more about the models in our blog post.
We have two models:
The technical report is coming soon!
π Features
- state-of-the-art performance and strong efficiency
- multilingual support (100+ languages, outstanding English and Chinese performance)
- code support
- long-context support
βοΈ Usage
- Install mxbai-rerank
pip install mxbai-rerank
- Inference
from mxbai_rerank import MxbaiRerankV2
model = MxbaiRerankV2("mixedbread-ai/mxbai-rerank-base-v2")
query = "Who wrote 'To Kill a Mockingbird'?"
documents = [
"'To Kill a Mockingbird' is a novel by Harper Lee published in 1960. It was immediately successful, winning the Pulitzer Prize, and has become a classic of modern American literature.",
"The novel 'Moby-Dick' was written by Herman Melville and first published in 1851. It is considered a masterpiece of American literature and deals with complex themes of obsession, revenge, and the conflict between good and evil.",
"Harper Lee, an American novelist widely known for her novel 'To Kill a Mockingbird', was born in 1926 in Monroeville, Alabama. She received the Pulitzer Prize for Fiction in 1961.",
"Jane Austen was an English novelist known primarily for her six major novels, which interpret, critique and comment upon the British landed gentry at the end of the 18th century.",
"The 'Harry Potter' series, which consists of seven fantasy novels written by British author J.K. Rowling, is among the most popular and critically acclaimed books of the modern era.",
"'The Great Gatsby', a novel written by American author F. Scott Fitzgerald, was published in 1925. The story is set in the Jazz Age and follows the life of millionaire Jay Gatsby and his pursuit of Daisy Buchanan."
]
# Lets get the scores
results = model.rank(query, documents, return_documents=True, top_k=3)
print(results)
Performance
Benchmark Results
Model | BEIR Avg | Multilingual | Chinese | Code Search | Latency (s) |
---|---|---|---|---|---|
mxbai-rerank-large-v2 | 57.49 | 29.79 | 84.16 | 32.05 | 0.89 |
mxbai-rerank-base-v2 | 55.57 | 28.56 | 83.70 | 31.73 | 0.67 |
mxbai-rerank-large-v1 | 49.32 | 21.88 | 72.53 | 30.72 | 2.24 |
*Latency measured on A100 GPU
Training Details
The models were trained using a three-step process:
- GRPO (Guided Reinforcement Prompt Optimization)
- Contrastive Learning
- Preference Learning
For more details, check our technical blog post.
Paper following soon.
π Citation
@online{rerank2025mxbai,
title={Every Byte Matters: Introducing mxbai-embed-xsmall-v1},
author={Sean Lee and Aamir Shakir and Julius Lipp and Rui Huang},
year={2025},
url={https://www.mixedbread.com/blog/mxbai-rerank-v2},
}