Saltearse al contenido

RAG Agent

El RAG Agent es un componente que combina un modelo de lenguaje con una base de datos de documentos para responder preguntas de manera inteligente.
Al configurarlo, puedes elegir qué modelo usar, qué documentos buscar, y habilitar controles de calidad y seguridad para las respuestas generadas.

¿Cómo funciona?

El agente funciona en tres pasos principales:

  1. Recuperación de documentos – Se consultan los retrievers configurados para obtener los fragmentos de texto más relevantes según la pregunta del usuario.
  2. Generación de respuesta – El modelo de lenguaje procesa la pregunta junto con los documentos recuperados y produce una respuesta.
  3. Control de calidad – Opcionalmente, el agente revisa la respuesta para asegurarse de que sea coherente, relevante y libre de alucinaciones, y puede usar búsqueda web como respaldo si no encuentra documentos útiles.

Todo el proceso se ejecuta dentro del entorno de Nappai, sin necesidad de llamar a APIs externas aparte de los servicios de IA que ya estén integrados (por ejemplo, OpenAI, Anthropic, etc.). Los datos se manejan de forma local o en la nube según la configuración de tu instancia de Nappai.

Entradas

  • Model: El modelo de lenguaje que el agente utilizará (por ejemplo, GPT‑4, Claude, etc.).
  • Retrievers: Lista de mecanismos de búsqueda que se usarán para encontrar documentos relevantes.
  • Tools: Herramientas adicionales que el agente puede invocar durante la generación de la respuesta.
  • JSON Structured Output: Si se activa, la respuesta final se formateará como un objeto JSON.
  • Enable Answer Quality Check: Habilita una verificación para asegurar que la respuesta aborde la pregunta original.
  • Enable Document Relevance Grading: Activa la puntuación y filtrado de relevancia de cada documento recuperado.
  • Enable Hallucination Check: Comprueba que la respuesta no contenga información inventada que no esté respaldada por los documentos.
  • Enable Web Search Fallback: Si no se encuentran documentos relevantes, permite que el agente busque en la web.
  • Agent Description: Descripción útil cuando el agente se usa como herramienta o hijo de un esquema supervisor.
  • Agent Name: Nombre del ejecutor que se empleará.
  • Input: Entrada genérica que puede usarse para pasar datos adicionales al agente.
  • Vector DB Metadata Schema: Esquema de metadatos que optimiza la búsqueda en la base de datos vectorial.
  • Adicional Instructions: Instrucciones extra para mejorar la generación de respuestas.
  • Use Memory: Habilita o deshabilita el uso de memoria para mantener contexto entre interacciones.
  • Stream: Si se activa, la respuesta se enviará en tiempo real (streaming).
  • User Prompt: Prompt personalizado que el usuario desea que el agente utilice.
  • User request: Consulta o pregunta del usuario que desencadena la respuesta.
  • Tool Name: Nombre que se mostrará al agente cuando seleccione una herramienta.
  • Tool Description: Descripción detallada de lo que hace la herramienta para que el agente la use correctamente.
  • Tools arguments metadata: Metadatos que definen los argumentos que cada herramienta acepta.

Salidas

  • Agent: Un objeto CompiledGraph que representa el agente construido y listo para ejecutarse.
  • Response: Un mensaje (Message) que contiene la respuesta generada por el agente.
  • Tool: Un objeto Tool que puede ser usado por otros componentes o por el propio agente para realizar acciones externas.

Ejemplo de Uso

  1. Configura el agente

    • Selecciona el modelo GPT‑4.
    • Añade un retriever que busque en la base de datos de políticas internas.
    • Activa Enable Hallucination Check y Enable Answer Quality Check.
    • Deja JSON Structured Output desactivado para obtener una respuesta legible.
  2. Envía una pregunta

    • En el campo User request escribe: “¿Cuál es la política de vacaciones para empleados con más de 5 años?”
  3. Ejecuta el flujo

    • El agente recupera los documentos relevantes, genera la respuesta y la devuelve en el campo Response.
    • Si la respuesta necesita ser usada por otro componente, puedes conectar la salida Agent a un proceso de análisis posterior.

Componentes Relacionados

  • LanggraphBaseRAGAgent – La clase base que provee la lógica común a todos los agentes RAG.
  • VectorDB – Almacén de documentos vectoriales que se consulta mediante los retrievers.
  • ToolKit – Conjunto de herramientas que el agente puede invocar (por ejemplo, enviar correo, crear ticket, etc.).
  • MemoryStore – Módulo opcional que guarda contexto entre interacciones cuando Use Memory está activado.

Consejos y Mejores Prácticas

  • Selecciona retrievers adecuados: Usa un retriever especializado para cada dominio (por ejemplo, legal, técnico, financiero).
  • Activa la verificación de calidad: Habilitar Enable Answer Quality Check y Enable Hallucination Check reduce errores y mejora la confianza del usuario.
  • Usa JSON Structured Output cuando necesites que la respuesta sea consumida por otro sistema automático.
  • Limita la memoria: Si el flujo es corto, desactiva Use Memory para ahorrar recursos.
  • Revisa el esquema de metadatos: Un buen esquema en Vector DB Metadata Schema acelera la búsqueda y mejora la relevancia.

Consideraciones de Seguridad

  • Protege las credenciales: Los modelos de IA suelen requerir claves API; asegúrate de que estén almacenadas en variables de entorno seguras.
  • Control de acceso a documentos: Los retrievers deben respetar los permisos de los usuarios para evitar exponer información confidencial.
  • Auditoría de respuestas: Si el agente se usa en entornos regulados, registra las respuestas generadas para auditoría.
  • Limita la búsqueda web: Cuando habilites Enable Web Search Fallback, configura filtros para evitar contenido inapropiado o no verificado.