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 uno de forma 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 gestionar 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 estén formateados correctamente y se presenten al usuario de manera significativa.
Paso 1. Reconocer la necesidad de una herramienta
Supongamos que un usuario le pregunta a una IA: "¿Qué tiempo hace ahora en San Francisco?". La IA utiliza la comprensión del lenguaje natural para reconocer que se necesitan datos meteorológicos en tiempo real, que no pueden obtenerse de su base de conocimientos estática.
Se asigna automáticamente un ID de llamada de herramienta único a una solicitud realizada por un modelo para utilizar una herramienta, que actúa como un número de seguimiento para vincular la solicitud con su resultado correspondiente.
Paso 2. Seleccionar la herramienta
La IA identifica la mejor herramienta para la tarea, en este caso al comprobar una base de datos meteorológica actual. Este paso ayuda a garantizar que la información recuperada sea precisa y relevante.
Cada herramienta contiene metadatos e información estructurada, como un nombre ú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 salida requeridos.
El modelo selecciona las herramientas necesarias para obtener los datos de entre las disponibles.
Las plantillas son formatos de instrucción estructurados que indican al modelo qué herramienta utilizar y qué argumentos (o “args”) proporcionar, lo que permite interacciones más controladas y estructuradas con las API.
En el contexto de la llamada 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 la llamada a herramientas con generación aumentada por recuperación (RAG) mejora las capacidades de IA al permitir que los sistemas recuperen datos estructurados y datos no estructurados antes de generar outputs 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 minimiza la sobrecarga de la API al consolidar varias recuperaciones en un solo paso, lo que reduce la latencia y los costes. La RAG es más flexible que las llamadas a herramientas tradicionales, ya que permite a los modelos extraer datos de diversas fuentes y se adapta a distintos ámbitos.
A diferencia de la estructura rígida del uso tradicional de herramientas, 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 API puede entender.
Cada herramienta está asociada a funciones específicas que definen su función. Estas funciones se basan en una referencia de API, que proporciona documentación sobre cómo interactuar con la API de la herramienta, incluyendo las URL de los endpoints, 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 permiso 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 solicitados. Normalmente, esta solicitud se envía a través de HTTP a un servidor externo.
Paso 4. Recibir y procesar la respuesta
La herramienta externa devuelve datos. A continuación, la IA debe analizar los resultados. 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 ofrecer una respuesta significativa al usuario.
Paso 5. Presentar la información o tomar medidas
La IA proporciona la información procesada de forma intuitiva. Si la solicitud implica automatización, como establecer un recordatorio, la IA confirmará que se ha programado una acción.
Paso 6. Afinar la búsqueda
Si el usuario solicita más detalles o modificaciones, la IA puede repetir el proceso con una consulta más específica, lo que ayuda a garantizar que continúe perfeccionando su respuesta en función de las necesidades del usuario.
LangChain se suele utilizar en la llamada 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, la gestión de entradas o salidas y la toma de decisiones teniendo en cuenta el contexto.
Por ejemplo, LangChain maneja los argumentos de las funciones con un analizador sintáctico para las consultas de los usuarios, extrae los parámetros relevantes y los formatea correctamente para la herramienta correspondiente. A diferencia de las simples llamadas a herramientas, LangChain puede almacenar y recuperar resultados anteriores de herramientas, lo que permite mejorar las interacciones multivuelta.
LangChain permite combinar varias herramientas en una secuencia, lo que posibilita flujos de trabajo más complejos. Por ejemplo, primero se pueden recuperar datos de la API meteorológica y luego utilizar otra herramienta para recomendar ropa en función de la previsión.