Elastic
Jina AI
Modelli
API
keyboard_arrow_down
Reader
Converti qualsiasi URL in Markdown per un migliore ancoraggio dei LLM.
Embeddings
Embeddings multimodali e multilingue.
Reranker
Reranker per massimizzare la pertinenza dei risultati di ricerca.
MCP
terminal
CLI
article
llms.txt
smart_toy
Agenti
data_object
Schema
menu_book
Documenti
Login
login
Riepilogo Tecnico di jina-colbert-v2
Embedding Asimmetrico in ColBERT
Supporto Multilingue Per Oltre 89 Lingue
Apprendimento della Rappresentazione Matryoshka
Iniziare con Jina ColBERT v2
star
In primo piano
Comunicato stampa
agosto 30, 2024

ColBERT v2 di Jina: Retriever di interazione tardiva multilingue per embedding e reranking

Jina ColBERT v2 supporta 89 lingue con prestazioni di recupero superiori, dimensioni di output controllate dall'utente e una lunghezza di token di 8192.
Dark-themed coding interface displaying English and Japanese characters with "JINA COLBERT V2" highlighted in the center.
Jina AI • 10 minuti letti

Oggi siamo entusiasti di rilasciare Jina ColBERT v2 (jina-colbert-v2), un modello di recupero avanzato a interazione tardiva basato sull'architettura ColBERT. Questo nuovo modello linguistico migliora le prestazioni di jina-colbert-v1-en e aggiunge supporto multilingue e dimensioni di output dinamiche.

Questa nuova versione presenta le seguenti caratteristiche:

  • Prestazioni di recupero superiori rispetto al ColBERT-v2 originale (+6,5%) e alla nostra versione precedente, jina-colbert-v1-en (+5,4%).
  • Supporto multilingue per 89 lingue, con prestazioni elevate nelle principali lingue globali.
  • Dimensioni dell'embedding di output controllabili dall'utente attraverso l'apprendimento di rappresentazioni Matryoshka, permettendo agli utenti di bilanciare flessibilmente efficienza e precisione.

tagRiepilogo Tecnico di jina-colbert-v2

Il report tecnico completo è disponibile su arXiv:

Jina-ColBERT-v2: A General-Purpose Multilingual Late Interaction Retriever
Multi-vector dense models, such as ColBERT, have proven highly effective in information retrieval. ColBERT's late interaction scoring approximates the joint query-document attention seen in cross-encoders while maintaining inference efficiency closer to traditional dense retrieval models, thanks to its bi-encoder architecture and recent optimizations in indexing and search. In this paper, we introduce several improvements to the ColBERT model architecture and training pipeline, leveraging techniques successful in the more established single-vector embedding model paradigm, particularly those suited for heterogeneous multilingual data. Our new model, Jina-ColBERT-v2, demonstrates strong performance across a range of English and multilingual retrieval tasks, while also cutting storage requirements by up to 50% compared to previous models.
arXiv.orgRohan Jha
jina-colbert-v2 jina-colbert-v1-en Original ColBERTv2
Average of 14 English
BEIR tasks
0.521 0.494 0.489
Multilingual 89 languages English-only English-only
Output dimensions 128, 96, or 64 Fixed 128 Fixed 128
Max query length 32 tokens 32 tokens 32 tokens
Max document length 8192 tokens 8192 tokens 512 tokens
Parameters 560M 137M 110M
Model size 1.1GB 550MB 438MB

tagEmbedding Asimmetrico in ColBERT

ColBERT si basa sull'architettura BERT aggiungendo codifica di query e documenti a interazione tardiva e asimmetrica.

What is ColBERT and Late Interaction and Why They Matter in Search?
Jina AI's ColBERT on Hugging Face has set Twitter abuzz, bringing a fresh perspective to search with its 8192-token capability. This article unpacks the nuances of ColBERT and ColBERTv2, showcasing their innovative designs and why their late interaction feature is a game-changer for search.

