La llamada a herramientas implica varios componentes clave que trabajan juntos para facilitar la interacción de la IA con herramientas externas. Los LLM modernos, incluidos Claude de Anthropic, Llama 3 de Meta, Mistral e IBM® Granite®, poseen capacidades de llamada a herramientas, pero manejan cada una de manera un poco diferente.
El primer componente es el propio modelo de IA, que reconoce cuándo carece de conocimientos suficientes o requiere una función externa para completar una solicitud.
A continuación, el mecanismo de selección de herramientas identifica las dependencias adecuadas para manejar la tarea específica, ya sea un motor de búsqueda, una base de datos o un recurso computacional.
Cuando se selecciona una herramienta, entra en juego la interfaz API, que permite a la IA enviar consultas estructuradas y recibir respuestas en un formato legible por máquina.
Por último, el sistema de procesamiento de respuestas ayuda a garantizar que los datos recuperados tengan el formato correcto y se presenten al usuario de manera significativa.
Paso 1. Reconocimiento de la necesidad de una herramienta
Supongamos que un usuario pregunta a una IA: "¿Cómo está el clima ahora en San Francisco?". La IA usa natural language understanding para reconocer que se necesitan datos meteorológicos en tiempo real, que no pueden derivar de su base de conocimientos estática.
Se asigna automáticamente un ID de llamada a herramienta único a una solicitud realizada por un modelo para usar una herramienta, que actúa como un número de seguimiento para vincular la solicitud con su resultado correspondiente.
Paso 2. Selección de la herramienta
La IA identifica la mejor herramienta para la tarea, en este caso la consulta de una base de datos meteorológica actualizada. Este paso ayuda a garantizar que la información recuperada sea precisa y pertinente.
Cada herramienta contiene metadatos e información estructurada, como un nombre de herramienta único (o nombre de función), que ayuda al modelo y al sistema a identificarla correctamente. Otros metadatos incluyen la descripción, los parámetros de la herramienta y los tipos de entrada y resultados requeridos.
El modelo realiza una elección de herramienta después de determinar que los datos deben obtenerse de una selección de herramientas disponibles.
Las plantillas son formatos de instrucciones estructuradas que le indican al modelo qué herramienta usar y qué argumentos (o “args”) proporcionar, lo que permite interacciones más controladas y estructuradas con las API.
En el contexto de las llamadas a herramientas, los argumentos se refieren a las entradas estructuradas que se pasan a una herramienta o función cuando la inicia un modelo generativo. Estos argumentos definen los parámetros que la herramienta requiere para ejecutarse correctamente.
Combinar las llamadas a herramientas con la generación aumentada por recuperación (RAG) mejora las capacidades de IA al permitir que los sistemas recuperen datos estructurados y no estructurados antes de generar resultados estructurados.
Este enfoque mejora la relevancia contextual al obtener los datos más pertinentes antes de generar una respuesta, lo que conduce a resultados más informados y precisos.
También reduce la sobrecarga de la API al consolidar múltiples recuperaciones en un solo paso, lo que reduce la latencia y los costos. RAG es más flexible que las llamadas a herramientas tradicionales, lo que permite que los modelos extraigan información de diversas fuentes y lo hace altamente adaptable en diferentes dominios.
A diferencia de la estructura rígida del uso de herramientas tradicionales, RAG permite una integración más fluida del conocimiento recuperado con el razonamiento y la generación, lo que da como resultado respuestas más dinámicas y perspicaces.
Paso 3. Construir y enviar una consulta
A continuación, la IA formula una solicitud estructurada que la herramienta o la API pueden entender.
Cada herramienta está asociada a funciones específicas de la herramienta, que definen lo que esta hace. Tales funciones se basan en una referencia de API, que proporciona documentación sobre cómo interactuar con la API de la herramienta, incluidas las URL de los puntos finales, los métodos de solicitud y los formatos de respuesta.
Para acceder a una API externa, muchos servicios requieren una clave de API, un identificador único que otorga licencia para realizar solicitudes. Cuando se selecciona la herramienta y se establecen los parámetros, se realiza una llamada a la API para obtener los datos aplicar. Normalmente, esta solicitud se envía a través de HTTP a un servidor externo.
Paso 4. Recepción y procesamiento de la respuesta
La herramienta externa devuelve datos. A continuación, la IA debe analizar los resultados de la herramienta. En el caso de una solicitud meteorológica, la API puede responder con un objeto de esquema JSON que contenga la temperatura, la humedad y la velocidad del viento. La IA filtra y estructura estos datos para resumir una respuesta significativa para el usuario.
Paso 5. Presentar la información o actuar
La IA entrega la información procesada de manera intuitiva. Si la solicitud implica automatización, como establecer un recordatorio, la IA confirmaría que se ha programado una acción.
Paso 6. Refinamiento de la búsqueda
Si el usuario solicita más detalles o modificaciones, la IA puede repetir el proceso con una consulta ajustada, lo que ayuda a garantizar que continúe refinando su respuesta en función de las necesidades del usuario.
LangChain se utiliza comúnmente en las llamadas a herramientas al proporcionar un marco de código abierto para integrar herramientas externas, API y funciones con LLM. Ayuda a gestionar la ejecución de herramientas, el manejo de entradas o salidas y la toma de decisiones consciente del contexto.
Por ejemplo, LangChain maneja los argumentos de función con un analizador para las consultas de los usuarios, extrayendo parámetros relevantes y dándoles el formato correctamente para la herramienta. A diferencia de las simples llamadas a herramientas, LangChain puede almacenar y recuperar resultados de herramientas anteriores, lo que permite mejores interacciones multiturno.
LangChain permite la combinación de múltiples herramientas en una secuencia, habilitando flujos de trabajo agénticos más complejos. Por ejemplo, primero puede recuperar datos de la API meteorológica y luego usar una herramienta independiente para recomendar qué ropa usar con base en el pronóstico.