LangChain : définition, composants et exemples d'usage
Le framework open source le plus utilisé pour construire des applications à base de LLM : à quoi il sert, comment il fonctionne, ses forces, ses limites et ses alternatives.
Par Équipe Blent· Mis à jour le · 11 min de lecture· Niveau intermédiaire
LangChain en bref
- Type
- Framework open source
- Créateur
- Harrison Chase, en 2022
- Éditeur
- LangChain Inc.
- Langages
- Python, JavaScript / TypeScript
- Licence
- MIT
- Principaux usages
- RAG, agents, chatbots, extraction de données
- Écosystème
- LangGraph, LangSmith
Définition : LangChain
LangChain est un framework open source, disponible en Python et en JavaScript, qui facilite le développement d'applications fondées sur des grands modèles de langage (LLM). Il fournit une interface commune pour appeler des modèles de différents fournisseurs, ainsi que des composants prêts à l'emploi pour gérer les prompts, charger et découper des documents, interroger des bases vectorielles, appeler des outils et construire des agents. Il permet ainsi d'assembler rapidement un assistant conversationnel, un système RAG ou un agent IA sans réécrire toute la plomberie autour du modèle.
En une phrase : LangChain est la boîte à outils qui relie un LLM à vos données, à vos outils et à votre application.
Dans cette définition
Qu'est-ce que LangChain ?
LangChain est né en octobre 2022, quelques semaines avant la sortie de ChatGPT, sous la forme d'un projet open source lancé par Harrison Chase. Son idée de départ : un LLM isolé ne suffit pas à faire une application. Il faut lui fournir les bonnes données, formuler des prompts robustes, lui donner accès à des outils et enchaîner plusieurs étapes de traitement. LangChain fournit ces briques sous une forme standardisée.
Le projet est rapidement devenu l'un des frameworks les plus populaires de l'écosystème IA, et une entreprise, LangChain Inc., s'est constituée autour de lui. Elle édite aussi LangGraph, pour l'orchestration d'agents, et LangSmith, une plateforme d'observabilité et d'évaluation.
En octobre 2025, LangChain est passé en version 1.0. Cette version recentre le framework sur l'essentiel : une interface commune aux modèles, des intégrations, et une fonction unique, create_agent, pour construire des agents qui s'exécutent sur le moteur de LangGraph.
À retenir : LangChain ne fournit pas de modèle. C'est une couche d'abstraction entre votre application et les modèles, les données et les outils que vous choisissez.
Les composants clés de LangChain
Une application LangChain assemble quelques familles de composants, toutes interchangeables :
| Composant | Rôle | Exemple |
|---|---|---|
| Chat models | Appeler un LLM avec une interface identique quel que soit le fournisseur | Mistral, OpenAI, Anthropic, Ollama |
| Prompt templates | Construire des prompts paramétrés et réutilisables | Message système + question de l'utilisateur |
| Output parsers | Transformer la réponse du modèle en texte, JSON ou objet typé | Extraction validée par un schéma Pydantic |
| Document loaders et text splitters | Charger des sources et les découper en fragments | PDF, pages web, Notion, bases SQL |
| Embeddings et vector stores | Vectoriser les fragments et les stocker pour la recherche | Qdrant, Pinecone, pgvector, FAISS |
| Retrievers | Retrouver les passages pertinents pour une question | Recherche vectorielle, hybride, multi-requêtes |
| Tools et agents | Laisser le modèle appeler des fonctions et décider des étapes | Recherche web, API métier, calcul |
Ces composants se combinent avec une syntaxe déclarative, le LangChain Expression Language (LCEL), où l'opérateur | enchaîne les étapes comme un pipeline Unix.
Exemple : une chaîne de résumé en quelques lignes
Voici une chaîne qui résume un document technique en trois points avec un modèle Mistral. Remplacer le modèle par un autre fournisseur ne change que la première ligne.
from langchain.chat_models import init_chat_model
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
model = init_chat_model("mistral-large-latest", model_provider="mistralai")
prompt = ChatPromptTemplate.from_messages([
("system", "Tu es un assistant qui résume des documents techniques."),
("human", "Résume ce texte en trois points :\n\n{texte}"),
])
chain = prompt | model | StrOutputParser()
print(chain.invoke({"texte": rapport}))
Pour aller plus loin, la même logique permet de créer un agent capable d'appeler vos propres fonctions :
from langchain.agents import create_agent
def statut_commande(numero: str) -> str:
"""Renvoie le statut d'une commande à partir de son numéro."""
return crm.get_order_status(numero)
agent = create_agent(
model="mistralai:mistral-large-latest",
tools=[statut_commande],
system_prompt="Tu es l'assistant du service client.",
)
agent.invoke({"messages": [{"role": "user", "content": "Où en est la commande 4521 ?"}]})
Le modèle lit la docstring de la fonction pour comprendre à quoi elle sert, décide de l'appeler avec le bon argument, puis formule sa réponse à partir du résultat. C'est le principe du tool calling.
Que peut-on construire avec LangChain ?
LangChain couvre la plupart des applications LLM courantes, du prototype d'un après-midi à l'application déployée auprès de milliers d'utilisateurs.
Assistant documentaire (RAG)
Charger un corpus, l'indexer dans une base vectorielle et répondre aux questions en citant les sources.
Agent outillé
Donner au modèle l'accès à des API, une base de données ou un moteur de recherche pour agir et pas seulement répondre.
Chatbot avec mémoire
Conserver l'historique d'une conversation et le contexte d'un utilisateur d'une session à l'autre.
Extraction structurée
Transformer des e-mails, factures ou comptes rendus en données JSON validées par un schéma.
Résumé et synthèse
Résumer de longs documents en les découpant, puis en combinant les résumés partiels.
Classification et routage
Catégoriser des tickets ou des demandes et les orienter vers le bon traitement.
L'écosystème LangChain : LangGraph et LangSmith
LangChain Inc. développe trois produits complémentaires, souvent confondus :
| Produit | Rôle | Licence |
|---|---|---|
| LangChain | Composants et interface commune aux modèles, création rapide d'agents | Open source (MIT) |
| LangGraph | Orchestration bas niveau d'agents et de workflows avec état, persistance et validation humaine | Open source (MIT) |
| LangSmith | Traces, évaluation, monitoring et déploiement des applications LLM | Plateforme commerciale, offre gratuite limitée |
En pratique, on commence souvent avec LangChain, on passe à LangGraph quand le workflow se complexifie, et on branche LangSmith (ou une alternative comme Langfuse) dès que l'application a des utilisateurs.
Quels sont les avantages de LangChain ?
Sa principale force est de faire gagner du temps sur tout ce qui entoure le modèle, tout en évitant de s'enfermer chez un fournisseur.
- Interface commune à des dizaines de fournisseurs de modèles : changer de LLM tient en une ligne.
- Centaines d'intégrations prêtes : chargeurs de documents, bases vectorielles, outils, API.
- Prototypage très rapide d'un RAG ou d'un agent avec des briques éprouvées.
- Communauté très large, nombreux exemples et tutoriels disponibles.
- Continuité vers la production avec LangGraph pour l'orchestration et LangSmith pour l'observabilité.
- Disponible en Python et en TypeScript, avec des concepts identiques.
Quelles sont les limites de LangChain ?
LangChain a longtemps été critiqué pour sa complexité. La version 1.0, publiée fin 2025, a simplifié l'ensemble, mais quelques points restent à anticiper.
- Couche d'abstraction supplémentaire : déboguer demande parfois de comprendre ce qui se passe sous le capot.
- Évolutions rapides de l'API : de nombreux tutoriels en ligne décrivent des versions obsolètes.
- Surdimensionné pour un simple appel à un modèle, que le SDK du fournisseur gère très bien.
- Qualité variable des intégrations communautaires, à vérifier avant un usage critique.
- Les workflows complexes (boucles, reprise, validation humaine) relèvent plutôt de LangGraph.
LangChain vs LlamaIndex : quelles différences ?
LlamaIndex est l'alternative la plus souvent citée. Les deux frameworks se recoupent largement, mais leur centre de gravité diffère.
| Critère | LangChain | LlamaIndex |
|---|---|---|
| Positionnement | Framework généraliste d'applications LLM | Framework centré sur les données et le RAG |
| Point fort | Agents, outils, intégrations, orchestration | Connecteurs, stratégies d'indexation, moteurs de requête |
| Agents | Natifs, exécutés sur LangGraph | Disponibles, via des workflows dédiés |
| Observabilité | LangSmith, Langfuse | Intégrations tierces |
| Idéal pour | Applications mêlant RAG, outils et agents | RAG sur des données nombreuses ou complexes |
Les deux peuvent d'ailleurs cohabiter : un index LlamaIndex peut servir de retriever dans une application LangChain.
Quand utiliser LangChain ?
LangChain est pertinent dès que l'application dépasse l'appel isolé à un modèle et doit combiner données, outils et plusieurs fournisseurs.
Vous assemblez plusieurs briques
- Vous construisez un RAG ou un agent avec des outils.
- Vous voulez pouvoir changer de fournisseur de modèle facilement.
- Vous avez besoin de nombreuses intégrations (sources, bases vectorielles).
- Vous voulez prototyper vite, puis industrialiser avec le même écosystème.
Le besoin reste simple ou très spécifique
- Un seul appel à un seul modèle suffit.
- Vous voulez maîtriser chaque ligne d'un code minimaliste.
- Le projet est centré sur l'indexation de données complexes (LlamaIndex est alors à comparer).
- Le workflow exige boucles, états persistants et reprise : passez directement à LangGraph.
Outils souvent utilisés avec LangChain
LangChain s'insère dans un écosystème plus large, de l'orchestration à l'observabilité en passant par les bases vectorielles.
- Orchestration
LangGraph
Le framework d'orchestration de la même équipe, pour les agents et workflows avec état.
- Observabilité
LangSmith
Plateforme de traces, d'évaluation et de suivi des applications LLM, éditée par LangChain.
- Observabilité
Langfuse
Alternative open source pour tracer, évaluer et monitorer les appels aux LLM.
- Base vectorielle
Pinecone
Base vectorielle managée, intégrée nativement comme vector store.
- Modèles
Ollama
Exécution locale de modèles ouverts, utilisable comme n'importe quel autre fournisseur.
- Alternative
LlamaIndex
Framework centré sur l'indexation et l'interrogation de données pour le RAG.
Les concepts à connaître pour bien utiliser LangChain
Ces notions reviennent dans toute application construite avec LangChain.
- RAGL'architecture qui récupère des documents avant de générer la réponse.
- Tool callingLa capacité d'un LLM à appeler des fonctions externes avec des arguments structurés.
- Agent ReActLe schéma raisonnement, action, observation sur lequel reposent la plupart des agents.
- Techniques de promptingLes méthodes pour formuler des instructions efficaces et robustes.
- Mémoire des agentsLes stratégies pour conserver le contexte utile d'un échange à l'autre.
- Model Context ProtocolLe protocole standard pour exposer des outils et des données aux LLM.
Ressources pour approfondir LangChain
Trois articles du blog Blent pour aller de la découverte à la mise en production.
- Guide
LangChain : le framework spécialiste des LLM
Agents, chaînes, prompts et mémoire : les concepts de LangChain en détail.
Lire l'article - Tutoriel
Créer un RAG avec LangChain et Mistral
Un pipeline RAG complet, du chargement des documents à la génération.
Lire l'article - Production
Langfuse : monitorer des LLM
Tracer et évaluer une application LangChain une fois en production.
Lire l'article
Questions fréquentes
Questions fréquentes
Expertise
À propos de l'auteur
Équipe Blent
Les ingénieurs et mentors Blent conçoivent, évaluent et mettent en production des applications LLM, et forment chaque année des centaines de professionnels à l'IA générative.
Sources et méthodologie
- Documentation officielle LangChain (Python et JavaScript)
- Annonce de LangChain 1.0 et LangGraph 1.0, octobre 2025
- Retours d'expérience des projets et formations Blent