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?
-
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. -
Creación del toolkit
Con la especificación cargada, se crea unJsonToolkit
. Este toolkit contiene las funciones que el agente puede usar para leer, escribir y validar datos JSON. -
Construcción del agente
Se llama acreate_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. -
Callbacks y registro
El agente se configura con unAgentAsyncHandler
que envía eventos de registro a la interfaz de Nappai, permitiendo ver el progreso y los mensajes generados en tiempo real.
Entradas
Entrada | Descripción |
---|---|
Model | Selecciona el modelo de lenguaje que el agente utilizará para generar respuestas. |
File Path | Ruta al archivo JSON o YAML que contiene la especificación del agente. |
Handle Parse Errors | Indica si el agente debe intentar corregir errores de análisis en la respuesta JSON. |
Input | Texto o datos que el agente procesará. |
Max Iterations | Número máximo de iteraciones que el agente puede realizar antes de detenerse. |
Verbose | Activa la salida detallada de logs para depuración. |
Salidas
Salida | Tipo de dato | Descripción |
---|---|---|
Agent | AgentExecutor | Objeto que representa al agente construido; se puede ejecutar directamente en el flujo de trabajo. |
Response | Message | Mensaje generado por el agente, normalmente en formato JSON. |
Ejemplo de Uso
- Añade el componente a tu flujo de trabajo en el dashboard de Nappai.
- 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
yVerbose
según tus necesidades.
- Selecciona el modelo de lenguaje (por ejemplo,
- 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.