La natura asimmetrica di ColBERT significa che quando si utilizzano modelli come jina-colbert-v2 o jina-colbert-v1-en, è necessario specificare se si sta incorporando una query, un documento o entrambi (per scopi di riordinamento). Questa flessibilità aggiuntiva migliora le prestazioni rispetto ai modelli di embedding omogenei nelle attività di recupero.

tagSupporto Multilingue Per Oltre 89 Lingue

Jina ColBERT v2 ha ampie capacità multilingue, progettate per soddisfare le esigenze delle moderne applicazioni di recupero informazioni e AI globalizzate. Il corpus di addestramento per jina-colbert-v2 incorpora 89 lingue, con fasi aggiuntive di addestramento per le principali lingue internazionali tra cui arabo, cinese, inglese, francese, tedesco, giapponese, russo e spagnolo, oltre ai linguaggi di programmazione. L'addestramento ha incluso anche un corpus di testi bilingue allineati per sbloccare potenzialità cross-linguistiche, permettendo di abbinare query e documenti in lingue diverse nelle attività di riordinamento/recupero.

Chart of language distribution in training data, highlighting dominance of English and Chinese.
Distribuzione dei dati del dataset di pre-addestramento per lingua (specificata dal codice ISO-639) in scala logaritmica.

Oggi, Jina ColBERT v2 si distingue come l'unico modello di tipo ColBERT multilingue che genera embedding compatti, superando significativamente il recupero basato su BM25 in tutte le lingue testate sui benchmark MIRACL.

Bar chart comparing jina-colbert-v2 and BM25 performance across 20 languages on multilingual tasks.
Prestazioni di Jina ColBERT v2 su 16 lingue, confrontate con BM25, sui benchmark MIRACL.

Inoltre, nelle attività di recupero in lingua inglese, Jina ColBERT v2 supera le prestazioni del suo predecessore jina-colbert-v1-en e del modello ColBERT v2 originale, con prestazioni paragonabili al modello altamente specializzato solo in inglese AnswerAI-ColBERT-small.

Model Name Average score
(14 BEIR English-only benchmarks)
Multilingual Support
jina-colbert-v2 0.521 Multilingual
jina-colbert-v1-en 0.494 English-only
ColBERT v2.0 0.489 English-only
AnswerAI-ColBERT-small 0.549 English-only
Bar chart showing model evaluations on English BEIR datasets, with several models like 'jina-colbert' and 'BM25'.
Valutazione di jina-colbert-v2 su una selezione di dataset solo in inglese dal benchmark BEIR.

tagApprendimento della Rappresentazione Matryoshka

L'apprendimento della rappresentazione Matryoshka è una tecnica per addestrare modelli a supportare diverse dimensioni del vettore di output minimizzando qualsiasi perdita di accuratezza. Addestriamo gli strati nascosti della rete con diverse teste di proiezione lineare — gli strati finali di una rete neurale — ciascuna che supporta una dimensione di output diversa. Jina ColBERT v2 supporta vettori di output di 128, 96 e 64 dimensioni.

Jina ColBERT v2 produce embedding di output a 128 dimensioni per impostazione predefinita, ma può produrre dimensioni di 96 e 64 che hanno prestazioni quasi identiche ma sono rispettivamente più corte del 25% e del 50%.

La tabella seguente mostra le prestazioni nDGC dijina-colbert-v2 per i primi dieci risultati (nDGC@10) su sei dataset del benchmark BEIR. Qui si può vedere che la differenza di prestazioni tra 128 dimensioni e 96 è appena dell'1% e sotto l'1,5% tra 128 e 64 dimensioni.

Dimensioni OutputPunteggio Medio
(nDGC@10 per 6 benchmark)
1280.565
960.558
640.556
Grafico a barre dei benchmark BEIR, che evidenzia i punteggi di dataset come nfcorpus a msmarco, con jina-colbert-v2.64 che eccelle.
Prestazioni di Jina ColBERT v2 a diverse dimensioni di output.

