Sentence Transformers v6.0 añade `MultiVectorEncoder`, un cuarto tipo de modelo que introduce recuperación de interacción tardía al estilo ColBERT en la misma biblioteca que maneja bi-encoders densos, modelos dispersos y rerankers cross-encoder. Los modelos PyLate, ColBERT de Stanford-NLP y modelos visuales colpali-engine se cargan con un único comando: `pip install -U sentence-transformers`.

Los modelos densos enfrentan un problema de compresión. Un vector de 768 dimensiones debe representar toda entidad, cláusula y cuantificador en un texto. Una consulta como "sofá verde con patas de madera y cojines redondeados" colapsa en un único punto—entonces un sofá verde con patas equivocadas obtiene una puntuación cercana al que querías. `MultiVectorEncoder` evita esto proyectando cada token a 128 dimensiones y conservando todos ellos. Un pasaje de 9 tokens se convierte en una matriz 9×128, no en un vector 1×128.

La puntuación utiliza MaxSim: para cada token de consulta, encuentra su mayor similitud de coseno contra cualquier token de documento, luego suma esos máximos. Las incrustaciones de token están L2-normalized, por lo que cada producto punto cae en [−1, 1], y los totales caen dentro de [−num_query_tokens, num_query_tokens]. Al codificar "Where do penguins live?" contra "Penguins inhabit Antarctica." con `lightonai/mLateOn`, el token de consulta "live" encuentra similitud de coseno de 0.94 en "inhabit"—sin caracteres compartidos, pura alineación contextual. BM25 falla completamente aquí. Los modelos densos encajan "live" en un vector compartido que acomoda cada otro token; la especificidad se pierde bajo compresión con pérdidas.

Los modelos multi-vector preservan coincidencia de grano fino en ambas direcciones. Cuando importa la coincidencia exacta—un código de producto, un nombre de función, un apellido raro—el token permanece aislado en tiempo de puntuación. Los modelos densos lo mezclan con el pasaje durante la codificación. MaxSim no; cada token se compara independientemente contra el documento en tiempo de recuperación.

La ubicación en la pila de recuperación importa. Un cross-encoder pasa tanto la consulta como el documento a través del modelo en conjunto, lo que es preciso pero requiere recodificar cada documento para cada consulta. Un bi-encoder utiliza un producto punto entre dos resúmenes finalizados e intercambia precisión por velocidad. `MultiVectorEncoder` se ubica entre: documentos se codifican offline e indexan, pero la puntuación en tiempo de consulta compara cada token de consulta contra cada token de documento. El índice crece, pero los documentos no necesitan recodificación por consulta.

Los equipos limitados en tamaño de índice pueden usar retrieve-and-rerank: ejecutar recuperación densa de primera etapa para obtener los top-K candidatos, luego usar `MultiVectorEncoder` para repuntuar esa lista corta. El índice permanece pequeño; la calidad de ranking de interacción tardía se aplica solo donde cuenta. La biblioteca soporta ambos modos desde la misma API.

La recuperación de documentos visuales es un caso de uso de primera clase. Los modelos ColPali-engine se cargan directamente en `MultiVectorEncoder`, permitiendo que consultas de texto coincidan imágenes de página sin OCR—actualmente el estado del arte para recuperación de imagen de documento. Token pooling comprime el índice agrupando incrustaciones de token a nivel de palabra u oración, intercambiando calidad de ranking por almacenamiento reducido.

La alineación MaxSim muestra exactamente qué token de consulta coincidió con qué token de documento, un beneficio práctico para interpretabilidad. Los ingenieros depurando fallos de recuperación pueden leer esa alineación directamente en lugar de mirar una puntuación de similitud escalar opaca—algo que los bi-encoders densos no pueden ofrecer.

Si la precisión de recuperación densa es un cuello de botella en tu pila RAG y la latencia del cross-encoder es prohibitiva, `MultiVectorEncoder` en Sentence Transformers v6.0 es la ruta de menor fricción hacia ranking de interacción tardía en open-source hoy.