Sentence Transformers v6.0 Adds Multi-Vector Embedding Models
Hugging Face's Sentence Transformers v6.0 introduces MultiVectorEncoder for ColBERT-style late interaction retrieval, supporting text and visual document…
Hugging Face's Sentence Transformers v6.0 introduces MultiVectorEncoder for ColBERT-style late interaction retrieval, supporting text and visual document…
Sentence Transformers v6.0 gains a fourth model type, MultiVectorEncoder
Any PyLate checkpoint and any Stanford-NLP ColBERT checkpoint loads straight into it
colpali-engine models for visual document retrieval can be used too
a multi-vector model keeps one vector per token and scores query against document with MaxSim
Hugging Face announced that Sentence Transformers v6.0 adds a fourth model type, MultiVectorEncoder, for ColBERT-style late interaction retrieval. This new type allows any PyLate checkpoint and any Stanford-NLP ColBERT checkpoint to load directly into the library. Colpali-engine models for visual document retrieval can also be used through the same API. The update brings late interaction capabilities that were previously handled by the separate PyLate library into Sentence Transformers itself.
Multi-vector models keep one vector per token instead of compressing a whole text into a single vector. This preserves token-level matching information, which usually means stronger retrieval at the cost of a bigger index. The approach is described as state of the art for visual document retrieval, where a text query is matched against page images directly with no OCR step. For practical AI work, this offers a middle ground between dense bi-encoders and cross-encoders, with offline indexing and richer query-document interaction.
The blog post includes runnable examples that work with a plain pip install of sentence-transformers. It reports that encoding 4,874 Natural Questions passages with lightonai/LateOn produced 608,414 token vectors, averaging 124.8 per passage. The same vectors take 92 MB as a fast-plaid index. The post also shows that several vector databases index and score multi-vectors natively, including Qdrant since v1.10, Weaviate since v1.29, and Milvus since v2.6.4.
The post notes that visual document retrieval models are an exception to direct loading. ColPali-family checkpoints ship in colpali-engine's own format, which carries no information Sentence Transformers can use, so each one needs a small configuration added to its repository before it loads. Most of that work is done and waiting to be merged, but the current state varies by model. The list of models with the multi-vector tag on the Hub is described as still growing.
A multi-vector model, also called a late-interaction or ColBERT-style model, keeps one vector per token instead of compressing a whole text into a single vector. It scores queries against documents using the MaxSim operator, which compares every query token against every document token. This preserves token-level matching information that a single-vector model has to average away.
Dense bi-encoders encode documents once and query fast but compress all information into one vector. Cross-encoders are accurate but require re-encoding every document for each query. Late interaction sits in between: documents are encoded independently and indexed offline, but scoring compares every query token against every document token, leaving more room for interaction.