Saltearse al contenido

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:

  1. Leer tus archivos: El agente accede al archivo que tú especifiques (en formato JSON o YAML) y carga su contenido en memoria.
  2. Entender tus preguntas: Utiliza un Modelo de Lenguaje (LLM) avanzado para procesar las instrucciones que le escribas en un lenguaje cotidiano.
  3. 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, .yaml o .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:

  1. Conectas JsonAgent y seleccionas el modelo de lenguaje adecuado.
  2. Estableces la File Path apuntando a tu archivo config.json.
  3. En tu flujo de trabajo, puedes preguntar al agente: “¿Está habilitada la opcion de automatizacion de correos?”.
  4. 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.