Multi Query Retriever
Multi Query Retriever pide a un modelo que escriba la pregunta de varias maneras distintas, busca con cada una en otro buscador y junta los resultados. Ayuda cuando los usuarios preguntan con palabras distintas a las de tus documentos.
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
- Las preguntas de tus clientes son cortas, ambiguas o usan sus propias palabras.
- La búsqueda normal se pierde documentos que sí responden, o no los pone primero.
Configuración
| Campo | Qué hace |
|---|---|
| Search Query | La pregunta original. |
| Number of Questions | Cuántas versiones de la pregunta escribe el modelo. Cada una es una búsqueda en Base Retriever. Por defecto, 3. |
| Include Original query | Busca también con la pregunta tal y como se escribió. Activado por defecto. |
| Base Retriever (obligatorio) | El buscador en el que se busca cada versión, por ejemplo la salida Retriever de una base vectorial. |
| Model (obligatorio) | El modelo que escribe las versiones. Basta con uno rápido y barato. |
Opciones avanzadas
| Campo | Qué hace |
|---|---|
| Number of Results | Cuántos resultados devuelve como máximo Search Results: los de la primera versión y después los nuevos de cada versión siguiente. Por defecto, 20. |
| Prompt | Tus propias instrucciones para escribir las versiones, si las de serie no te sirven. Usa {question} donde va la pregunta y {number_of_questions} para cuántas escribir. Vacío: las instrucciones de serie. |
Resultado
- Retriever: el buscador, para conectarlo a componentes que piden un buscador, como Local Rerank u otro de esta familia.
- Search Results: los fragmentos encontrados para Search Query, que puedes pasar a un prompt o a un agente. El registro de cada ejecución muestra las preguntas con las que se buscó.
Uso como herramienta de un agente
Conecta Multi Query Retriever a la entrada Tools de un Agent y el agente buscará por su cuenta: él escribe Search Query con la pregunta. En la pestaña Tool, Tool Name y Tool Description son el nombre y la explicación con los que el agente reconoce la herramienta. Por defecto se llama multi_query_search; cambia la descripción para decir qué hay en tus documentos.
Ejemplo
Un banco quiere que su asistente encuentre la política correcta aunque el cliente pregunte «¿qué pasa si pierdo la tarjeta?».
- Conecta la salida Retriever de su base de políticas a Base Retriever y un modelo a Model.
- Conecta el componente a Tools del agente.
El registro de la ejecución muestra las preguntas buscadas, por ejemplo «procedimiento ante pérdida o robo de tarjeta», «cómo bloquear una tarjeta bancaria perdida» y la original.
Cifras medidas
Medido el 17 de octubre de 2026 sobre una base de conocimiento de prueba (9 documentos de un servicio técnico ficticio, 40 preguntas; DeepSeek como modelo, 3 versiones, buscador base con 5 resultados). Es un único conjunto sintético: muestra cómo se comporta la técnica, no una promesa para tus datos.
- Con las preguntas dichas con otras palabras que las de los documentos, la respuesta correcta salió la primera en el 90 % al 100 % de las preguntas según la ejecución (el modelo no siempre escribe las mismas versiones), frente al 80 % de la búsqueda normal. Ya estaba entre las cinco primeras en todas.
- Con otros tipos de pregunta (códigos exactos, filtros) no mejoró a la búsqueda normal.
- Cuesta una llamada al modelo por pregunta: alrededor de 1,2 segundos.
Vídeo
Este vídeo muestra cómo Multi Query Retriever encuentra una respuesta que la búsqueda normal no ve cuando la pregunta usa otras palabras, y cómo la compresión deja solo los resultados útiles.
Lo que ves en el vídeo:
- Una pregunta dicha con otras palabras, del tipo «si una reparación se vuelve a estropear a los pocos meses, ¿me lo cobráis otra vez?». La búsqueda normal no trae el apartado de la garantía de las reparaciones.
- Multi Query Retriever escribe 3 versiones de la pregunta y busca también con la original: ahora sí encuentra ese apartado.
- El registro de la ejecución muestra las preguntas con las que buscó.
- Contextual Compression Retriever, con un modelo que revisa 10 resultados y descarta los que no responden, se queda solo con unos pocos: el registro dice cuántos encontró y cuántos conservó.
Componentes relacionados
- Local Rerank: reordena por relevancia los resultados juntados.
- Chroma DB: una base vectorial de la que pueden partir estos buscadores.
Para ver cómo se combinan las técnicas de búsqueda, consulta Técnicas de búsqueda en la guía de RAG.