

我们很高兴发布 jina-reranker-v3,这是我们最新一代的重排器,可在多语言检索基准测试中提供最先进的性能。这款 0.6B 参数的文档重排器引入了一种新颖的last but not late交互方式,它采用了一种与现有方法截然不同的方法。jina-reranker-v3 以listwise方式工作:它在单个上下文窗口内的查询和所有候选文档之间应用因果注意力机制,从而在从每个文档的最终词元中提取上下文 向量模型 之前实现丰富的跨文档交互。我们的新模型在 BEIR 上实现了 61.94 nDCG@10,优于 Qwen3-Reranker-4B,同时体积缩小了 6 倍。
| Model | Size | BEIR | MIRACL | MKQA | CoIR |
|---|---|---|---|---|---|
| jina-reranker-v3 | 0.6B | 61.94 | 66.83 | 67.92 | 70.64 |
| jina-reranker-v2 | 0.3B | 57.06 | 63.65 | 67.90 | 56.14 |
| jina-reranker-m0 | 2.4B | 58.95 | 66.75 | 68.19 | 63.55 |
| bge-reranker-v2-m3 | 0.6B | 56.51 | 69.32 | 67.88 | 36.28 |
| mxbai-rerank-base-v2 | 0.5B | 58.40 | 55.32 | 64.24 | 65.71 |
| mxbai-rerank-large-v2 | 1.5B | 61.44 | 57.94 | 67.06 | 70.87 |
| Qwen3-Reranker-0.6B | 0.6B | 56.28 | 57.70 | 65.34 | 65.18 |
| Qwen3-Reranker-4B | 4.0B | 61.16 | 67.52 | 67.52 | 73.91 |
| jina-code-embeddings-0.5b | 0.5B | - | - | - | 73.94 |