Ridurre la dimensione dei vettori di output permette di risparmiare spazio e velocizzare applicazioni come il recupero di informazioni basato su vettori che devono confrontare diversi vettori o misurare la distanza tra loro.

Questo ha significative conseguenze sui costi, anche solo in termini di riduzione dello storage. Per esempio, usando il calcolatore dei costi cloud di Qdrant, memorizzare 100 milioni di documenti su AWS con vettori a 128 dimensioni per ciascuno ha un costo stimato di 1.319,24 dollari al mese. A 64 dimensioni, questo scende a 659,62 dollari.

tagIniziare con Jina ColBERT v2

Jina ColBERT v2 è disponibile tramite la Jina Search Foundation API, l'AWS marketplace e su Azure. È inoltre disponibile per solo uso non commerciale (CC BY-NC-4.0) tramite Hugging Face.

tagTramite Jina Search Foundation API

Per l'Embedding

Il seguente comando curl mostra come specificare l'input e le opzioni per ottenere embedding di documenti da jina-colbert-v2 tramite la Jina Embeddings API. Per ottenere vettori della dimensione desiderata, specificare 128 o 64 per il parametro dimensions. Questo parametro è opzionale e il valore predefinito è 128.

I documenti di input verranno troncati se più lunghi di 8192 token.

Specificare la propria chiave API Jina nell'header di autorizzazione Authorization: Bearer <YOUR JINA API KEY>:

curl https://api.jina.ai/v1/multi-vector \\
	 -H "Content-Type: application/json" \\
	 -H "Authorization: Bearer <YOUR JINA API KEY>" \\
	 -d '{
	"model": "jina-colbert-v2",
	"dimensions": 128, # Or 64 for half-size vectors
	"input_type": "document", # For query embeddings see below
	"embedding_type": "float",
	"input": [
		"Your document text string goes here", 
		"You can send multiple texts", 
		"Each text can be up to 8192 tokens long"
    ]}'

Per ottenere embedding di query, impostare il parametro input_type su query invece di document. Notare che le query hanno limiti di dimensione molto più severi rispetto ai documenti. Verranno troncate a 32 token. La codifica della query restituirà sempre 32 token, inclusi gli embedding per il padding se inferiore a 32 token.

curl https://api.jina.ai/v1/multi-vector \\
	 -H "Content-Type: application/json" \\
	 -H "Authorization: Bearer <YOUR JINA API KEY>" \\
	 -d '{
	"model": "jina-colbert-v2",
	"dimensions": 128, # Or 64 for half-size vectors	
	"input_type": "query", # This must be specified for query embeddings
	"embedding_type": "float",
	"input": [
		"Your query text string goes here", 
		"You can send multiple texts", 
		"Each query text can be up to 32 tokens long"
    ]}'
Embedding API
Embedding multimodali e bilingue a lungo contesto per la tua ricerca e RAG.

Per il Reranking

Per utilizzare jina-colbert-v2 tramite la Jina Reranker API, passando una query e diversi documenti e ottenendo in cambio punteggi di corrispondenza ordinabili, costruire la richiesta come quella qui sotto:

