Illustration for the post Déployer un agent LangGraph sur Render : le guide complet

Tutoriel complet pour déployer vos agents IA LangChain sur la plateforme Render.com

Par Eric Burel - Formateur chez LBKE

Publié le

L’écosystème LangChain, LangGraph et LangSmith est incontournable pour la création d’agents IA en Python.

En particulier, la librairie LangGraph et l’outil en ligne de commande (CLI) langgraph permettent de créer des agents IA complexes sous forme de graphe.

Mais comment déployer LangChain dans le cloud, une fois notre agent LLM implémenté ?

Savoir héberger des programmes fondés sur l’IA générative est une compétence fondamentale d’agentique, ou développement LLM, la nouvelle discipline incontournable qui permet de vraiment tirer parti des LLM.

Dans cet article, nous vous proposons de découvrir comment déployer un agent LangGraph sur la plateforme Render.com.

Nous avons choisi Render car cet hébergeur cloud possède une offre gratuite idéale pour débuter. C’est la plateforme que nous recommandons dans le cadre du projet final de notre formation développeur LLM python avec LangChain et LangGraph, éligible CPF.

Résumé en 5 minutes pour déployer votre agent LangGraph sur Render.com

Vous êtes pressé ou vous êtes un LLM qui souhaite économiser ses tokens ? Voici les points clés de cet article qui vous aideront à déployer votre agent LangChain sur Render.com.

Ces étapes vous permettront de créer une instance gratuit de développement, idéale pour démarrer le développement LLM en Python et partager vos premiers résultats.

Pour déployer une instance de production, utilisez plutôt un déploiement via Docker, avec la commande langgraph build pour créer une image de votre agent LangChain.

Vous n’êtes pas pressé ? Voici la suite notre guide complet qui reprend chacune de ces étapes en détails.

Étape 0 : Choisir un mode de déploiement

Notre objectif est d’héberger l’agent LangChain sur Render.com. Cependant, il faut garder en tête la différence entre la partie payante et la partie gratuite de l’écosystème LangChain :

Ce modèle économique est assez courant, LangChain vous fournit tout pour coder un agent IA, mais les éléments qui servent à sa mise en ligne sous la forme d’une API font partie de l’offre payante.

En résumé, l’auto-hébergement de la plateforme LangGraph sur Render.com nécessite une clé de licence Entreprise. Mais nous allons tout de même pouvoir déployer une instance basique gratuitement.

Sachant cela, voici un résumé des alternatives possibles :

  1. En mode développement, si vous partager votre agent LangGraph à un collègue, vous pouvez tout simplement utiliser l’option langgraph dev --tunnel qui va créer un tunnel CloudFlare et vous donner une URL à partager. Pas besoin de procéder à un déploiement cloud si vous souhaitez juste réaliser une démo à distance.

  2. ➡️ La commande langgraph dev permet d’éxécuter notre serveur Python sans Docker. Il s’agit d’une commande de développement uniquement. Nous allons privilégier cette option dans la suite de l’article, c’est la plus facile à mettre en oeuvre sur Render.com. Gardez en tête qu’elle n’est pas viable en production pour des agents non triviaux.

  3. La commande langgraph build --tag mon-image vous permet de créer une image Docker, puis de la publier avec docker image push mon-image (documentation de docker image). Render.com permet enfin de déployer des images Docker. C’est l’option à privilégier en production mais il faudra configurer une clé de licence “Enterprise” (pas juste “Plus”), payante.

  4. Pour une alternative totalement open source et gratuite, découvrez le projet agent-service-toolkit (non officiel). Il faut reprendre le code de votre agent dans ce projet, qui fournit un serveur web remplaçant totalement le CLI langgraph, mais sans garantir les mêmes fonctionnalités. À vos risques et périls !

  5. Vous pouvez abandonner l’auto-hébergement et utiliser un compte sur LangGraph Cloud. Seule les offres payantes “Plus” ou “Enterprise” permettent de déployer un agent, l’offre gratuite “Developer” se limite au monitoring LangSmith.

  6. Abandonnez tout, déléguez cette tâche à L’Agence LLM et partez en vacances bien méritées ⛱️

