En este tutorial, creará un agente de IA ReAct (Reasoning and Action) con el marco LangGraph de código abierto mediante un modelo IBM® Granite a través de la API IBM® watsonx.ai en Python. El caso de uso es gestionar los tickets de soporte de TI existentes y crear otros nuevos.
Un agente de IA se refiere a un sistema o programa que es 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 de lenguaje natural (PLN) de modelos de lenguaje grandes (LLM) para comprender las entradas de los usuarios paso a paso y responder a ellas, y determinar cuándo recurrir a herramientas externas. Un componente central de los agentes de IA es el razonamiento. Al adquirir nueva información a través de llamadas a herramientas, intervención humana u otros agentes, el paradigma de razonamiento guía los siguientes pasos del agente.
Con cada acción y cada respuesta de herramienta, el paradigma ReAct (Reasoning and Action) instruye a los agentes a "pensar" y planificar sus siguientes pasos. Este razonamiento lento y paso a paso nos da insight de cómo el agente utiliza el contexto actualizado para formular conclusiones. Debido a que este proceso de reflexión es continuo, a menudo se lo denomina bucle pensar-actuar-observar y es una forma de instrucción de la cadena de pensamiento.
Este tutorial utilizará LangGraph, un marco de agentes de IA de código abierto diseñado para crear, desplegar y gestionar flujos de trabajo complejos de agentes de IA generativa. La función prediseñada
Dentro de LangGraph, la característica de "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 gráficos con estado permiten a los agentes recordar información pasada y contexto valioso. La estructura cíclica del gráfico ReAct se aprovecha cuando el resultado de un paso depende de los pasos anteriores del ciclo. Los nodos, o "actores", en el gráfico codifican la lógica del agente y están conectados por bordes. Los bordes son esencialmente funciones de Python que determinan el siguiente nodo a ejecutar según el estado actual.
Necesita una cuenta de IBM Cloud para crear un watsonx.ai proyecto.
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.
Iniciar sesión en watsonx.ai con su cuenta de IBM Cloud.
Cree una instancia de servicio 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 desplegar fácilmente los primeros pasos con watsonx.ai, clone este repositorio de GitHub y acceda al proyecto del agente ReAct de soporte de TI. Puede ejecutar el siguiente comando en su terminal para hacerlo.
A continuación, instale Poetry si aún no lo ha hecho. Poetry es una herramienta para gestionar dependencias y paquetes de Python.
Luego, active su entorno virtual.
En lugar de usar el
Es necesario agregar un directorio de trabajo a PYTHONPATH para los siguientes 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
Nuestro agente necesita una fuente de datos para proporcionar información actualizada y agregar nuevos datos. Almacenaremos nuestro archivo de datos en IBM® Cloud Object Storage.
Para proporcionar al agente ReAct la funcionalidad de gestión de tickets de TI, debemos conectarnos a nuestra fuente de datos en IBM Cloud Object Storage. Para este paso, podemos usar la
En
Nuestro agente podrá leer y escribir datos en nuestro archivo. Primero, vamos a crear la herramienta para leer datos usando LangChain
Hemos agregado esta herramienta
A continuación, hemos agregado la
Esta herramienta toma la descripción del problema por parte del usuario y la urgencia del problema como argumentos. Se agrega una nueva fila a nuestro archivo en COS con esta información y, por lo tanto, se crea un nuevo ticket. De lo contrario, se lanza una excepción.
Una última herramienta que debemos agregar a nuestro
Para otorgar a nuestro agente acceso a estas herramientas, las hemos agregado a la lista
Estas herramientas se importan en el archivo
Antes de desplegar su agente, recuerde completar toda la información necesaria en el
Hay tres formas de chatear con su agente.
Ejecute el script para el servicio de IA local.
La última opción es acceder al agente en el espacio Deployments en watsonx.ai. Para ello, seleccione "Deployments" en el menú del lado izquierdo. Luego, seleccione su espacio de despliegue, la pestaña "Assets", elija su activo
Para ejecutar el script de despliegue, inicialice la variable
El
A continuación, ejecute el script de despliegue.
Luego, ejecute el script para consultar el despliegue.
A los efectos de este tutorial, elijamos la opción 2 y consultemos nuestro agente desplegado en watsonx.ai en forma de chatbot agéntico. Proporcionemos al agente algunas instrucciones que requerirían el uso de herramientas. Tras seguir los pasos enumerados en la opción 3, debería ver una interfaz de chat en watsonx.ai. Allí, podemos escribir nuestra instrucción.
Primero, probemos si la
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 ticket con la
¡Excelente! El agente agregó correctamente el ticket al archivo.
En este tutorial, creó un agente con la infraestructura ReAct que utiliza la toma de decisiones para resolver tareas complejas, como recuperar y crear tickets de soporte. Existen varios modelos de IA que permiten llamadas de herramientas agénticas, como Gemini de Google, Granite de IBM y GPT-4 de OpenAI. En nuestro proyecto, utilizamos un modelo de IA de IBM Granite a través de la API watsonx.ai. El modelo se comportó como se esperaba tanto localmente como cuando se desplegó en watsonx.ai. Como siguiente paso, consulte las plantillas multiagente LlamaIndex y crewAI disponibles en el repositorio watsonx-developer-hub GitHub para crear agentes de IA.
Permita a los desarrolladores crear, desplegar y monitorear agentes de IA con el estudio IBM watsonx.ai.
Cree una productividad revolucionaria con uno de los conjuntos de capacidades más completos de la industria para ayudar a las empresas a crear, personalizar y gestionar asistentes y agentes de IA.
Logre un ahorro de más del 90 % en costos de energía con los modelos más pequeños y abiertos de Granite, diseñados para mejorar la eficiencia de los desarrolladores. Estos modelos preparados para empresas ofrecen un rendimiento excepcional contra puntos de referencia de seguridad y en una amplia gama de tareas empresariales, desde la ciberseguridad hasta el RAG.