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.yamlo.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_agentde 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 unAgentAsyncHandlerque 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.yamlque define las funciones JSON que el agente puede usar. - Establece
Handle Parse Errorsen True si quieres que el agente intente corregir errores de formato. - Introduce el texto de entrada que deseas que el agente procese.
- Ajusta
Max IterationsyVerbosesegú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
Verbosesolo cuando necesites depurar: activar logs detallados puede ralentizar la ejecución. - Limita
Max Iterationspara 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
Verbosepara evitar exponer datos sensibles en los logs.