Siamo entusiasti di rilasciare jina-reranker-v3, il nostro reranker di ultima generazione che offre prestazioni all'avanguardia nei benchmark di recupero multilingue. Questo reranker di documenti con 0,6 miliardi di parametri introduce una nuova interazione last but not late che adotta un approccio fondamentalmente diverso dai metodi esistenti. jina-reranker-v3 funziona in modalità listwise: applica l'attenzione causale tra la query e tutti i documenti candidati all'interno di una singola finestra di contesto, consentendo interazioni cross-document ricche prima di estrarre i vettori modello contestuali dal token finale di ogni documento. Il nostro nuovo modello raggiunge 61,94 nDCG@10 su BEIR, superando Qwen3-Reranker-4B pur essendo 6 volte più piccolo.
| 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 |



tagArchitettura del modello
jina-reranker-v3 è costruito sul backbone Qwen3-0.6B, un modello transformer solo decoder con auto-attenzione causale. Il modello elabora più documenti e query contemporaneamente, estraendo i vettori modello contestuali in posizioni di token designate per un calcolo efficiente della somiglianza.
| 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 |
Data una query e un insieme di documenti candidati, jina-reranker-v3 elabora l'attività di reranking con un modello di prompt specializzato che consente interazioni cross-document all'interno di un singolo passaggio in avanti. La costruzione dell'input segue un formato specifico:
<|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>
<passage id="2">
[DOCUMENT_2]<|doc_emb|>
</passage>
...
<passage id="k">
[DOCUMENT_k]<|doc_emb|>
</passage>
<query>
[QUERY]<|query_emb|>
</query>
</query>
<|im_end|>
<|im_start|>assistant
<think></think>Ogni documento è racchiuso in tag di passaggio con ID sequenziali, consentendo chiari confini del documento all'interno della finestra di contesto condivisa. Il modello elabora fino a 64 documenti contemporaneamente all'interno della sua capacità di contesto di 131K token. Per raccolte di documenti più grandi, l'elaborazione avviene in batch mantenendo la coerenza della query tra i batch.
La query appare due volte nella struttura di input: una volta all'inizio per le istruzioni dell'attività e una volta alla fine per l'elaborazione finale dell'attenzione. Questo doppio posizionamento consente alla posizione finale della query di prestare attenzione a tutti i documenti precedenti attraverso l'attenzione causale. Due token speciali critici contrassegnano le posizioni di estrazione dei vettori modello: il token <|doc_emb|> è posizionato dopo ogni documento per contrassegnare i punti di estrazione dei vettori modello del documento, mentre il token <|query_emb|> è posizionato dopo la query finale per contrassegnare il punto di estrazione dei vettori modello della query. Questi vettori modello catturano sia la semantica del documento locale che il contesto cross-document globale attraverso il meccanismo di auto-attenzione causale condiviso.
Chiamiamo questa interazione query-documento "last but not late". È "last" perché <|doc_emb|> è posizionato come token finale di ogni documento. È "not late" perché, a differenza dei modelli di interazione tardiva come ColBERT che codificano separatamente i documenti prima della corrispondenza multi-vettore, consentiamo interazioni query-documento e documento-documento all'interno della stessa finestra di contesto durante il passaggio in avanti.
Infine, un proiettore MLP a due livelli con attivazione ReLU mappa gli stati nascosti a 1024 dimensioni in uno spazio di ranking a 256 dimensioni. Il punteggio di rilevanza viene calcolato utilizzando la similarità del coseno tra l'embedding della query proiettata e ogni embedding del documento proiettato. Questo produce un punteggio di rilevanza per ogni documento nel set di input.
tagInizia
tagTramite API
Il modo più semplice per utilizzare jina-reranker-v3 è tramite la nostra 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
},
...
]
}Il campo relevance_score indica la rilevanza di ciascun documento per la query, con punteggi più alti che indicano una maggiore rilevanza.
tagTramite transformers
from transformers import AutoModel
model = AutoModel.from_pretrained(
'jinaai/jina-reranker-v3',
dtype="auto",
trust_remote_code=True,
)
model.eval()Ora puoi utilizzare la funzione rerank del modello per calcolare i punteggi di rilevanza per una query e un elenco di documenti:
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()
tagConclusione
jina-reranker-v3 è un nuovo reranker listwise multilingue con 0,6 miliardi di parametri che introduce l'interazione last but not late per un efficiente reranking dei documenti. I documenti possono interagire tra loro durante la codifica, stabilendo un'interazione che informa il ranking finale.
Una delle principali preoccupazioni è se tale interazione sia resiliente alla permutazione dell'input, ovvero, se mescoliamo l'ordine dell'input, i ranking rimarranno gli stessi? Lo abbiamo testato con una query contro 110 documenti candidati utilizzando la permutazione casuale e abbiamo tracciato la varianza in ogni posizione di ranking nella figura seguente.

La scoperta fondamentale è che le posizioni di vertice mostrano un'eccellente stabilità. I ranking 1-10 mostrano una varianza minima, con i documenti più rilevanti che si classificano costantemente in cima, indipendentemente dall'ordine di input. Questo è fondamentale per nDCG@10 e metriche top-k simili. I documenti irrilevanti rimangono costantemente in fondo, creando una chiara separazione tra contenuti rilevanti e irrilevanti.
La sezione centrale mostra uno scambio di posizione significativo, che è previsto e accettabile. Il modello utilizza l'auto-attenzione causale e codifica diverse informazioni contestuali in base a ciò che appare prima di esse nella sequenza.
In pratica, dove ci preoccupiamo dei risultati più importanti, tale comportamento è del tutto accettabile. La nostra valutazione mostra che jina-reranker-v3 sovraperforma le nostre generazioni precedenti, tra cui jina-reranker-v2-base-multilingual e jina-colbert-v2, così come alternative molto più grandi come Qwen3-Reranker-4B e jina-reranker-m0, confermando ulteriormente questo.








