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).
|
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"
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
- Lis la configuration (
config.toml
) avec tes identifiants et ton espace de déploiement. - Rassemble ton code dans un fichier ZIP pour le télécharger sur IBM Cloud.
- Crée une spécification logicielle personnalisée basée sur un environnement de base (tel que
runtime-24.1-py3.11
). - Déploie l’agent en tant que service REST dans watsonx.ai.
- 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.
{
"messages": [
{
"content": "What is the weather in Malaga?",
"data": {
"endog": [
0
],
"exog": [
0
]
},
"role": "User"
}
]
}
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.
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.👇