Interacting with API
Aprende a usar integraciones de API externas con Flowise
La OpenAPI Specification (OAS) define una interfaz estándar e independiente del lenguaje para APIs HTTP. El objetivo de este caso de uso es que el LLM determine automáticamente qué API llamar, mientras mantiene una conversación con estado con el usuario.
OpenAPI Chain
En este tutorial, vamos a usar Klarna OpenAPI
Puedes usar un conversor de JSON a YAML y guardarlo como archivo
.yaml
, y subirlo a OpenAPI Chain, luego probar haciendo algunas preguntas. OpenAPI Chain enviará todas las especificaciones al LLM, y hará que el LLM use automáticamente el método y los parámetros correctos para la llamada a la API.
Sin embargo, si quieres tener una conversación normal, no podrá hacerlo. Verás el siguiente error. Esto es porque OpenAPI Chain tiene el siguiente prompt:
Como lo "forzamos" a siempre encontrar la API para responder la consulta del usuario, en los casos de conversación normal que no son relevantes para la OpenAPI, falla al hacerlo.
Usar este método podría no funcionar bien si tienes una especificación OpenAPI grande. Esto es porque estamos incluyendo todas las especificaciones como parte del mensaje enviado al LLM. Luego dependemos del LLM para determinar la URL correcta, los parámetros de consulta, el cuerpo de la solicitud y otros parámetros necesarios para responder la consulta del usuario. Como puedes imaginar, si tus especificaciones OpenAPI son complicadas, hay una mayor probabilidad de que el LLM alucine.
Tool Agent + OpenAPI Toolkit
Para resolver el error anterior, podemos usar un Agent. Según el cookbook oficial de OpenAI: Function calling with an OpenAPI specification, se recomienda convertir cada API en una tool por sí misma, en lugar de alimentar todas las APIs al LLM como un solo mensaje. Un agent también es capaz de tener una interacción similar a la humana, con la capacidad de decidir qué tool usar dependiendo de la consulta del usuario.
OpenAPI Toolkit convertirá cada una de las APIs del archivo YAML en un conjunto de tools. De esta manera, los usuarios no tienen que crear una Custom Tool para cada API.
Conecta ToolAgent con OpenAPI Toolkit. Aquí, subimos la especificación YAML para la API de OpenAI. El archivo de especificaciones se puede encontrar al final de la página.
¡Vamos a probarlo!
Como puedes notar en el chat, el agent es capaz de mantener una conversación normal y usar la tool apropiada para responder la consulta del usuario. Si estás usando Analytic Tool, puedes ver la lista de tools que convertimos del archivo YAML:
Conclusión
Hemos creado exitosamente un agent que puede interactuar con API cuando es necesario y aún así poder manejar conversaciones con estado con los usuarios. A continuación se encuentran las plantillas utilizadas en esta sección:
Last updated