tag模型架构
jina-reranker-v3 构建于 Qwen3-0.6B 主干之上,这是一个仅解码器的 Transformer 模型,具有因果自注意力机制。该模型同时处理多个文档和查询,在指定的词元位置提取上下文 向量模型,以实现高效的相似性计算。
| Parameter | Value |
|---|---|
| Total Parameters | 0.6B |
| Non-Embedding Parameters | 0.44B |
| Hidden Size | 1,024 |
| Number of Layers | 28 |
| Attention Heads (Q/KV) | 16/8 (GQA) |
| Context Length | 131,072 |
| MLP Projector | 1024→512→256 |
| Final Embedding Size | 256 |
给定一个查询和一组候选文档,jina-reranker-v3 使用专门的 提示词 模板处理重排任务,该模板支持在单个前向传递中进行跨文档交互。输入构造遵循特定格式:
<|im_start|>system
You are a search relevance expert who can determine
a ranking of passages based on their relevance to the query.
<|im_end|>
<|im_start|>user
I will provide you with k passages, each indicated by a numerical identifier.
Rank the passages based on their relevance to query: [QUERY]
<passage id="1">
[DOCUMENT_1]<|doc_emb|>
</passage>
<passage id="2">
[DOCUMENT_2]<|doc_emb|>
</passage>
...
<passage id="k">
[DOCUMENT_k]<|doc_emb|>
</passage>
<query>
[QUERY]<|query_emb|>
</query>
<|im_end|>
<|im_start|>assistant
<think></think>每个文档都包含在带有顺序 ID 的 passage 标签中,从而在共享上下文窗口中实现清晰的文档边界。该模型在其 131K 词元上下文容量内同时处理多达 64 个文档。对于较大的文档集合,处理以批处理方式进行,同时保持各个批次之间的查询一致性。
查询在输入结构中出现两次——一次在开头用于任务指令,一次在结尾用于最终注意力处理。这种双重放置使最终查询位置能够通过因果注意力关注所有前面的文档。两个关键的特殊词元标记了 向量模型 提取位置:<|doc_emb|> 词元放置在每个文档之后,以标记文档 向量模型 提取点,而 <|query_emb|> 词元放置在最终查询之后,以标记查询 向量模型 提取点。这些 向量模型 通过共享的因果自注意力机制捕获局部文档语义和全局跨文档上下文。
我们将这种查询-文档交互称为 "last but not late"。 它是 "last",因为 <|doc_emb|> 被放置为每个文档的最后一个词元。它是 "not late",因为与 ColBERT 等后期交互模型(在多向量匹配之前单独编码文档)不同,我们在前向传递期间在同一上下文窗口中启用查询-文档和文档-文档交互。
最后,一个带有 ReLU 激活函数的两层 MLP 投影器将 1024 维的隐藏状态映射到 256 维的排序空间。相关性评分是通过计算投影后的查询 向量模型 和每个投影后的文档 向量模型 之间的余弦相似度来计算的。这将为输入集中的每个文档生成一个相关性分数。
tag开始使用
tag通过 API
使用 jina-reranker-v3 最简单的方法是通过我们的 Search Foundation API。
curl -X POST \
https://api.jina.ai/v1/rerank \
-H "Content-Type: application/json" \
-H "Authorization: Bearer JINA_API_KEY" \
-d '{
"model": "jina-reranker-v3",
"query": "slm markdown",
"documents": [
...
],
"return_documents": false
}'{
"model":"jina-reranker-v3",
"usage": {
"total_tokens":2813
},
"results":[
{
"index":1,
"relevance_score":0.9310624287463884
},
{
"index":4,
"relevance_score":0.8982678574191957
},
{
"index":0,
"relevance_score":0.890233167219021
},
...
]
}relevance_score 字段表示每个文档与查询的相关性,分数越高表示相关性越大。
tag通过 transformers
from transformers import AutoModel
model = AutoModel.from_pretrained(
'jinaai/jina-reranker-v3',
dtype="auto",
trust_remote_code=True,
)
model.eval()现在,您可以使用模型的 rerank 函数来计算查询和文档列表的相关性得分:
query = "What are the health benefits of green tea?"
documents = [
"Green tea contains antioxidants called catechins that may help reduce inflammation and protect cells from damage.",
"El precio del café ha aumentado un 20% este año debido a problemas en la cadena de suministro.",
"Studies show that drinking green tea regularly can improve brain function and boost metabolism.",
"Basketball is one of the most popular sports in the United States.",
"绿茶富含儿茶素等抗氧化剂,可以降低心脏病风险,还有助于控制体重。",
"Le thé vert est riche en antioxydants et peut améliorer la fonction cérébrale.",
]
# Rerank documents
results = model.rerank(query, documents)
# Results are sorted by relevance score (highest first)
for result in results:
print(f"Score: {result['relevance_score']:.4f}")
print(f"Document: {result['document'][:100]}...")
print()
tag结论
jina-reranker-v3 是一种新型的 0.6B 参数多语言列表式 重排器,它引入了虽然晚但没缺席的交互,用于高效的文档重排序。文档可以在编码期间相互关注,从而建立有助于最终排序的交互。
主要关注的问题之一是,这种交互是否对输入排列具有弹性——也就是说,如果我们打乱输入顺序,排名是否会保持不变?我们使用一个查询对 110 个候选文档进行了随机排列测试,并在下图中标出了每个排名位置的方差。

关键的发现是,排名靠前的位置显示出极好的稳定性。排名 1-10 的方差最小,无论输入顺序如何,最相关的文档始终排名靠前。这对于 nDCG@10 和类似的 top-k 指标至关重要。不相关的文档始终位于底部,从而在相关内容和不相关内容之间形成清晰的分隔。
中间部分显示了显著的位置交换,这是预期且可以接受的。该模型使用因果自注意力,并根据序列中它们之前出现的内容对不同的上下文信息进行编码。
在实践中,我们关心的是最靠前的结果,因此这种行为是完全可以接受的。我们的评估表明,jina-reranker-v3 的性能优于我们之前的几代产品,包括 jina-reranker-v2-base-multilingual 和 jina-colbert-v2,以及更大的替代品,例如 Qwen3-Reranker-4B 和 jina-reranker-m0,进一步证实了这一点。






