Apprends à construire et à déployer des agents d’IA avec LangGraph en utilisant watsonx.ai

L’intelligence artificielle ne se contente plus de répondre, elle prend aussi des décisions. Avec des frameworks comme LangGraph et des plateformes comme watsonx.ai , tu peux construire des agents qui raisonnent et agissent de manière autonome 🤯.

Dans cet article, nous allons t’expliquer comment mettre en place un agent ReAct (Reasoning + Action) en local et le déployer sur IBM Cloud, le tout avec un exemple pratique incluant un outil de requête météorologique 🌤️.

Un guide pratique pour utiliser tes agents avec LangGraph et Watsonx.ai

Architecture du projet

  • Machine avec projet local
    • Ici, tu développes et testes l’agent avec Python, LangGraph et les dépendances.
  • ZIP (pip-zip)
    • Paquet avec ton code et des outils supplémentaires.
  • Spécification du logiciel
    • Environnement contenant les bibliothèques nécessaires à l’exécution de l’agent.
  • watsonx.ai
    • Platform où tu déploies le service en tant qu’API REST.
  • Stockage d’objets dans le nuage IBM
    • Stocke les actifs de déploiement.

Préparons l’environnement pour notre agent

Nous avons besoin de :

  • Python 3.12 installé
  • IBM Cloud access et watsonx.ai
  • Poésie pour la gestion des dépendances

As-tu tout ce qu’il te faut ? Avant toute chose, clone le dépôt que nous allons utiliser comme exemple. Il est basé sur les exemples officiels d’IBM.

git clone https://github.com/thomassuedbroecker/watsonx-agent-langgraph-deployment-example.git 
cd ./agents/langgraph-arxiv-research

Tout d’abord, comprenons le projet d’exemple.

[Developer Workstation] → [CI/Build Process] → [Deployment] ↓
[IBM Cloud / watsonx.ai]

Les principaux fichiers de l’agent sont :

ai_service.py
Fichier principal qui démarre le service de l’agent en production.
agent.py
Logique de base de l’agent IA basé sur LangGraph. Définit le flux de travail.
tools.py
Outils connectés à l’agent (API météo).

Diagramme de l'exemple de repo de Langgraph et watson.ai

Passons maintenant à la mise en place de l’environnement

python3.12 -m venv .venv
source ./.venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install poetry

Nous te recommandons également d’utiliser Anaconda ou miniconda. Il nous permet de gérer des environnements virtuels ou des paquets Python de manière simple et est largement utilisé en ML.

Pour que Python puisse trouver nos modules personnalisés (tels que les agents et les outils), nous devons inclure le répertoire actuel dans la variable d’environnement. PYTHONPATH

 

export PYTHONPATH=$(pwd):${PYTHONPATH}

echo ${PYTHONPATH}

 

Une fois l’environnement prêt, il est temps de passer aux variables. Tu dois créer un fichier config.toml si tu n’en as pas déjà un et utiliser tes identifiants IBM Cloud:

[deployment]
watsonx_apikey = "TU_APIKEY"
watsonx_url = "" # Tiene que seguir el siguiente formato: `https://{REGION}.ml.cloud.ibm.com0`
space_id = "SPACE_ID"
deployment_id = "YOUR_DEPLOYMENT_ID"
[deployment.custom]
model_id = "mistralai/mistral-large" # underlying model of WatsonxChat
thread_id = "thread-1" # Más información: https://langchain-ai.github.io/langgraph/how-tos/persistence/
sw_runtime_spec = "runtime-24.1-py3.11"

Tu trouveras tes variables ici :

https://dataplatform.cloud.ibm.com/developer-access

Une fois sur place, sélectionne ton espace de déploiement et copie les données nécessaires (API Key, Space ID, etc.).

Exécution dans les locaux de l’agent

Il est temps de tester l’agent :

source ./.venv/bin/activate
poetry run python examples/execute_ai_service_locally.py

Puisqu’il s’agit d’un agent météorologique, pourquoi n’essaies-tu pas avec quelque chose comme… ?

« Quel temps fait-il actuellement à Madrid ? »

La console devrait te donner l’heure à Madrid – félicitations, il ne nous reste plus qu’à faire le déployer dans watsonx.ai

Déploiement d’agents dans watsonx.ai

source ./.venv/bin/activate
poetry run python scripts/deploy.py
Ce code va déployer l’agent dans Watsonx.ai.
deploy.py fait ce qui suit :
  1. Lis la configuration (config.toml) avec tes identifiants et ton espace de déploiement.
  2. Rassemble ton code dans un fichier ZIP pour le télécharger sur IBM Cloud.
  3. Crée une spécification logicielle personnalisée basée sur un environnement de base (tel que runtime-24.1-py3.11).
  4. Déploie l’agent en tant que service REST dans watsonx.ai.
  5. Sauvegarde le site deployment_id , nécessaire pour interagir avec l’agent plus tard.

En bref :
prend ton agent local, le prépare et le transforme en un service accessible dans le nuage.

Vérifie que tout est correct dans watsonx.ai et va dans la section « Test ». Là, nous collons le json suivant (c’est juste une question).
{
"messages": [
{
"content": "What is the weather in Malaga?",
"data": {
"endog": [
0
],
"exog": [
0
] },
"role": "User"
}
] }
Clique sur prédire et l’agent utilisera le service_météo.
Dans le json de la réponse, tu verras le processus de l’agent -> call tool -> collect city -> process and return temperature.
Ton agent watsonx.ai est en cours d’exécution !
Si tu veux le tester à partir du terminal pour t’assurer qu’il fonctionne, utilise simplement
source ./.venv/bin/activate
poetry run python examples/query_existing_deployment.py
Conclusions

Si tu as des doutes, nous te recommandons le tutoriel vidéo suivant où tu pourras suivre pas à pas le développement connecté à watsonx.ai.

🚀 "AI Agents: A Complete Guide to Developing and Deploying on watsonx.ai with IBM Cloud" 🚀🚀 "AI Agents: A Complete Guide to Developing and Deploying on watsonx.ai with IBM Cloud" 🚀

Si tu veux approfondir ces mises en œuvre ou en savoir plus sur le développement du cloud et l’intelligence artificielle, nous t’invitons à explorer nos cours sur l’IA.👇

SIXE