JsonAgent
⚠️ 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.
Bienvenido a la documentación del componente JsonAgent en Nappai. Este nodo ha sido diseñado para simplificar la forma en que interactúas con tus archivos de datos estructurados (como JSON o YAML). En lugar de tener que leer y analizar manualmente grandes bloques de código o listas técnicas, JsonAgent funciona como un asistente inteligente que puede “leer” y comprender tus archivos, permitiéndote hacer preguntas en lenguaje natural y obtener respuestas precisas.
¿Cómo funciona?
JsonAgent actúa como un puente entre tus archivos de datos y tu capacidad de consulta natural. Cuando configuras este componente, estás creando un agente autónomo capaz de:
- Leer tus archivos: El agente accede al archivo que tú especifiques (en formato JSON o YAML) y carga su contenido en memoria.
- Entender tus preguntas: Utiliza un Modelo de Lenguaje (LLM) avanzado para procesar las instrucciones que le escribas en un lenguaje cotidiano.
- Responder y explorar: Basándose en la estructura de tu archivo, el agente puede responder preguntas, navegar por claves y valores, verificar tipos de datos y extraer información relevante, todo esto de manera automática y fluida.
Imagina que tienes un archivo de configuración complejo o una lista de datos organizada. Con JsonAgent, en lugar de buscar manualmente los valores, simplemente le preguntas al agente y él se encarga de buscar y responderte, optimizando tu flujo de trabajo en el sistema Nappai.
Entradas
Campos de Entrada
- Model: Es el cerebro del agente. Es un Modelo de Lenguaje (LLM) que procesará tus instrucciones, generará respuestas y decidirá cómo utilizar las herramientas disponibles para analizar tus archivos. Asegúrate de seleccionar un modelo compatible y adecuado para tus necesidades de razonamiento.
- File Path: Es la ruta al archivo de datos que el agente deberá leer y trabajar. Debes proporcionar la ruta de un archivo local en formato
.json,.yamlo.yml. El agente solo podrá consultar y manipular la estructura contenida en este archivo específico.
Salidas
Ejemplo de Respuesta JSON
El componente devuelve un agente listo para ejecutarse y procesar interacciones. A continuación, se muestra un ejemplo de cómo podría estructurarse una respuesta o interacción generada por el agente al consultar datos, lo cual te dará una idea del tipo de datos que podrás mapear en nodos posteriores: json { “agent_status”: “active”, “response_type”: “structured_data”, “example_output”: { “data_point”: “Configuracion_Principal”, “value”: “Habilitado”, “metadata”: { “source”: “archivo_config.yaml”, “timestamp”: “2024-05-20T10:30:00Z”, “confidence”: 0.98 } }, “note”: “Esta es una representacion simplificada. En la practica, el agente devuelve texto estructurado o respuestas directas basadas en tus consultas al archivo.” }
Conectividad
JsonAgent está diseñado para integrarse fluidamente en el ecosistema de flujos de trabajo de Nappai. Generalmente:
- Se conecta a Modelos de Lenguaje (LLM) a través de la entrada Model para proporcionar la capacidad de razonamiento y generación de texto.
- Sus salidas de agente pueden conectarse a nodos de respuesta, herramientas o condiciones que necesiten interactuar con los datos leídos, permitiendo automatizar acciones basadas en el contenido de tus archivos JSON/YAML.
- Se recomienda conectar este agente dentro de flujos que requieran análisis de datos estructurados o automatización basada en la información contenida en archivos de configuración o datos.
Ejemplo de Uso
Imagina que tienes un archivo de configuración config.json que define las preferencias de un sistema de automatización. En lugar de abrir el archivo y buscar manualmente si una opción está habilitada:
- Conectas JsonAgent y seleccionas el modelo de lenguaje adecuado.
- Estableces la File Path apuntando a tu archivo
config.json. - En tu flujo de trabajo, puedes preguntar al agente: “¿Está habilitada la opcion de automatizacion de correos?”.
- El agente leerá el archivo, buscará la clave correspondiente y te devolverá la respuesta exacta, permitiendo que tu flujo continúe basándose en esa información (por ejemplo, activando una rama del flujo si la opción está habilitada).
Notas Importantes
🔒 Use Trusted Spec Files Only 🟡 Loading YAML or JSON from untrusted sources can expose your system to malicious code execution. Only load spec files you trust.
⚠️ Supported File Formats Only 🟢 This component only processes files with .json, .yaml, or .yml extensions. Files with other extensions will be ignored and cause an error.
⚠️ File Path Must Be Valid 🟢 The component expects a valid local file path. If the file is missing or unreadable, the agent will fail to build.
⚠️ Only Local File Paths Accepted 🟡 The component does not support remote URLs or network paths. Provide an absolute or relative path to a local file.
⚠️ Keep Spec File Size Reasonable 🟢 Large spec files can slow down agent initialization. Aim to keep the file under a few megabytes for optimal performance.
📋 LanguageModel Input Required 🟢 An LLM compatible with the LanguageModel interface must be supplied. Without it, the agent cannot function.
📋 Python Dependencies 🟢 The component relies on langchain, langchain_community, and PyYAML. Ensure these packages are installed in your environment.
💡 Use YAML for Readability 🟢 When creating your spec, YAML offers clearer formatting and easier editing. JSON is also supported for compactness.
💡 Validate Spec Before Running 🟢 Test your JSON/YAML spec file with a simple loader to confirm it’s well‑formed. This prevents runtime errors in the agent.
ℹ️ Automatic Logging via Callbacks 🟢 The agent automatically logs its actions and outputs through callbacks. You can monitor these logs to trace the agent’s decisions.
Consejos y Mejores Prácticas
- Asegúrate de que tus archivos JSON o YAML estén bien formados antes de vincularlos al agente para evitar errores en tiempo de ejecución.
- Utiliza un modelo de lenguaje potente para mejorar la precisión en la interpretación de estructuras de datos complejas o anidadas.
- Dado que el componente está deprecado, planifica la migración a alternativas modernas dentro de Nappai para mantener la compatibilidad y seguridad futura.
- Mantén el tamaño de tus archivos de especificación razonable para garantizar un rendimiento óptimo en la inicialización del agente.
Consideraciones de Seguridad
- Archivos de confianza: Nunca cargues archivos JSON o YAML provenientes de fuentes no verificadas, ya que la ejecución de código malicioso podría comprometer tu sistema.
- Credenciales de LLM: Asegúrate de que el Modelo de Lenguaje seleccionado tenga las credenciales y permisos adecuados configurados en tu panel de Nappai.
- Limitaciones de ruta: Solo se aceptan rutas de archivos locales; no se permiten URLs remotas o accesos de red directos.