Nous sommes ravis de publier jina-reranker-v3, notre **重排器** de dernière génération qui offre des performances de pointe dans les benchmarks de récupération multilingues. Ce **重排器** de documents de 0,6 milliard de paramètres introduit une nouvelle interaction last but not late qui adopte une approche fondamentalement différente des méthodes existantes. jina-reranker-v3 fonctionne en listwise : il applique une attention causale entre la requête et tous les documents candidats dans une seule fenêtre de contexte, ce qui permet de riches interactions entre les documents avant d'extraire les **向量模型** contextuels du **词元** final de chaque document. Notre nouveau modèle atteint 61,94 nDCG@10 sur BEIR, surpassant Qwen3-Reranker-4B tout en étant 6 fois plus petit en taille.
| 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 |



tagArchitecture du modèle
jina-reranker-v3 est construit sur la base de Qwen3-0.6B, un modèle de transformateur basé uniquement sur le décodeur avec une auto-attention causale. Le modèle traite plusieurs documents et requêtes simultanément, extrayant des **向量模型** contextuels à des positions de **词元** désignées pour un calcul efficace de la similarité.
| 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 |
Étant donné une requête et un ensemble de documents candidats, jina-reranker-v3 traite la tâche de **重排器** avec un modèle de **提示词** spécialisé qui permet des interactions entre les documents dans un seul passage direct. La construction de l'entrée suit un format spécifique :
<|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>Chaque document est enveloppé dans des balises de passage avec des identifiants séquentiels, ce qui permet de délimiter clairement les documents dans la fenêtre de contexte partagée. Le modèle traite jusqu'à 64 documents simultanément dans sa capacité de contexte de 131K **词元**. Pour les collections de documents plus importantes, le traitement se fait par lots tout en maintenant la cohérence de la requête entre les lots.
La requête apparaît deux fois dans la structure d'entrée : une fois au début pour les instructions de la tâche et une fois à la fin pour le traitement final de l'attention. Ce double placement permet à la position finale de la requête d'être attentive à tous les documents précédents grâce à l'attention causale. Deux **词元** spéciaux critiques marquent les positions d'extraction des **向量模型** : le **词元** <|doc_emb|> est placé après chaque document pour marquer les points d'extraction des **向量模型** du document, tandis que le **词元** <|query_emb|> est placé après la requête finale pour marquer le point d'extraction des **向量模型** de la requête. Ces **向量模型** capturent à la fois la sémantique locale du document et le contexte croisé global du document grâce au mécanisme d'auto-attention causale partagée.
Nous appelons cette interaction requête-document "last but not late". C'est "last" car <|doc_emb|> est placé comme le **词元** final de chaque document. C'est "not late" car, contrairement aux modèles d'interaction tardive tels que ColBERT qui encodent séparément les documents avant la mise en correspondance multi-vectorielle, nous permettons les interactions requête-document et document-document dans la même fenêtre de contexte pendant le passage direct.
Enfin, un projecteur MLP à deux couches avec activation ReLU mappe les états cachés de dimension 1024 à un espace de classement de dimension 256. Le score de pertinence est calculé à l'aide de la similarité cosinus entre le vecteur modèle de la requête projetée et chaque vecteur modèle de document projeté. Cela produit un score de pertinence pour chaque document dans l'ensemble d'entrée.
tagDémarrage
tagVia l'API
La façon la plus simple d'utiliser jina-reranker-v3 est via notre API Search Foundation.
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
},
...
]
}Le champ relevance_score indique la pertinence de chaque document par rapport à la requête, les scores les plus élevés indiquant une plus grande pertinence.
tagVia transformers
from transformers import AutoModel
model = AutoModel.from_pretrained(
'jinaai/jina-reranker-v3',
dtype="auto",
trust_remote_code=True,
)
model.eval()Vous pouvez maintenant utiliser la fonction rerank du modèle pour calculer les scores de pertinence d'une requête et d'une liste de documents :
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()
tagConclusion
jina-reranker-v3 est un nouveau重排器 multilingue listwise de 0,6 milliard de paramètres qui introduit une interaction last but not late pour un reclassement efficace des documents. Les documents peuvent s'observer les uns les autres pendant l'encodage, établissant une interaction qui informe le classement final.
L'une des principales préoccupations est de savoir si une telle interaction est résistante à la permutation d'entrée — c'est-à-dire, si nous mélangeons l'ordre d'entrée, les classements resteront-ils les mêmes ? Nous avons testé cela avec une requête par rapport à 110 documents candidats en utilisant une permutation aléatoire et avons tracé la variance à chaque position de classement dans la figure ci-dessous.

La conclusion essentielle est que les positions les mieux classées présentent une excellente stabilité. Les rangs 1 à 10 présentent une variance minimale, les documents les plus pertinents étant toujours classés en tête, quel que soit l'ordre d'entrée. Ceci est crucial pour nDCG@10 et les mesures top-k similaires. Les documents non pertinents restent toujours en bas, créant une séparation claire entre le contenu pertinent et le contenu non pertinent.
La section du milieu montre un échange de position important, ce qui est attendu et acceptable. Le modèle utilise l'auto-attention causale et encode différentes informations contextuelles en fonction de ce qui apparaît avant elles dans la séquence.
En pratique, lorsque nous nous soucions des résultats les plus importants, un tel comportement est tout à fait acceptable. Notre évaluation montre que jina-reranker-v3 surpasse nos générations précédentes, y compris jina-reranker-v2-base-multilingual et jina-colbert-v2, ainsi que des alternatives beaucoup plus grandes telles que Qwen3-Reranker-4B et jina-reranker-m0 confirmant davantage cela.