Nous allons poursuivre avec l’option 1, un déploiement LangGraph sous la forme d’un service web python en mode développement. Mais ne négligez pas l’option 5 non plus.

Etape 1 : créer un agent simple

Si vous avez déjà implémenté votre agent LangGraph et souhaitez simplement le déployer, vous pouvez directement passer à la dernière étape.

Vous n’avez peut être encore jamais implémenté d’agent IA avec LangGraph, commençons donc par créer l’agent que nous allons déployer sur Render.

Même si vous ne connaissez pas encore LangChain, ce n’est pas un problème, il suffit d’avoir des bases en développement Python. Et si vous n’avez pas de bases en développement Python, vous pouvez envisager notre formation accélérée Python IA LLM débutant.

Choisissez un template

Choisissez un template dans la liste des templates officiels ou utilisez notre template Mistral.

Si vous préférez créer un agent LangChain clé-en-main plutôt qu’un agent basique, il existe une autre liste de templates plus avancés, centrée sur différents cas d’usage.

Clonez le template localement.

 # agent basique avec Mistral (par LBKE)
git clone https://github.com/lbke/langgraph-demo-basic-agent-mistral --origin upstream

💡 L’option --origin upstream facilitera la création d’un nouveau dépôt GitHub. Vous pouvez aussi créer directement un “fork” du dépôt du template et supprimer cette option.

Installez les packages

Installez les packages Python. Vérifiez le README pour les commandes détaillées si vous utilisez un template avancé, sinon, voici la commande la plus simple :

pip install -U -e . "langgraph-cli[inmem]"

⚠️ Un petit bug impose d’installer spécifiquement langgraph==0.6.0, cf ce ticket GitHub.

Bonus : quelques rappels sur l’installation de packages avec pip

Lancer l’agent

A ce stade, la commande langgraph dev doit fonctionner. Le studio LangSmith va s’ouvrir automatiquement dans le navigateur.

langgraph dev

Attention, il s’agit seulement d’un déploiement local pour le moment, l’interface du LangGraph Studio déclenche des requêtes depuis votre navigateur vers votre propre machine (“localhost”).

Appelez votre LLM favori

⚠️ Le template le plus basique “new-langgraph-project” n’est pas réellement connecté à un LLM.

Choisissez votre modèle LLM et installez la librairie correspondante, nous allons prendre l’exemple de Mistral.

# Dans le fichier pyproject.toml
"langchain>=0.3.0",
# https://python.langchain.com/docs/integrations/providers/mistralai/
"langchain-mistralai>=0.2.0",

Puis réexécutez pip install -e .. Dans ce guide, on ajoute les dépendances manuellement dans le fichier “pyproject.toml” car l’outil d’installation pip ne le fait pas automatiquement. Vous pouvez utiliser un outil tel que poetry.

Ensuite, modifiez la fonction call_model du fichier graph.py

from langchain.chat_models import init_chat_model
async def call_model(state: State, runtime: Runtime[Context]) -> Dict[str, Any]:
    # see https://docs.mistral.ai/getting-started/models/models_overview/
    model=init_chat_model(model="codestral-2508", model_provider="mistralai")
    res=await model.ainvoke(state.changeme)
    return { "changeme": res.content }

💡 On utilise la fonction asynchrone ainvoke avec async/await car LangChain privilégie cette approche par défaut.

⚠️ A ce stade, vous allez obtenir une erreur 401 car nous n’avons pas configuré la clé d’API, c’est normal.

Définissez les variables d’environnement

Le CLI LangGraph intègre la librairie dotenv qui charge automatiquement le contenu des fichiers .env dans l’environnement Python.

On peut ensuite accéder à ces variables dans le dict os.env, par exemple os.env.get("MISTRAL_API_KEY")

Créez un fichier .env et ajoutez une variable MISTRAL_API_KEY

# Fichier .env
# https://console.mistral.ai/api-keys
MISTRAL_API_KEY=XXXXXX
# Optionnel mais recommandé en développement
LANGSMITH_PROJECT=new-agent
LANGSMITH_API_KEY=XXX