curl https://api.jina.ai/v1/rerank \\
	 -H "Content-Type: application/json" \\
	 -H "Authorization: Bearer <YOUR JINA API KEY>" \\
	 -d '{
      "model": "jina-colbert-v2",
      "query": "What is the population of Berlin?",
      "top_n": 3,
      "documents": [
        "Berlin's population grew by 0.7 percent in 2023 compared with the previous year. Accordingly, around 27,300 more residents lived in Berlin at the end of the last year than in 2022. Those of 30 to under 40 years old form the numerically largest age group. With roughly 881,000 foreign residents from around 170 nations and an average age of the population of 42.5 years old.",
        "Mount Berlin is a glacier-covered volcano in Marie Byrd Land, Antarctica, 100 kilometres (62 mi) from the Amundsen Sea. It is a roughly 20-kilometre-wide (12 mi) mountain with parasitic vents that consists of two coalesced volcanoes: Berlin proper with the 2-kilometre-wide (1.2 mi) Berlin Crater and Merrem Peak with a 2.5-by-1-kilometre-wide (1.55 mi × 0.62 mi) crater, 3.5 kilometres (2.2 mi) away from Berlin.",
        "Population as of 31.12.2023 by nationality and federal states Land\\tTotal\\tGermans\\tForeigners\\tincluding EU-states number\\t%\\tnumber\\t%",
        "The urban area of Berlin has a population of over 4.5 million and is therefore the most populous urban area in Germany. The Berlin-Brandenburg capital region has around 6.2 million inhabitants and is Germany's second-largest metropolitan region after the Rhine-Ruhr region, and the sixth-biggest metropolitan region by GDP in the European Union.",
        "Irving Berlin (born Israel Beilin) was an American composer and songwriter. His music forms a large part of the Great American Songbook. Berlin received numerous honors including an Academy Award, a Grammy Award, and a Tony Award.",
        "Berlin is a town in the Capitol Planning Region, Connecticut, United States. The population was 20,175 at the 2020 census.",
        "Berlin is the capital and largest city of Germany, both by area and by population. Its more than 3.85 million inhabitants make it the European Union's most populous city, as measured by population within city limits.",
        "Berlin, Berlin ist eine für die ARD produzierte Fernsehserie, die von 2002 bis 2005 im Vorabendprogramm des Ersten ausgestrahlt wurde. Regie führten unter anderem Franziska Meyer Price, Christoph Schnee, Sven Unterwaldt Jr. und Titus Selge."
        ]
    }'

Notare l'argomento top_n, che specifica il numero di documenti che si desidera recuperare. Per esempio, se l'applicazione usa solo la corrispondenza migliore, impostare top_n a 1.

Per snippet di codice in Python e altri linguaggi di programmazione e framework, visitare la pagina della Jina AI Embeddings API, o selezionare jina-colbert-v2 dal menu a tendina sulla pagina della Jina Reranker API.

Reranker API
Massimizza facilmente la rilevanza della ricerca e l'accuratezza RAG.

tagTramite Stanford ColBERT

Puoi anche utilizzare Jina ColBERT v2 come sostituto diretto di ColBERT v2 nella libreria Stanford ColBERT. Specifica semplicemente jinaai/jina-colbert-v2 come fonte del modello:

from colbert.infra import ColBERTConfig
from colbert.modeling.checkpoint import Checkpoint

ckpt = Checkpoint("jinaai/jina-colbert-v2", colbert_config=ColBERTConfig())
docs = ["Your list of texts"] 
query_vectors = ckpt.queryFromText(docs)
⚠️
Devi installare einops e flash_attn per utilizzare il codice sopra.

tagTramite RAGatouille

Jina ColBERT v2 è analogamente integrato in RAGatouille. Puoi scaricarlo e utilizzarlo tramite il metodo RAGPretrainedModel.from_pretrained():

from ragatouille import RAGPretrainedModel

RAG = RAGPretrainedModel.from_pretrained("jinaai/jina-colbert-v2")
docs = ["Your list of texts"]
RAG.index(docs, index_name="your_index_name")
query = "Your query"
results = RAG.search(query)
⚠️
Devi installare einops e flash_attn per utilizzare il codice sopra.

tagTramite Qdrant

Dalla versione 1.10, Qdrant ha aggiunto il supporto per i multi-vector e i modelli late-interaction. Gli utenti esistenti dei motori Qdrant, sia locali che versioni cloud gestite, possono beneficiarne integrando direttamente jina-colbert-v2 utilizzando il client di Qdrant.

Creazione di una nuova Collection utilizzando l'operazione MAX_SIM

from qdrant_client import QdrantClient, models

qdrant_client = QdrantClient(
    url="<YOUR_ENDPOINT>",
    api_key="<YOUR_API_KEY>",
)

