ColBERT (Contextualized Late Interaction over BERT) este un model de pionierat care depășește compromisul dintre viteza modelelor bi-encoder și precizia cross-encoderelor. În loc să condenseze un întreg document într-un singur vector dens (single-vector pooling), ColBERT păstrează un vector pentru fiecare token individual din text.
La căutare, se aplică operatorul MaxSim: pentru fiecare token din întrebare, se găsește cel mai similar token din document, iar scorul total este suma acestor maxime locale:
from ragatouille import RAGPretrainedModel
# Încărcare model ColBERTv2 pre-antrenat
RAG = RAGPretrainedModel.from_pretrained("colbert-ir/colbertv2.0")
# Indexare documente cu multi-vectori la nivel de token
RAG.index(
collection=["Documentație de instalare...", "Ghid de securitate rețea..."],
index_name="colbert_index",
max_document_length=256
)
# Căutare cu operatorul MaxSim
results = RAG.search(query="cum configurez firewall-ul?", k=3)
print("Top document:", results[0]["content"])
Modelele derivate (precum ColPali pentru documente PDF vizuale cu tokeni vizuali) extind această paradigmă la analiza directă a paginilor scanate fără OCR intermediar.
Întrebări & Exemple practice:
ColBERT și Late Interaction: Modele Multi-Vectoriale la Nivel de TokenAi o întrebare despre ColBERT și Late Interaction: Modele Multi-Vectoriale la Nivel de Token sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.