Saltearse al contenido

OpenAPI Agent

⚠️ 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.

El componente OpenAPI Agent permite a los usuarios de Nappai interactuar con cualquier API que esté descrita mediante un esquema OpenAPI. Al cargar el archivo de especificación y seleccionar un modelo de lenguaje, el componente crea un agente inteligente que puede enviar solicitudes HTTP, procesar respuestas y devolver resultados de forma automática.

¿Cómo funciona?

El componente lee un archivo de especificación OpenAPI (JSON o YAML) y lo convierte en un objeto JsonSpec. Con este objeto y un modelo de lenguaje (LLM) proporcionado por el usuario, crea un toolkit de OpenAPI que sabe cómo construir y enviar peticiones HTTP según la definición del API. El agente, construido con create_openapi_agent, utiliza el LLM para decidir qué llamada hacer y cómo interpretar la respuesta. Finalmente, el agente devuelve un objeto AgentExecutor que puede ser usado para ejecutar la lógica de la API y un mensaje con la respuesta procesada.

Entradas

  • Model: Selecciona el modelo de lenguaje que el agente usará para generar y comprender las solicitudes y respuestas.
  • File Path: Ruta al archivo de especificación OpenAPI (JSON o YAML) que describe la API que quieres usar.
  • Allow Dangerous Requests: Si se activa, el agente podrá hacer peticiones que normalmente se consideran inseguras (por ejemplo, llamadas a endpoints que modifican datos). Úsalo con precaución.
  • Handle Parse Errors: Indica si el agente debe intentar manejar errores de análisis de la respuesta de la API de forma automática.
  • Input: Entrada de datos que el agente usará para construir la solicitud HTTP (por ejemplo, parámetros de consulta o cuerpo de la petición).
  • Max Iterations: Número máximo de iteraciones que el agente intentará antes de detenerse. Controla cuántas veces el agente puede volver a generar una solicitud.
  • Verbose: Si se activa, el agente mostrará información detallada de su proceso interno, útil para depurar.

Salidas

  • Agent: Objeto AgentExecutor que representa al agente construido. Se puede usar para ejecutar la lógica de la API en el flujo de trabajo.
  • Response: Mensaje que contiene la respuesta procesada del agente, listo para ser usado en componentes posteriores.

Ejemplo de Uso

  1. Carga la especificación
    Selecciona un archivo weather_api.yaml que describa un endpoint para obtener el clima actual.

  2. Configura el modelo
    Elige un modelo de lenguaje, por ejemplo gpt-4o-mini.

  3. Define la entrada
    En el campo Input escribe:

    {"city": "Madrid"}
  4. Ejecuta el agente
    Conecta la salida Response a un componente de visualización (por ejemplo, un cuadro de texto) para mostrar la temperatura y la descripción del clima.

Componentes Relacionados

  • LCAgentComponent: Base sobre la que se construye este componente, ofrece funcionalidades comunes para agentes.
  • OpenAPIToolkit: Herramienta que facilita la interacción con APIs OpenAPI dentro de Nappai.

Consejos y Mejores Prácticas

  • Revisa la especificación: Asegúrate de que el archivo OpenAPI esté completo y sin errores antes de cargarlo.
  • Limita las peticiones peligrosas: Activa Allow Dangerous Requests solo cuando sea absolutamente necesario y en entornos seguros.
  • Controla el número de iteraciones: Establece un Max Iterations razonable para evitar bucles infinitos.
  • Usa Verbose para depurar: Cuando algo no funcione, activa Verbose para ver los pasos internos del agente.

Consideraciones de Seguridad

  • El componente puede realizar llamadas HTTP externas; verifica que la API a la que te conectas sea confiable.
  • Si habilitas Allow Dangerous Requests, ten cuidado con endpoints que puedan crear, actualizar o eliminar datos críticos.
  • Mantén tus credenciales y tokens seguros; no los incluyas directamente en el archivo de especificación si es posible.