Agentes Impulsados por Llama 3.1: Probando Capacidades de Llamada de Funciones
Explore las capacidades de Llama 3.1 en la llamada de funciones y el uso de herramientas. Aprende a aprovechar las herramientas de observabilidad como LangTrace para monitorear el rendimiento de LLM. Descubre las fortalezas y limitaciones de los diferentes tamaños de modelos Llama en el manejo de tareas complejas.
24 de febrero de 2025

Desbloquea el poder de Llama 3.1 con esta guía completa sobre sus capacidades de llamada de función. Descubre cómo este modelo de lenguaje de vanguardia puede aprovecharse como un agente inteligente, integrándose sin problemas con las API para abordar tareas complejas. Explora los aspectos de observabilidad y obtén información sobre el rendimiento del modelo, lo que te permitirá tomar decisiones informadas para tu próximo proyecto.
Capacidades de Llama 3.1 y el Sistema Agentico de Meta
Configuración de LangTrace para Observabilidad
Prueba de Llamada de Función con Modelos Llama 3.1 70B y 8B
Llamadas de Función Paralelas y Llamadas de Función Secuenciales Anidadas
Dificultades del Modelo Llama 3.1 8B con la Llamada de Función
Modelo Llama 3 Afinado por Groq para Llamada de Función
Conclusión
Capacidades de Llama 3.1 y el Sistema Agentico de Meta
Capacidades de Llama 3.1 y el Sistema Agentico de Meta
Una de las capacidades clave de Llama 3.1 que Meta destacó en el lanzamiento es la llamada de funciones o el uso de herramientas. El autor quiso poner a prueba esta capacidad.
El autor primero configuró las herramientas y las API necesarias, incluida la API de Groq, que proporciona una de las API más rápidas para interactuar con Llama 3.1. Probaron los modelos Llama 3.1 de 70 mil millones y 8 mil millones, así como una versión específica de Groq con ajuste fino del modelo de 70 mil millones.
El autor comenzó con un ejemplo sencillo de una sola llamada de función, y luego pasó a escenarios más complejos que involucraban llamadas de función paralelas y anidadas. Utilizaron la plataforma de observabilidad LangTrace para rastrear el uso de tokens y otras métricas durante los experimentos.
Configuración de LangTrace para Observabilidad
Configuración de LangTrace para Observabilidad
En esta sección, configuraremos LangTrace, una plataforma de observabilidad de código abierto y open-telemetry para aplicaciones de LLM. LangTrace nos permite rastrear la cantidad de solicitudes y tokens que se comunican entre nuestro entorno local y la API de LLM.
Primero, debemos instalar los paquetes requeridos, incluido el SDK de Python de LangTrace, el SDK de Python de Groq y el SDK de Python de OpenAI (aunque no estamos usando el LLM de OpenAI, es una dependencia del SDK de LangTrace).
A continuación, configuramos nuestras claves de API. Para este experimento, no necesitamos estrictamente LangTrace, pero puede proporcionar información valiosa sobre el uso de nuestros tokens. LangTrace es similar en funcionalidad a LangSmith, una plataforma de observabilidad de LangChain, pero admite una gama más amplia de proveedores, incluidos OpenAI, Groq, Cohere y Perplexity.
Prueba de Llamada de Función con Modelos Llama 3.1 70B y 8B
Prueba de Llamada de Función con Modelos Llama 3.1 70B y 8B
El autor comienza destacando el lanzamiento de un sistema agéntico alrededor de la llamada de funciones en Llama 3.1 por parte de Meta. Como el autor no ha configurado el sistema localmente, decide utilizar la API de Groq, que proporciona una de las API más rápidas para interactuar con Llama 3.1.
El autor prueba los modelos Llama 3.1 de 70B y 8B, así como una versión específica de Groq con ajuste fino del modelo de 70B. Utilizan LangTrace, una plataforma de observabilidad de código abierto para aplicaciones de LLM, para rastrear la cantidad de solicitudes y tokens intercambiados entre el entorno local y la API de LLM.
El autor comienza con un ejemplo sencillo, donde el modelo necesita usar una función de "obtener puntajes de juegos" para determinar el ganador de un partido de la NBA. El modelo de 70B realiza esta tarea con éxito, y el autor examina los datos de LangTrace para entender el mecanismo interno.
Llamadas de Función Paralelas y Llamadas de Función Secuenciales Anidadas
Llamadas de Función Paralelas y Llamadas de Función Secuenciales Anidadas
El modelo Llama 3.1 de 70B, en particular, demostró capacidades impresionantes para manejar llamadas de funciones paralelas y llamadas de funciones secuenciales anidadas.
Cuando se le presentó un prompt complejo para planificar un viaje de Nueva York a París, incluyendo verificar el clima, encontrar vuelos, hoteles y atracciones, el modelo de 70B pudo descomponer la tarea y hacer llamadas de funciones paralelas para recopilar la información necesaria. Luego combinó los resultados de las diversas funciones para proporcionar un resumen completo de los detalles del viaje.
El modelo también mostró su capacidad para manejar llamadas de funciones anidadas, donde la salida de una función se utilizaba como entrada de otra. En el escenario de recomendación de películas, el modelo pudo primero seleccionar una película según la preferencia del usuario y luego recomendar un refrigerio y una plataforma de transmisión adecuados para ver la película.
Dificultades del Modelo Llama 3.1 8B con la Llamada de Función
Dificultades del Modelo Llama 3.1 8B con la Llamada de Función
El modelo Llama 3.1 de 8B tuvo dificultades significativas con las tareas de llamada de funciones más complejas en comparación con el modelo más grande de 70B. Algunas observaciones clave:
-
Para la función simple de "obtener puntajes de juegos", el modelo de 8B pudo manejarla sin problemas, al igual que el modelo de 70B.
-
Sin embargo, cuando se trataba de llamadas de funciones paralelas para tareas como la planificación de viajes, el modelo de 8B flaqueó. No pudo proporcionar información completa sobre el clima, los vuelos, los hoteles y las atracciones, a menudo alucinando detalles o sin enumerar las opciones disponibles.
-
Con el conjunto ampliado de funciones, el modelo de 8B tuvo aún más problemas, alucinando información sobre eventos y detalles climáticos que no se solicitaron.
Modelo Llama 3 Afinado por Groq para Llamada de Función
Modelo Llama 3 Afinado por Groq para Llamada de Función
El modelo de 70 mil millones de LLAMA 3.1 de Groq se desempeñó excepcionalmente bien en las pruebas de llamada de funciones y uso de herramientas. Pudo manejar las llamadas de funciones paralelas, así como las llamadas de funciones anidadas con facilidad, demostrando sus sólidas capacidades como sistema agéntico.
En contraste, el modelo de 8 mil millones de LLAMA 3.1 tuvo problemas con estas tareas más complejas, lo que resalta la importancia de utilizar modelos de lenguaje más grandes y capaces para este tipo de aplicaciones.
Sin embargo, el modelo de llamada de funciones especializado de Groq no se desempeñó tan bien como se esperaba, incluso con el ejemplo proporcionado. Esto sugiere que el proceso de ajuste fino de este modelo puede no haber sido tan efectivo como se esperaba.
Preguntas más frecuentes
Preguntas más frecuentes