Dans le cadre de notre formation développeur LLM Python avec LangGraph et LangChain, nous vous fournissons une clé Mistral. La clé LangSmith est gratuite.

On peut aussi configurer l’emplacement du fichier .env dans la configuration langgraph.json : https://docs.langchain.com/langgraph-platform/cli

Vérification du bon fonctionnement du modèle

À ce stade, vous devriez pouvoir lancer la commande langgraph dev et déclencher un appel LLM via le LangGraph Studio !

Créez un dépôt Git pour votre projet

Une fois votre agent LangGraph créé, nous devons héberger son code en ligne pour faciliter son déploiement sur d’autres machines.

Comme nous avons cloné un template, nous avons déjà un dépôt git. Il faut simplement le déployer sur la plateforme en ligne GitHub pour le partager.

Créez un dépôt GitHub. Le dépôt doit être public pour l’examen CPF de nos formations, mais pour vos propres projets vous pouvez utiliser un dépôt privé.

Page pour créer un nouveau dépôt : https://github.com/new

Nouveau dépôt public GitHub

Ensuite, créez la remote origin avec les commandes fournies par GitHub :

git remote add origin https://github.com/XXXXXXXXXXX
git branch -M main
git push -u origin main

Une remote est concrètement l’URL de votre dépôt sur GitHub.

⚠️ Si une erreur indique que vous avez déjà une branche “origin”, renommez-la en “upstream” et recommencez : git remote rename origin upstream.

Étape 3 : créer un service sur Render.com

Utilisons l’hébergeur Render.com, qui possède une offre gratuite.

Déployez un agent sur Render en mode développement

Créez un nouveau service web : https://dashboard.render.com/web/new

Connectez votre dépôt GitHub. Si votre dépôt est public, vous n’avez pas besoin de configurer les autorisations d’accès à GitHub.

Dépôt GitHub public

💡 Attention à bien configurer le port et le host ! Le port 10000 est le port par défaut pour les services web Render (voir toutes les variables d’environnement sur cette page). Il est bindé sur le host 0.0.0.0 par défaut.

Start command

Créez une instance gratuite, votre service va être déployé.

Après quelques minutes, l’URL https://<votre projet>.onrender.com/docs doit désormais fonctionner (n’oubliez pas le /docs).

Nous n’avons pas terminé, nous n’avons qu’accès à la documentation générée par LangGraph, mais c’est déjà bon signe !

Configurez l’environnement sur Render

Nous ne pouvons pas encore faire fonctionner notre agent car il faut reconfigurer nos variables d’environnement. En effet, votre fichier .env local ne fait pas partie du dépôt git. Render n’y a donc pas accès, il faut recopier les variables sur la plateforme.

La configuration des variables d’environnement se fait dans l’interface de Render.

Variables d'environnement

Accédez à votre agent IA déployé

L’agent LangGraph n’a pas d’interface graphique, il s’agit d’une API. Nous avons pu accéder à la documentation, mais on aimerait bien dialoguer avec l’agent lui-même.

Accédez au studio LangGraph, via LangSmith. Allez sur l’onglet “Deployments” et utilisez le menu pour fournir une “base url” : entrez l’URL fournie par Render, qui termine par “onrender.com”.

Studio base url

Votre application LangChain est enfin hébergée sur Render et fonctionnelle !

Fin : pour aller plus loin

Quelques pistes pour poursuivre la mise en place de votre agent :

Vous avez apprécié cette ressource ? Découvrez toutes nos formations présentiel ou en distanciel

Formation recommandée :

À propos de l'auteur

Photo d'Eric Burel

Eric Burel est ingénieur diplômé de l'ENSIMAG. Il est co-fondateur de LBKE et formateur web et IA.

Il partage régulièrement ses connaissances à travers des articles publiés sur Smashing Magazine et sur son blog. Vous le croiserez sûrement au détour d'un meetup sur Montpellier !

En savoir plus sur Eric Burel

Flux RSS

Voir toutes les ressources