Multi Vector Retriever
Bienvenido al componente Multi Vector Retriever. Este nodo está pensado para ayudarte a encontrar información importante dentro de tus bases de conocimiento de manera rápida y precisa. Piensa en él como un bibliotecario inteligente que, en lugar de buscar solo por palabras clave, utiliza un índice maestro (almacén padre) para encontrar referencias exactas y luego extrae el contenido completo de los documentos reales (almacén hijo) donde se guardan tus datos.
¿Cómo funciona?
Cuando realizas una búsqueda, este componente actúa en dos pasos sencillos:
- Búsqueda inicial: Utiliza un almacén principal para filtrar documentos basándose en metadatos (como etiquetas, fechas o identificadores). Esto permite localizar rápidamente dónde se encuentra la información relevante sin leer todo el contenido.
- Recuperación completa: Una vez identificadas las referencias, accede al almacén secundario para obtener el texto real y completo de esos documentos.
- Procesamiento: Transforma los documentos encontrados en un formato listo para que los siguientes nodos del flujo puedan leerlos, responder preguntas o generar reportes. Todo esto ocurre de forma rápida y sin bloquear otras tareas en el panel.
Entradas
Los siguientes campos están disponibles para configurar este componente. Asegúrate de conectar los nodos correspondientes y escribir los valores directamente en el panel:
- ID Key: Es la referencia que conecta el índice principal con los documentos reales. Por defecto se utiliza
"id". - Search Query: El texto o mensaje que deseas buscar en tus documentos.
- Parent Vector Store: Almacén principal que contiene los metadatos y referencias necesarias para iniciar el filtrado.
- Vector Store: Almacén secundario donde se guarda el contenido real y completo de los documentos.
- Number of Results: Define cuántos documentos se devolverán. Por defecto es
5. Esta opción está marcada como avanzada y se recomienda usarla con cuidado.
Salidas
El componente produce dos resultados que podrás usar en el resto de tu flujo:
- Retriever: Expone la configuración del buscador. Útil si necesitas reutilizar la misma lógica de búsqueda en otros nodos sin volver a configurarla.
- Results: Devuelve la lista de documentos recuperados, ya formateados y listos para ser leídos, resumidos o mostrados en la interfaz.
Ejemplo de Respuesta JSONjson
[ { “id”: “doc_01”, “content”: “Guía de configuración del sistema Nappai: cómo ajustar los parámetros de automatización…”, “metadata”: { “source”: “manual_usuario.pdf”, “category”: “automatización”, “parent_id”: “meta_01” } }, { “id”: “doc_02”, “content”: “Proceso de validación de datos: pasos para verificar la integridad de los registros…”, “metadata”: { “source”: “reglas_negocio.docx”, “category”: “gestión_datos”, “parent_id”: “meta_02” } } ]
Conectividad
Lógicamente, las salidas de este componente se conectan a nodos de procesamiento de lenguaje (como generadores de respuestas con IA), resumizadores, historiales de chat o nodos de exportación de datos. Las entradas, por su parte, deben estar vinculadas a nodos creados previamente que almacenen y procesen tus documentos (Vector Stores). Esta conexión asegura que el flujo siga la estructura típica de RAG (Generación Aumentada por Recuperación), donde primero se busca la información exacta y luego se utiliza para generar respuestas o acciones.
Ejemplo de Uso
Imagina que estás creando un flujo de automatización para soporte técnico en Nappai:
- Un usuario escribe una consulta en el panel: “¿Cómo configuro las alertas automáticas?”
- Conectas esa consulta al campo Search Query del Multi Vector Retriever.
- El componente busca en tu base de conocimiento, recupera 5 manuales o artículos relevantes y los devuelve en Results.
- Envías esos resultados a un nodo de IA para que redacte una respuesta clara y personalizada.
- La respuesta final se muestra en el dashboard o se envía por correo/Slack automáticamente.
Notas Importantes
🔒 Protect Sensitive Documents 🟡 Ensure that the parent and child vector stores are secured with proper access controls. Search queries expose document content, so only authorized users should have access.
⚠️ Component is in Development 🟡 This MultiVectorRetriever is flagged as a development component. Some features may change or be unsupported in future releases, so use it with caution in production.
📋 Provide Both Parent and Child Vector Stores 🔴 The component needs a parent vector store containing the main documents and a child vector store containing related documents. Both must be connected and properly indexed before use.
📋 Match Child Document ID Field 🔴 The “ID Key” (key_id) must match the field name used in the child vector store to identify documents. If they differ, the retriever will not find any related documents.
💡 Use Specific, Contextual Queries 🟢 To improve relevance and reduce noise, craft detailed search queries rather than generic keywords. This helps the retriever match documents more accurately.
💡 Set a Reasonable Number of Results 🟢 The default of 5 results balances speed and usefulness. Increasing this number too high can slow down searches or consume more memory.
⚙️ Advanced Number of Results Option 🟡 The advanced input for “Number of Results” should be used only when you need more than the default. Misconfiguring it may lead to unexpected performance issues.
ℹ️ Search Results Returned as Data Objects 🟢 The search_documents output delivers results as a list of Data objects, which can be passed directly to other components or displayed in the UI.
Consejos y Mejores Prácticas
- Mantén las consultas claras y específicas para obtener resultados más precisos.
- Verifica que tus documentos estén correctamente indexados antes de ejecutar búsquedas.
- Utiliza el campo Number of Results con precaución; incrementarlo más allá de 5 puede afectar el rendimiento si no es estrictamente necesario.
- Revisa los metadatos en el almacén padre para asegurar que las referencias coincidan con el formato esperado.
Consideraciones de Seguridad
Dado que este componente expone el contenido de documentos almacenados durante la recuperación, es fundamental contar con controles de acceso adecuados en ambos almacenes vectoriales. Solo el personal autorizado debe tener permisos para consultar o modificar la información contenida en los vectores. En entornos de Nappai, recomiendo habilitar la auditoría de accesos y restringir el uso de este nodo a flujos que manejen datos permitidos, evitando su integración con fuentes sensibles sin validación previa.