LangChain
LangChain est un framework open source permettant de créer des applications et des agents LLM à partir de modèles, d’outils, de systèmes de récupération et de composants intermédiaires interchangeables.
LangChain est un framework open source permettant de créer des applications et des agents d’IA reposant sur des grands modèles de langage (LLM). Il fournit à chaque fournisseur de modèles la même interface pour les messages, les modèles conversationnels, les outils et les systèmes de recherche, de sorte qu’une application peut passer du modèle d’un fournisseur à celui d’un autre en changeant simplement le nom du modèle ; il propose également des boucles d’agent prêtes à l’emploi et des centaines d’intégrations avec des bases vectorielles, des chargeurs de documents et des API. Harrison Chase a publié LangChain comme projet Python open source en octobre 2022, quelques semaines avant le lancement de ChatGPT ; le framework est devenu l’une des boîtes à outils les plus utilisées pour combiner invites, recherche et appels de modèles dans des applications d’IA générative. LangChain 1.0 et LangGraph 1.0 sont sortis ensemble le 22 octobre 2025, avec l’engagement de ne pas introduire de changements incompatibles avant la version 2.0.
L’écosystème LangChain#
Le nom désigne désormais une famille de packages, disponibles en Python et en JavaScript :
- langchain : Le framework d’agents, centré sur
create_agent, qui prend un modèle, une liste d’outils et une invite système et renvoie un agent opérationnel. - langchain-core et intégrations : Des interfaces standard pour les modèles conversationnels, les messages, les plongements, les systèmes de recherche et les outils, ainsi que des packages de fournisseurs comme langchain-openai et langchain-anthropic qui les implémentent.
- LangGraph : L’environnement d’exécution de plus bas niveau sur lequel reposent les agents LangChain. Il représente un programme sous forme de graphe d’étapes opérant sur un état partagé et peut enregistrer cet état après chaque étape, afin que les tâches longues survivent aux redémarrages et puissent être suspendues pour obtenir une approbation humaine.
- LangSmith : Une plateforme hébergée pour les traces d’observabilité, l’évaluation d’agents sur des jeux de données et le déploiement d’agents.
Les applications LangChain classiques étaient des chaînes : un modèle d’invite rempli avec les données de l’utilisateur, un appel de modèle et un analyseur de sortie, assemblés avec une syntaxe à base de tubes comme dans l’enchaînement d’invites. La chaîne la plus courante est la génération augmentée par récupération (RAG) : elle charge des documents, les divise en segments, stocke leurs plongements dans une base de données vectorielle et ajoute à la fenêtre de contexte du modèle les segments qui correspondent le mieux à chaque question.
Fonctionnement d’un agent LangChain#
Un agent créé avec create_agent répète une boucle d’appels au modèle et d’appels aux outils, comme la boucle d’appel de fonctions exécutée par chaque environnement d’exécution d’agent. Le middleware intervient à chaque étape pour modifier ce qui se passe autour du modèle : le middleware intégré résume les historiques longs, masque les données personnelles et suspend l’exécution pour obtenir une approbation humaine avant l’utilisation de certains outils.
Donner la vision à un agent LangChain#
Le décorateur @tool de LangChain transforme une fonction Python en outil, en lisant les types d’arguments dans sa signature et la description dans sa docstring. L’encapsulation de Ultralytics YOLO26 de cette manière donne à un agent la capacité de détecter des objets, et Results.summary() renvoie chaque détection sous forme de données lisibles par le modèle : nom de classe, score de confiance et boîte.
from langchain_core.tools import tool
from langchain_core.utils.function_calling import convert_to_openai_tool
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
@tool
def detect_objects(image_url: str) -> list[dict]:
"""Detect objects in an image and return each one's class name, confidence, and box."""
results = model(image_url)
return results[0].summary()
# Le schéma que LangChain déduit de la signature et de la docstring, tel qu’il est transmis au modèle
print(convert_to_openai_tool(detect_objects))
# Un agent exécute l’outil avec les arguments issus de l’appel d’outil du modèle
detections = detect_objects.invoke({"image_url": "https://ultralytics.com/images/bus.jpg"})
print(detections[0]["name"], detections[0]["confidence"])Le premier affichage montre la définition de la fonction, avec un paramètre de chaîne image_url et la docstring comme description, que LangChain envoie au modèle ; le second montre la première détection renvoyée par l’outil. Transmettre tools=[detect_objects] à create_agent permet à tout modèle conversationnel pris en charge d’appeler le détecteur via le mode prédiction.
LangChain et les outils apparentés#
- Flux de travail agentiques : Les modèles de conception généraux, tels que le routage, l’utilisation d’outils et les boucles d’évaluation, que mettent en œuvre les graphes LangGraph et les agents LangChain.
- SDK de fournisseurs : L’appel direct à l’API d’un fournisseur de modèles ne nécessite aucun framework et convient aux applications utilisant un seul modèle. LangChain ajoute des interfaces communes, des intégrations et une boucle d’agent, utiles dès qu’une application fait appel à plusieurs modèles, outils ou sources de données.
- DSPy : Un framework qui rédige et optimise automatiquement les invites d’un programme LLM à plusieurs étapes, en les ajustant selon une métrique calculée sur des données d’exemple.
- LlamaIndex : Un framework axé sur l’ingestion, l’indexation et l’interrogation de données privées pour la RAG. Les deux se recoupent, et les applications utilisent souvent LlamaIndex pour la recherche au sein d’un agent LangChain ou LangGraph.










