Construisez des pipelines de données robustes, scalables et prêts pour la production. Devenez un ingénieur data capable de concevoir, déployer et industrialiser des architectures modernes cloud & Big Data.
La combinaison de LangGraph et FastAPI permet de créer facilement des agents LLM pilotables via API. Que vous développiez un assistant intelligent, une interface de recherche augmentée ou une brique d’IA intégrée à une app existante, ce duo vous offre un cadre léger, rapide, et ultra-flexible.
Commençons par définir nos variables d’environnement, qui permettront de connecter l’agent à l’API OpenAI et au moteur de recherche Tavily. Nous utiliserons l'API d'OpenAI, vous devez vous inscrire sur OpenAI et récupérer une clé d'API. Nous aurons aussi besoin d'une clé d'API pour le Tavily, vous devrez vous inscrire et récupérer une clé d'API.
Une fois les clés obtenues, créez votre fichier de variables d'environnement :
🔐 Fichier .env
shell
Ensuite, exportez ces variables dans votre shell :
shell
📥 Étape 2 – Installer les dépendances
Créez un fichier requirements.txt avec les bibliothèques suivantes :
python
Puis installez-les via pip :
shell
Cela vous garantit une compatibilité cohérente avec les dernières versions stables des modules LangChain et LangGraph.
🧠 Étape 3 – Créer l’agent LangGraph
L’agent que nous allons créer s’appuie sur le pattern ReAct, enchaînant raisonnement logique et actions via les outils. Ici, on lui connecte l’outil de recherche Tavily pour qu’il puisse s’informer en ligne.
agent.py
python
L’agent est ainsi capable d’utiliser Tavily comme source d’information. Le modèle utilisé ici est gpt-4o-mini, un choix efficace pour combiner rapidité et coût maîtrisé.
🧪 Étape 4 – Test intéractif
Avant de le déployer, testons l’agent, directement dans cette article :
python
Ce code permet de visualiser le raisonnement étape par étape de l’agent. Idéal pour le debug ou pour comprendre la chaîne de décisions.
🚀 Vous débutez avec l’IA Générative ?
Initiez-vous à l’IA Générative pour les développeurs et data scientists
🌐 Étape 5 – Créer une API avec FastAPI
À présent, déployons notre agent sous forme d’API REST. Grâce à FastAPI, l’intégration est rapide et documentée automatiquement.
main.py
python
Ici, l’endpoint /chat accepte une liste de messages et un thread_id (identifiant de conversation), assurant la continuité contextuelle via LangGraph.
🚀 Lancer l’API localement
shell
Rendez-vous ensuite sur http://127.0.0.1:8000/docs pour tester votre API via l’interface Swagger auto-générée :
✅ Résultat : un agent LLM accessible via API
Vous avez maintenant un agent LLM intelligent et connecté à internet, accessible via un simple appel HTTP. Il est prêt à être :
intégré dans une interface web,
utilisé par une app mobile,
connecté à Zapier ou Make,
ou encore enrichi avec des outils personnalisés.
📌 Conclusion : ce qu’on a appris
En quelques étapes, vous avez :
Créé un agent LangGraph avec un modèle OpenAI,
Intégré un outil de recherche externe (Tavily),
Déployé le tout dans une API FastAPI prête à l’emploi.
Ce setup constitue une excellente base pour créer des assistants spécialisés, des copilotes métiers, ou des services IA à valeur ajoutée.
Prenez un moment pour discuter de votre projet de formation avec un conseiller.
Qu’est-ce qu’un agent LangGraph ?
Réponse :
Un agent LangGraph est un agent LLM orchestré comme un graphe d'états. Il peut mémoriser un contexte, utiliser des outils (comme un moteur de recherche), et exécuter des étapes conditionnelles. LangGraph est construit sur LangChain et offre un contrôle fin sur la logique de l’agent.
Quelle différence entre LangGraph et LangChain ?
Réponse :
LangChain fournit les briques de base (modèles, outils, prompts, mémoire, etc.), tandis que LangGraph permet de composer des workflows plus complexes sous forme de graphes (états + transitions), avec plus de logique conditionnelle et de flexibilité.
Pourquoi utiliser Tavily comme outil de recherche ?
Réponse :
Tavily est une API de recherche web conçue pour les agents LLM :
- Résultats concis et formatés
- Rapide et fiable
- Facile à intégrer avec LangChain
Cela permet à l’agent d’aller chercher des réponses actualisées sur le web.
Est-ce que je peux utiliser un autre modèle que GPT-4o-mini ?
Réponse :
Oui. Le paramètre model="openai:gpt-4o-mini" dans create_react_agent peut être remplacé par tout autre modèle compatible LangChain, comme gpt-4, gpt-3.5-turbo, mistral, groq:mixtral, ou même des modèles open source.
L’API FastAPI peut-elle gérer plusieurs utilisateurs ?
Réponse :
Oui. Grâce à l’attribut thread_id dans le corps de la requête, vous pouvez gérer des sessions multiples, chaque utilisateur ayant son propre contexte conversationnel isolé.
Peut-on héberger cette API en production ?
Réponse :
Oui, après le développement local, vous pouvez :
- Conteneuriser avec Docker
- Déployer sur Render, Railway, Fly.io ou un serveur VPS
- Ajouter un reverse proxy (ex : Nginx) pour SSL + sécurité
Peut-on ajouter plusieurs outils à l’agent ?
Réponse :
Absolument. Il suffit d’ajouter d’autres outils à la liste :
-> tools = [tavily_search, autre_tool, ...]
LangChain offre des dizaines d’outils intégrés (fichiers, calcul, navigateurs, etc.).
Partager avec
💙 Merci d'avoir parcouru l'article jusqu'à la fin !
Romain DE LA SOUCHÈRE - Lead Developer, Expert Cloud et DevOps
Ingénieur de formation avec plus de 11 ans d'expérience dans le développement back-end et le data engineering. Expert dans l’industrialisation des projets data dans le cloud.