Cómo potenciar tu LLM con agentes de LangChain
Potencia tu LLM con agentes de LangChain
Los LLM son capaces de realizar muchas hazañas que nos parecen increíbles, pero están limitados por los límites de lo que la IA Generativa originalmente estaba destinada a hacer: generar texto basado en los datos en los que han sido entrenados.
No pueden acceder a ningún servicio en la web para proporcionarnos respuestas más precisas y actualizadas, y en su lugar, están destinados a responder utilizando los datos de entrenamiento que sus creadores pudieron recopilar hace muchos años. No pueden acceder a herramientas tan simples como una calculadora que ayudaría a dar respuestas matemáticas en lugar de tener que memorizar el resultado de cada operación matemática. Dependemos de nosotros para llevar a cabo las acciones que sugieren en el mundo real, y les informamos los resultados.
Para dotar a nuestros LLMs de las capacidades que les faltan para ser realmente poderosos para nosotros, podemos utilizar Agentes.
¿Qué son los Agentes?
Los Agentes son un LLM que se le pide razonar sobre las acciones necesarias para completar una solicitud utilizando un conjunto de herramientas que se le han proporcionado. Un agente se puede usar junto con cualquier LLM. Es simplemente una capa encima de él que construye las indicaciones, indicando al Agente el contexto, su personalidad y las estrategias que debe usar para completar las solicitudes.
Obviamente, el Agente por sí solo no es suficiente. También necesitamos crear/usar herramientas para que el Agente pueda utilizarlas. El Ejecutor del Agente es el tiempo de ejecución que ejecuta tanto el Agente como las herramientas que utiliza. Las herramientas pueden ser simplemente funciones independientes, o pueden venir en colecciones de herramientas llamadas conjuntos de herramientas.
- ElevenLabs lanza Eleven Multilingual v2 un modelo de habla de IA qu...
- Dirigiendo lo Digital AI Generativa en el Cine y el Entretenimiento
- Esta Nueva Investigación de IA Avanza el Análisis de la Estructura ...
Herramientas y Conjuntos de Herramientas
Las herramientas son funciones que realizarán acciones en nombre del LLM. Un agente recibe una lista de herramientas para que las utilice, y solicitará usar una, varias o ninguna. El Ejecutor del Agente ejecutará las herramientas requeridas y le enviará el resultado al Agente. Un ejemplo de una herramienta es la función de búsqueda de Google, que permite a los LLMs buscar información que no tienen utilizando una búsqueda de Google.
Para que el Agente pueda elegir correctamente las herramientas que necesita, esas herramientas tienen que existir, estar implementadas correctamente para el propósito que el Agente las necesita y estar en la lista de herramientas del Agente. Pero lo más importante, estas herramientas deben ser detalladamente descritas para que los Agentes puedan decidir fácilmente si las necesitan y para qué serán útiles.
Los conjuntos de herramientas son simplemente un conjunto de herramientas que generalmente son útiles juntas. Estas herramientas pueden ser útiles para ser utilizadas juntas para lograr un objetivo de varios pasos, o pueden agruparse porque realizan acciones similares o acciones en el mismo dominio. Un ejemplo de un conjunto de herramientas es el conjunto de herramientas de Gmail, que permite a los LLMs leer correos electrónicos, redactar nuevos correos electrónicos y eliminarlos.
¿Qué estrategias utilizan los Agentes?
Después de que se proporciona un conjunto de herramientas al Agente, ¿cómo sabe cuál utilizar? Los Agentes pueden utilizar una variedad de estrategias de ingeniería de indicaciones para hacer que el LLM razonen y decidan sobre las acciones que debe tomar. Algunas prácticas populares de ingeniería de indicaciones se discutieron en el artículo anterior: Ingeniería de Indicaciones.
La estrategia más popular para los agentes es el método ReAct. ReAct utiliza aprendizaje de pocos ejemplos junto con algunos ejemplos de razonamiento de Cadena de Pensamiento. Estos ejemplos contienen:
- Pensamientos transcritos de las estrategias de razonamiento.
- Acciones que permiten al LLM interactuar con su entorno de manera verbal.
- Observaciones obtenidas después de realizar las acciones.
El LLM luego comprende cómo actuar de esta manera e interactuar con sus herramientas y puede aplicarlo a interacciones reales. Un ejemplo de una indicación de ReAct sería:
Cómo utilizar los Agentes de LangChain
LangChain es una biblioteca de Python (también disponible en JS/TS) que es muy útil para comenzar rápidamente a integrar LLMs en tus aplicaciones. Tiene muchas estrategias de indicaciones disponibles de forma predeterminada y también muchos Agentes.
Puedes comenzar a escribir tus propias herramientas utilizando las herramientas de LangChain, como esta (MUY IMPORTANTE: dale una descripción en el docstring de la función; esto será utilizado por el agente para elegir qué herramienta utilizar):
A continuación, utiliza esta herramienta junto con tu agente preferido, también con Langchain:
Puedes aprender más sobre LangChain y sus herramientas visitando su documentación.
Parece que los agentes van a aportar muchas más capacidades a los LLM en un futuro próximo. A medida que estas nuevas capacidades se implementen en aplicaciones y herramientas, será posible hacer cosas más destacadas. Estoy muy curioso y emocionado por las nuevas posibilidades.