Saltearse al contenido

JsonAgent

El componente JsonAgent permite crear un agente que interpreta y genera respuestas en formato JSON.
Conecta un modelo de lenguaje (LLM) con un conjunto de herramientas definidas en un archivo JSON o YAML, y devuelve un objeto AgentExecutor listo para ser ejecutado dentro del flujo de trabajo de Nappai.

⚠️ ADVERTENCIA DE DEPRECACIÓN

Este componente está deprecado y será eliminado en una versión futura de Nappai. Por favor, migra a los componentes alternativos recomendados.

¿Cómo funciona?

  1. Carga del archivo
    El componente lee el archivo especificado en File Path. Si el archivo termina en .yaml o .yml, se interpreta como YAML; de lo contrario, se trata como JSON. El contenido se convierte en un diccionario que describe la especificación del agente.

  2. Creación del toolkit
    Con la especificación cargada, se crea un JsonToolkit. Este toolkit contiene las funciones que el agente puede usar para leer, escribir y validar datos JSON.

  3. Construcción del agente
    Se llama a create_json_agent de LangChain, pasando el LLM y el toolkit. El agente resultante puede recibir una entrada, procesarla y devolver una respuesta estructurada en JSON.

  4. Callbacks y registro
    El agente se configura con un AgentAsyncHandler que envía eventos de registro a la interfaz de Nappai, permitiendo ver el progreso y los mensajes generados en tiempo real.

Entradas

EntradaDescripción
ModelSelecciona el modelo de lenguaje que el agente utilizará para generar respuestas.
File PathRuta al archivo JSON o YAML que contiene la especificación del agente.
Handle Parse ErrorsIndica si el agente debe intentar corregir errores de análisis en la respuesta JSON.
InputTexto o datos que el agente procesará.
Max IterationsNúmero máximo de iteraciones que el agente puede realizar antes de detenerse.
VerboseActiva la salida detallada de logs para depuración.

Salidas

SalidaTipo de datoDescripción
AgentAgentExecutorObjeto que representa al agente construido; se puede ejecutar directamente en el flujo de trabajo.
ResponseMessageMensaje generado por el agente, normalmente en formato JSON.

Ejemplo de Uso

  1. Añade el componente a tu flujo de trabajo en el dashboard de Nappai.
  2. Configura las entradas:
    • Selecciona el modelo de lenguaje (por ejemplo, gpt-4o).
    • Proporciona la ruta al archivo spec.yaml que define las funciones JSON que el agente puede usar.
    • Establece Handle Parse Errors en True si quieres que el agente intente corregir errores de formato.
    • Introduce el texto de entrada que deseas que el agente procese.
    • Ajusta Max Iterations y Verbose según tus necesidades.
  3. Ejecuta el flujo. El componente devolverá el agente construido y la respuesta generada. Puedes conectar la salida Response a un componente de visualización para mostrar el JSON resultante.

Componentes Relacionados

  • AgentExecutor – Ejecuta el agente creado por JsonAgent.
  • LangChain LLM – Modelo de lenguaje que alimenta al agente.
  • JsonToolkit – Conjunto de funciones JSON que el agente puede invocar.

Consejos y Mejores Prácticas

  • Mantén el archivo de especificación actualizado: cualquier cambio en las funciones JSON debe reflejarse en el archivo YAML/JSON.
  • Usa Verbose solo cuando necesites depurar: activar logs detallados puede ralentizar la ejecución.
  • Limita Max Iterations para evitar bucles infinitos en casos de lógica compleja.
  • Prueba la especificación con un archivo de ejemplo antes de integrarlo en flujos de producción.

Consideraciones de Seguridad

  • Control de acceso al archivo: asegúrate de que solo usuarios autorizados puedan leer o modificar el archivo de especificación.
  • Validación de entrada: aunque el agente puede manejar errores de análisis, siempre valida la entrada antes de enviarla al modelo para evitar inyecciones de código.
  • Registros sensibles: si el modelo devuelve información confidencial, revisa la configuración de Verbose para evitar exponer datos sensibles en los logs.