Saltearse al contenido

Multi Vector Retriever

Multi Vector Retriever busca en fragmentos pequeños, que se encuentran con más precisión, y devuelve el trozo más grande del documento al que pertenece cada uno (una sección o el documento entero), que responde de forma más completa. Varios fragmentos del mismo trozo cuentan una sola vez.

Funciona en dos pasos, cada uno con su propio nodo de este componente:

  1. Prepare Chunks corta tus documentos en fragmentos pequeños que recuerdan su trozo. Los guardas en cualquier base vectorial.
  2. Search busca los fragmentos en esa base y devuelve sus trozos.

Un buscador (retriever) recibe una pregunta y devuelve los fragmentos de documentos que mejor la responden, para que un agente o un modelo conteste con tu información.

Cuándo usarlo

  • Los fragmentos pequeños se encuentran bien pero se quedan cortos para responder: una ficha de producto, un procedimiento de varios pasos, una cláusula de contrato.
  • Quieres que el agente lea la sección completa, no solo el párrafo que coincidió.

Configuración

Operation elige el paso; cada uno muestra sus campos.

Prepare Chunks

CampoQué hace
DocumentsLos documentos que cortar, por ejemplo la salida de un cargador de archivos.
Piece SizeCaracteres del trozo que devuelve una búsqueda. 0: el documento entero. Por defecto, 2000.
Chunk SizeCaracteres de los fragmentos pequeños en los que se busca. Por defecto, 400.
Chunk Overlap (avanzado)Caracteres que comparten dos fragmentos seguidos. Por defecto, 50.

Salida Chunks: conéctala a Ingest Data de una base vectorial (FAISS, Chroma DB, Qdrant…) con Operation en Add. Cada fragmento conserva los datos de su documento más parent_id y parent_text.

CampoQué hace
Search QueryLa pregunta.
Vector StoreLa salida Vector Store de la base que guarda los fragmentos preparados.
Number of Results (avanzado)Cuántos trozos devuelve. Por defecto, 5.
Parent Vector Store (avanzado)Solo si tus trozos están en una segunda base, unidos a los fragmentos por ID Key. Los fragmentos hechos con Prepare Chunks no la necesitan.
ID Key (avanzado)Con Parent Vector Store: el dato del fragmento que guarda el identificador de su trozo. Por defecto, id.

Salidas:

  • Results: los trozos encontrados para Search Query, cada uno con los datos de su documento y el fragmento que coincidió en matched_chunk.
  • Retriever: el buscador, para conectarlo a componentes que piden un buscador, como Local Rerank.

Uso como herramienta de un agente

Conecta el nodo en Search a la entrada Tools de un Agent y el agente buscará por su cuenta: él escribe Search Query con la pregunta. Por defecto se llama document_search; en la pestaña Tool cambia la descripción para decir qué hay en tus documentos.

Ejemplo

Una tienda quiere que su asistente responda con la ficha de producto entera, no con una línea suelta.

  1. Flujo de ingesta: cargador de archivos → Multi Vector Retriever en Prepare Chunks (Piece Size 0, una ficha por documento) → Chunks a Ingest Data de una base FAISS.
  2. Flujo del chat: la misma base FAISS → su salida Vector Store a Vector Store de un Multi Vector Retriever en Search → conectado a Tools del agente.

Cifras medidas

Medido el 17 de octubre de 2026 sobre una base de conocimiento de prueba (9 documentos de un servicio técnico ficticio, 30 preguntas sobre los documentos). Es un único conjunto sintético: muestra cómo se comporta la técnica, no una promesa para tus datos.

ConfiguraciónRespuesta correcta la primeraEntre los 5 primerosTexto por búsqueda (5 primeros)
Búsqueda normal, fragmentos de 800 caracteres, 5 resultados60 %83 %3.100 caracteres
Búsqueda normal, fragmentos de 800 caracteres, 13 resultados–97 % (entre los 13)8.200 caracteres
Multi Vector, fragmentos de 400, trozos de 200060 %93 %8.400 caracteres
Multi Vector, fragmentos de 400, documento entero73 %100 %25.900 caracteres
  • Encuentra más porque cada resultado es más grande: con la misma cantidad de texto, la búsqueda normal con más resultados encontró lo mismo o más.
  • Su valor es que el agente recibe secciones enteras, de una pieza y sin repeticiones, en vez de fragmentos sueltos.
  • Con documentos enteros, 5 resultados eran más de la mitad de esta colección pequeña: esa cifra solo dice que los documentos caben. Usa documentos enteros cuando sean cortos (fichas, preguntas frecuentes).

Vídeo

Este vídeo compara los fragmentos sueltos con la sección completa que devuelve Multi Vector Retriever, en una pregunta por un procedimiento.

Lo que ves en el vídeo:

  1. Un nodo Multi Vector Retriever en Prepare Chunks corta los documentos en fragmentos de 400 caracteres que recuerdan su sección de 2.000, y los guarda en Qdrant.
  2. Otro nodo en Search busca en esos fragmentos y devuelve la sección entera.
  3. A «¿Cómo se cambia la sonda NTC de una Jaltec Brío 2G, paso a paso?», la búsqueda normal devuelve trozos sueltos a los que les faltan pasos.
  4. La búsqueda con secciones devuelve el procedimiento completo, hasta la comprobación final.

Componentes relacionados

  • FAISS: una base vectorial sin servidor para guardar los fragmentos.
  • Local Rerank: reordena los trozos por relevancia.

Para ver cómo se combinan las técnicas de búsqueda, consulta Técnicas de búsqueda en la guía de RAG.