Lexique · Frameworks / outils IA

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 :

ComposantRôleExemple
Chat modelsAppeler un LLM avec une interface identique quel que soit le fournisseurMistral, OpenAI, Anthropic, Ollama
Prompt templatesConstruire des prompts paramétrés et réutilisablesMessage système + question de l'utilisateur
Output parsersTransformer la réponse du modèle en texte, JSON ou objet typéExtraction validée par un schéma Pydantic
Document loaders et text splittersCharger des sources et les découper en fragmentsPDF, pages web, Notion, bases SQL
Embeddings et vector storesVectoriser les fragments et les stocker pour la rechercheQdrant, Pinecone, pgvector, FAISS
RetrieversRetrouver les passages pertinents pour une questionRecherche vectorielle, hybride, multi-requêtes
Tools et agentsLaisser le modèle appeler des fonctions et décider des étapesRecherche 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.

python
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 :

python
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 :

ProduitRôleLicence
LangChainComposants et interface commune aux modèles, création rapide d'agentsOpen source (MIT)
LangGraphOrchestration bas niveau d'agents et de workflows avec état, persistance et validation humaineOpen source (MIT)
LangSmithTraces, évaluation, monitoring et déploiement des applications LLMPlateforme 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èreLangChainLlamaIndex
PositionnementFramework généraliste d'applications LLMFramework centré sur les données et le RAG
Point fortAgents, outils, intégrations, orchestrationConnecteurs, stratégies d'indexation, moteurs de requête
AgentsNatifs, exécutés sur LangGraphDisponibles, via des workflows dédiés
ObservabilitéLangSmith, LangfuseIntégrations tierces
Idéal pourApplications mêlant RAG, outils et agentsRAG 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.

Pertinent si

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.
Moins adapté si

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.

Les concepts à connaître pour bien utiliser LangChain

Ces notions reviennent dans toute application construite avec LangChain.

Ressources pour approfondir LangChain

Trois articles du blog Blent pour aller de la découverte à la mise en production.

Questions fréquentes

Questions fréquentes

Oui. LangChain est un framework open source sous licence MIT, utilisable gratuitement, y compris dans un cadre commercial. Seuls les services associés, comme LangSmith en version hébergée, et les appels aux modèles des fournisseurs sont payants.

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