qdrant_client.create_collection(
    collection_name="{collection_name}",
    vectors_config={
        "colbert": models.VectorParams(
            size=128,
            distance=models.Distance.COSINE,
            multivector_config=models.MultiVectorConfig(
                comparator=models.MultiVectorComparator.MAX_SIM
            ),
        )
    }
)
⚠️
Impostare correttamente il parametro multivector_config è essenziale per utilizzare i modelli stile ColBERT in Qdrant.

Inserimento di Documenti nelle Collection Multi-vector

import requests
from qdrant_client import QdrantClient, models

url = 'https://api.jina.ai/v1/multi-vector'

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <YOUR BEARER>'
}

data = {
    'model': 'jina-colbert-v2',
    'input_type': 'query',
    'embedding_type': 'float',
    'input': [
        'Your text string goes here',
        'You can send multiple texts',
        'Each text can be up to 8192 tokens long'
    ]
}

response = requests.post(url, headers=headers, json=data)
rows = response.json()["data"]

qdrant_client = QdrantClient(
    url="<YOUR_ENDPOINT>",
    api_key="<YOUR_API_KEY>",
)

for i, row in enumerate(rows):
    qdrant_client.upsert(
        collection_name="{collection_name}",
        points=[
            models.PointStruct(
                id=i,  
                vector=row["embeddings"],  
                payload={"text": data["input"][i]} 
            )
        ],
    )

Interrogazione delle Collection

from qdrant_client import QdrantClient, models
import requests

url = 'https://api.jina.ai/v1/multi-vector'

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <YOUR BEARER>'
}


data = {
    'model': 'jina-colbert-v2',
    "input_type": "query",
    "embedding_type": "float",
    "input": [
        "how many tokens in an input do Jina AI's embedding models support?"
    ]
}

response = requests.post(url, headers=headers, json=data)
vector = response.json()["data"][0]["embeddings"]


qdrant_client = QdrantClient(
    url="<YOUR_ENDPOINT>",
    api_key="<YOUR_API_KEY>",
)

results = qdrant_client.query_points(
    collection_name="{collection_name}",
    query=vector,
)

print(results)

tagRiepilogo

Jina ColBERT v2 (jina-colbert-v2) si basa sulle alte prestazioni di jina-colbert-v1-en ed espande le sue capacità a un'ampia gamma di lingue globali. Con il supporto per diverse dimensioni di embedding, jina-colbert-v2 permette agli utenti di regolare il compromesso precisione/efficienza per adattarsi ai loro casi d'uso specifici, offrendo potenzialmente significativi risparmi in termini di tempo e costi di calcolo.

Questo modello combina tutte queste caratteristiche in un unico pacchetto dal prezzo competitivo, accessibile tramite una API web intuitiva e compatibile con qualsiasi framework di calcolo che supporti le richieste HTTP. Provalo tu stesso con 1 milione di token gratuiti per vedere come può migliorare le tue applicazioni e processi.

Categorie:
star
In primo piano
Comunicato stampa
rss_feed

Per saperne di più
agosto 03, 2026 • 11 minuti letti
jina-reranker-v3.5: Faster Listwise Reranking with Hybrid Attention and Self-Distillation
Jina AI
maggio 12, 2026 • 7 minuti letti
jina-embeddings-v5-omni: Embeddings for Text, Image, Audio and Video
Han Xiao
febbraio 19, 2026 • 7 minuti letti
jina-embeddings-v5-text: New SOTA Small Multilingual Embeddings
Han Xiao
Abstract digital artwork in black and white, featuring scattered dots forming letters in a halftone effect. The central lette
Lingua / tema attuale
Search Foundation
Reader
Embeddings
Reranker
Ottieni la chiave API Jina
Limite di velocità
Chi siamo
Notizie
Scarica il logo Jina
open_in_new
Scarica il logo Elastic
open_in_new
Stato dell'API
Elastic © 2026.SicurezzaTermini & CondizioniPrivacyGestisci i cookieNon vendere né condividere le mie informazioni personali
Questo sito web e tutti i contenuti, software, prodotti e servizi ad esso associati sono destinati esclusivamente all'uso professionale. Non è previsto né raccomandato alcun utilizzo da parte dei consumatori.