Dans ce tutoriel, vous allez créer un agent IA ReAct (raisonnement et action) avec le cadre d’exigences open source LangGraph en utilisant un modèle IBM Granite via l’API IBM watsonx.ai en Python. Le cas d’utilisation consiste à gérer les tickets d’assistance informatique existants et à en créer de nouveaux.
Un agent d’intelligence artificielle (IA) désigne un système ou un programme capable d’exécuter des tâches de manière autonome pour le compte d’un utilisateur ou d’un autre système, en concevant son workflow agentique et en utilisant les outils disponibles. Les agents d’IA générative utilisent les techniques avancées de traitement automatique du langage naturel (NLP) des grands modèles de langage (LLM) pour comprendre et répondre aux entrées utilisateur, étape par étape, et déterminer quand faire appel à des outils externes. Le raisonnement est l’un des principaux composants des agents IA. Lors de l’acquisition de nouvelles informations par le biais d’un appel d’outil, d’une intervention humaine ou d’autres agents, le paradigme de raisonnement guide les prochaines étapes de l’agent.
À chaque action et réponse d’outil, le paradigme ReAct (raisonnement et action) demande aux agents de « réfléchir » et de planifier les étapes suivantes. Ce raisonnement lent, étape par étape, nous donne des informations sur la façon dont l’agent utilise le contexte actualisé pour formuler des conclusions. Comme ce processus de réflexion est continu, il est souvent appelé « boucle de réflexion, d’action et d’observation » et constitue une forme de prompting par chaîne de pensée.
Ce tutoriel utilisera LangGraph, un cadre d’exigences open source conçu pour créer, déployer et gérer des workflows complexes d’agent d’IA générative. La fonction prédéfinie
Dans LangGraph, la fonctionnalité « état » sert de banque de mémoire qui enregistre et suit toutes les informations précieuses traitées par chaque itération du système d’IA. Ces graphiques avec état permettent à l’agent de se rappeler d’informations antérieures et d’un contexte précieux. La structure cyclique du graphique ReAct est exploitée lorsque le résultat d’une étape dépend des étapes précédentes de la boucle. Les nœuds ou « acteurs » du graphique encodent la logique de l’agent et sont connectés par des edges. Ces edges sont essentiellement des fonctions Python qui déterminent le prochain nœud à exécuter en fonction de l’état actuel.
Vous avez besoin d’un compte IBM Cloud pour créer un compte watsonx.ai projet.
Pour utiliser l’interface de programmation d’applications (API) watsonx, vous devrez suivre les étapes suivantes. Notez que vous pouvez également accéder à ce tutoriel sur GitHub.
Se connecter à watsonx.ai en utilisant votre compte IBM Cloud.
Créez une instance de service d’exécution watsonx.ai (sélectionnez votre région et choisissez le plan Lite, qui est une instance gratuite).
Générez une clé d'interface de programmation des applications.
Pour vous lancer facilement dans le déploiement d’agents sur watsonx.ai, clonez ce référentiel GitHub et accédez au projet d’agent ReAct d’assistance informatique. Pour ce faire, vous pouvez exécuter la commande suivante dans votre terminal.
Ensuite, installez Poetry si ce n’est pas déjà fait. Poetry est un outil permettant de gérer les dépendances et l’empaquetage Python.
Puis, activez votre environnement virtuel.
Au lieu d’utiliser la commande
L’ajout d’un répertoire de travail à PYTHONPATH est nécessaire pour les étapes suivantes. Dans votre terminal, exécutez :
Pour configurer votre environnement, suivez les instructions du fichier README.md sur Github. Cette configuration nécessite l’exécution de plusieurs commandes sur votre IDE ou votre ligne de commande.
Dans le fichier
Notre agent a besoin d’une source de données pour fournir des informations actualisées et ajouter de nouvelles données. Nous stockerons notre fichier de données dans IBM Cloud Object Storage.
Pour fournir une fonctionnalité de gestion de tickets informatiques à l’agent ReAct, nous devons nous connecter à notre source de données dans IBM Cloud Object Storage. Pour cette étape, nous pouvons utiliser la bibliothèque
Dans
Notre agent pourra à la fois lire et écrire des données dans notre fichier. Commençons par créer l’outil de lecture de données à l’aide du décorateur
Nous avons ajouté cet outil
Ensuite, nous avons ajouté l’outil
Cet outil tient utilise la description du problème par l’utilisateur et l’urgence du problème comme arguments. Une nouvelle ligne est ajoutée à notre fichier dans COS avec ces informations et un nouveau ticket est ainsi créé. Sinon, une exception est déclenchée.
Le dernier outil que nous devons ajouter à notre fichier
Pour permettre à nos agents d’accéder à ces outils, nous les avons ajoutés à la liste
Ces outils sont importés dans le fichier
Avant de déployer votre agent, pensez à ajouter toutes les informations nécessaires dans le fichier
Il existe trois façons de discuter avec votre agent.
Exécutez le script d’exécution du service d’IA local.
La dernière option consiste à accéder à l’agent dans l’espace Déploiements de watsonx.ai. Pour ce faire, sélectionnez « Déploiements » dans le menu de gauche. Choisissez ensuite votre espace de déploiement, cliquez sur l’onglet « Actifs », sélectionnez votre actif
Pour exécuter le script de déploiement, initialisez la variable
Vous pouvez obtenir le
Exécutez ensuite le script de déploiement.
Puis, exécutez le script pour interroger le déploiement.
Pour les besoins de ce tutoriel, choisissons l’option 2 et interrogeons notre agent déployé sur watsonx.ai sous la forme d’un chatbot agentique. Fournissons à l’agent des prompts qui nécessiteraient l’utilisation d’outils. En suivant les étapes de l’option 3, vous devriez voir une interface de chat sur watsonx.ai. Nous pouvons y saisir notre prompt.
Commençons par vérifier si l’outil
Comme vous pouvez le voir dans la réponse finale de l’agent, le système d’IA a bien utilisé la résolution de problèmes pour créer un nouveau ticket avec l’outil
Super ! L’agent a bien ajouté le ticket au fichier.
Dans ce tutoriel, vous avez créé un agent avec le cadre d’exigences ReAct, qui utilise la prise de décision pour résoudre des tâches complexes telles que la récupération et la création de tickets d’assistance. Il existe plusieurs modèles IA qui permettent un appel d’outil agentique, tels que Gemini de Google, Granite d’IBM et GPT-4 d’OpenAI. Dans notre projet, nous avons utilisé un modèle IA IBM Granite via l’API watsonx.ai. Le modèle s’est comporté comme prévu, localement et lors du déploiement sur watsonx.ai. Pour aller plus loin, consultez les modèles multi-agents LlamaIndex et crewAI disponibles dans le référentiel GitHub watsonx-developer-hub pour créer des agents IA.
Donnez aux développeurs les moyens de créer, de déployer et de surveiller des agents d’IA avec le studio IBM watsonx.ai.
Créez une productivité révolutionnaire avec l’un des ensembles de capacités les plus complets du secteur pour aider les entreprises à créer, à personnaliser et à gérer les agents et les assistants IA.
Réalisez plus de 90 % d’économies grâce aux modèles plus petits et ouverts de Granite, conçus pour optimiser l’efficacité des développeurs. Ces modèles adaptés à l’entreprise offrent des performances exceptionnelles par rapport aux benchmarks de référence et sur un large éventail de tâches d’entreprise, de la cybersécurité à la RAG.