En este tutorial, creará un agente de IA ReAct (razonamiento y acción) con el marco de código abierto LangGraph utilizando un modelo IBM® Granite a través de la API IBM® watsonx.ai en Python. El caso de uso consiste en gestionar los tiques de soporte técnico existentes y crear otros nuevos.
Un agente de inteligencia artificial (IA) es un sistema o programa capaz de realizar tareas de forma autónoma en nombre de un usuario u otro sistema mediante el diseño de su flujo de trabajo y el uso de las herramientas disponibles. Los agentes de IA generativa utilizan las técnicas avanzadas de procesamiento del lenguaje natural (PLN) de los modelos de lenguaje de gran tamaño (LLM) para comprender y responder paso a paso a las entradas de los usuarios y determinar cuándo recurrir a herramientas externas. Un componente fundamental de los agentes de IA es el razonamiento. Tras adquirir nueva información mediante la llamada a herramientas, la intervención humana u otros agentes, el paradigma de razonamiento guía los próximos pasos del agente.
Con cada acción y cada respuesta de la herramienta, el paradigma ReAct (razonamiento y acción) instruye a los agentes para que "piensen" y planifiquen sus próximos pasos. Este razonamiento lento y paso a paso nos proporciona conocimientos sobre cómo el agente utiliza el contexto actualizado para formular conclusiones. Dado que este proceso de reflexión es continuo, a menudo se denomina "bucle pensar-actuar-observar" y es una forma de incitación a la cadena de pensamiento.
Este tutorial utilizará el marco LangGraph, un marco de agente de IA de código abierto diseñado para crear, implementar y gestionar flujos de trabajo complejos de agentes de IA generativa. La función prediseñada
Dentro de LangGraph, la característica "estado" sirve como un banco de memoria que registra y rastrea toda la información valiosa procesada por cada iteración del sistema de IA. Estos grafos con estado permiten a los agentes recordar información pasada y contexto valioso. La estructura cíclica del grafo ReAct se aprovecha cuando el resultado de un paso depende de los pasos anteriores del bucle. Los nodos, o "actores", en el grafo codifican la lógica del agente y están conectados por aristas. Las aristas son esencialmente funciones de Python que determinan el siguiente nodo que se ejecutará en función del estado actual.
Necesita una cuenta de IBM Cloud para crear un proyecto watsonx.ai.
Para utilizar la interfaz de programación de aplicaciones (API) de watsonx, deberá completar los siguientes pasos. Tenga en cuenta que también puede acceder a este tutorial en GitHub.
Inicie sesión en watsonx.ai utilizando su cuenta de IBM Cloud.
Cree una instancia de servicio de watsonx.ai Runtime (seleccione la región adecuada y elija el plan Lite, que es una instancia gratuita).
Genere una clave de interfaz de programación de aplicaciones (API).
Para dar los primeros pasos con la implementación de agentes en watsonx.ai con facilidad, clone este repositorio de GitHub y acceda al proyecto del agente ReAct de soporte de TI. Para ello, puede ejecutar el siguiente comando en su terminal.
A continuación, instale poetry si aún no lo tiene instalado. Poetry es una herramienta para gestionar las dependencias y los paquetes de Python.
Después, active su entorno virtual.
En lugar de utilizar el comando
Es necesario añadir un directorio de trabajo a PYTHONPATH para los próximos pasos. En su terminal, ejecute:
Para configurar el entorno, siga las instrucciones del archivo README.md en Github. Esta configuración requiere que se ejecuten varios comandos en su IDE o línea de comandos.
En el archivo
Nuestro agente necesita una fuente de datos para proporcionar información actualizada y añadir nuevos datos. Almacenaremos nuestro archivo de datos en IBM® Cloud Object Storage.
Para proporcionar al agente ReAct la funcionalidad de gestión de tiques de TI, debemos conectarnos a nuestra fuente de datos en IBM Cloud Object Storage. Para este paso, podemos utilizar la biblioteca
En
Nuestro agente podrá leer y escribir datos en nuestro archivo. En primer lugar, creemos la herramienta para leer datos utilizando el decorador LangChain
Hemos añadido esta herramienta
A continuación, hemos añadido la herramienta
Esta herramienta toma como argumentos la descripción del problema proporcionada por el usuario y la urgencia del mismo. Se añade una nueva fila a nuestro archivo en COS con esta información y, de este modo, se crea un nuevo tique. De lo contrario, se lanza una excepción.
Una última herramienta que debemos añadir a nuestro archivo
Para conceder a nuestro agente acceso a estas herramientas, las hemos añadido a la lista
Estas herramientas se importan en el archivo
Antes de implementar su agente, recuerde completar toda la información necesaria en el archivo
Hay tres formas de chatear con su agente.
Ejecute el script para la ejecución del servicio de IA local.
La última opción es acceder al agente en el espacio Implementaciones en watsonx.ai. Para ello, seleccione "Implementaciones" en el menú de la izquierda. A continuación, seleccione el espacio de implementación, seleccione la pestaña "Activos", seleccione su activo
Para ejecutar el script de implementación, inicialice la variable
Puede obtener el
A continuación, ejecute el script de implementación.
Después, ejecute el script para consultar la implementación.
A efectos de este tutorial, elijamos la opción 2 y consultemos a nuestro agente implementado en watsonx.ai en forma de chatbot agéntico. Proporcionemos al agente algunas instrucciones que requieran el uso de herramientas. Tras seguir los pasos indicados en la opción 3, debería ver una interfaz de chat en watsonx.ai. Allí, podemos escribir nuestra instrucción.
En primer lugar, comprobemos si la herramienta
Como puede ver en la respuesta final del agente, el sistema de IA utilizó con éxito la resolución de problemas para crear un nuevo tique con la herramienta
¡Genial! El agente ha añadido correctamente el tique al archivo.
En este tutorial, ha creado un agente con el marco ReAct que utiliza la toma de decisiones para resolver tareas complejas, como recuperar y crear tiques de soporte. Existen varios modelos de IA que permiten la llamada a herramientas de agentes, como Gemini de Google, Granite de IBM y GPT-4 de OpenAI. En nuestro proyecto, hemos utilizado un modelo de IA Granite de IBM a través de la API watsonx.ai. El modelo se comportó según lo esperado tanto a nivel local como cuando se implementó en watsonx.ai. Como próximo paso, consulte las plantillas LlamaIndex y crewAI multiagente disponibles en el repositorio GitHub watsonx-developer-hub para crear agentes de IA.
Permita a los desarrolladores crear, implementar y monitorizar agentes de IA con el estudio IBM watsonx.ai.
Cree una productividad sin precedentes con uno de los conjuntos de capacidades más completos del sector para ayudar a las empresas a crear, personalizar y gestionar agentes y asistentes de IA.
Ahorre más de un 90 % en costes con los modelos más pequeños y abiertos de Granite, diseñados para la eficiencia de los desarrolladores. Estos modelos listos para uso empresarial ofrecen un rendimiento excepcional frente a los puntos de referencia de seguridad y en una amplia gama de tareas empresariales, desde la ciberseguridad hasta RAG.