Accéder au contenu principal

Introduction à LangChain pour l’ingénierie des données et les applications data

LangChain est un framework pour intégrer l’IA des grands modèles de langage dans des pipelines et des applications data. Ce tutoriel présente un aperçu de ce qu’il est possible de faire avec LangChain, les problèmes qu’il résout et des exemples de cas d’usage data.
Actualisé 19 sept. 2026  · 11 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

Les grands modèles de langage (LLM) comme OpenAI GPT, Google BERT et Meta LLaMA révolutionnent tous les secteurs grâce à leur capacité à générer presque n’importe quel texte, du contenu marketing au code de data science, jusqu’à la poésie. Si ChatGPT a capté l’essentiel de l’attention grâce à son interface de conversation intuitive, il existe bien d’autres façons d’exploiter les LLM en les intégrant à d’autres logiciels.

Par exemple, DataLab inclut un assistant IA qui vous aide à écrire ou à améliorer le code et le texte de vos analyses, et les cours interactifs de DataCamp proposent une fonctionnalité "expliquer mon erreur" pour comprendre où vous vous êtes trompé. Ces fonctionnalités sont propulsées par GPT et accessibles via l’API d’OpenAI.

LangChain fournit un framework au‑dessus de plusieurs API pour les LLM. Il est conçu pour rendre les développeurs et ingénieurs data plus productifs lorsqu’ils intègrent de l’IA basée sur des LLM dans leurs applications et pipelines de données.

Ce tutoriel présente les problèmes que LangChain résout et ses principaux cas d’usage, afin que vous sachiez pourquoi et quand l’utiliser. Avant de poursuivre, il est utile de comprendre le principe d’un LLM. Le tutoriel Comment le NLP transforme l’avenir de la data science est une bonne remise à niveau.

Quels problèmes LangChain résout‑il ?

Il existe essentiellement deux modes d’interaction avec les LLM.

  1. Le "chat" consiste à rédiger un prompt, l’envoyer à l’IA et recevoir une réponse textuelle.
  2. Les "embeddings" consistent à rédiger un prompt, l’envoyer à l’IA et recevoir en retour un tableau numérique.

Ces deux workflows présentent des difficultés que LangChain cherche à résoudre.

Les prompts regorgent de texte standard

Un des problèmes du chat comme des embeddings, c’est qu’un bon prompt ne se limite pas à définir la tâche à accomplir. Il faut aussi préciser la personnalité et le style d’écriture de l’IA, et inclure des consignes pour favoriser l’exactitude factuelle. Autrement dit, vous pourriez vouloir écrire un prompt simple décrivant la tâche :

Write an outline for a 500-word blog post targeted at teenagers about the health benefits of doing yoga.

Cependant, pour obtenir une réponse de qualité, il faut plutôt quelque chose comme :

You are an expert sports scientist. Your writing style is casual but terse.

Write an outline for a 500-word blog post targeted at teenagers about the health benefits of doing yoga.

Only include factually correct information. Explain your reasoning.

Une grande partie de ce texte standard sera la même d’un prompt à l’autre. Idéalement, vous voulez l’écrire une fois et l’insérer automatiquement dans les prompts souhaités.

LangChain résout ce problème de texte standard via des modèles de prompt. Ils combinent l’entrée utile du prompt (ici, le texte sur l’écriture d’un article de blog sur le yoga) avec le texte standard (style d’écriture et exigence d’exactitude factuelle).

Les réponses sont non structurées

Dans les workflows de chat, la réponse du modèle est du texte brut. Or, lorsqu’on utilise l’IA dans un logiciel, il est souvent souhaitable d’obtenir une sortie structurée, exploitable par programme. Par exemple, si l’objectif est de générer un jeu de données, on voudra une réponse dans un format précis comme CSV ou JSON.

En supposant que vous parveniez à écrire un prompt amenant l’IA à répondre de manière cohérente dans un format adapté, il faut un moyen de traiter cette sortie. LangChain fournit des outils d’analyse de sortie précisément pour cela.

Changer de LLM est compliqué

Même si GPT connaît un succès fulgurant, de nombreux autres LLM existent. En programmant directement contre l’API d’un éditeur, vous enfermez votre logiciel dans cet écosystème. Il est tout à fait plausible qu’après avoir bâti vos fonctionnalités d’IA sur GPT, vous réalisiez que des capacités multilingues plus fortes sont nécessaires. Vous pourriez alors vouloir basculer vers Polyglot, ou passer d’une IA hébergée à une IA embarquée dans votre produit et exiger un modèle plus compact, comme StableLM de Stability AI.

LangChain propose une classe LLM dont l’abstraction facilite grandement l’échange d’un modèle pour un autre, ou même l’utilisation de plusieurs modèles au sein de votre logiciel.

Les LLM ont une mémoire courte

La réponse d’un LLM est générée à partir de la conversation précédente (les prompts de l’utilisateur et ses propres réponses). Toutefois, les LLM ont une mémoire assez limitée. Même l’état de l’art, GPT‑4, a par défaut une mémoire de 8 000 tokens (environ 6 000 mots).

Dans un workflow de chat, si la conversation dépasse ces limites, les réponses de l’IA peuvent devenir incohérentes (puisqu’elle ne se souvient plus du début). Les chatbots en sont un bon exemple. Idéalement, le chatbot doit se rappeler l’ensemble de l’échange avec le client pour éviter les contradictions.

LangChain résout le problème de mémoire en fournissant des outils d’historique des messages. Ils permettent de réinjecter les messages précédents au LLM pour lui rappeler le contexte.

Intégrer les LLM dans des pipelines est difficile

Dans des pipelines de données ou des applications logicielles, l’IA n’est souvent qu’un maillon d’un enchaînement plus vaste. Par exemple, vous pouvez vouloir récupérer des données depuis une base, les transmettre au LLM, puis traiter la réponse et l’envoyer à un autre système.

LangChain propose des outils adaptés aux workflows en pipeline via des chaînes et des agents. Les chaînes assemblent simplement plusieurs composants (pour des pipelines linéaires). Les agents sont plus sophistiqués et permettent d’introduire de la logique métier pour décider de la manière dont les composants interagissent. Par exemple, vous pouvez appliquer une logique conditionnelle selon la sortie d’un LLM pour déterminer l’étape suivante.

Transmettre des données au LLM est délicat

La nature textuelle des LLM fait qu’il n’est pas toujours évident de leur fournir des données. Le problème comporte deux volets.

Premièrement, il faut stocker les données dans un format qui vous laisse contrôler quelles portions du jeu de données seront envoyées au LLM. (Pour des jeux rectangulaires comme un DataFrame ou une table SQL, on envoie généralement les données ligne par ligne.)

Deuxièmement, vous devez déterminer comment inclure ces données dans le prompt. L’approche la plus simple consiste à insérer directement le jeu de données dans le prompt ("prompt stuffing"), mais il existe des options plus avancées.

LangChain résout le premier volet avec des index. Ils permettent d’importer des données depuis des bases, des fichiers JSON, des DataFrames pandas, des fichiers CSV et d’autres formats, puis de les stocker dans un format adapté à une alimentation ligne par ligne d’un LLM.

Pour le deuxième volet, LangChain propose des chaînes liées aux index et des classes correspondant à quatre techniques pour transmettre des données au LLM.

Le prompt stuffing insère l’ensemble du jeu de données dans le prompt. C’est très simple, mais cela ne fonctionne que pour de petits volumes.

Le map‑reduce découpe les données en blocs, appelle le LLM avec un prompt initial sur chaque bloc (phase "map"), puis appelle de nouveau le LLM avec un prompt différent qui inclut les réponses de la première passe. Cette approche convient chaque fois que vous songeriez à utiliser une commande "group by".

Refine est une méthode itérative de type bayésien : vous exécutez un prompt sur le premier bloc de données, puis pour chaque bloc supplémentaire, vous utilisez un prompt demandant au LLM d’affiner le résultat au regard du nouveau jeu de données. Cette approche fonctionne bien lorsque vous cherchez à faire converger la réponse vers une sortie précise.

Le map‑rerank est une variante du map‑reduce. La première partie est identique : découpage en blocs et exécution d’un prompt sur chaque bloc. La différence : vous demandez au LLM de fournir un score de confiance pour sa réponse afin de classer les sorties. Cette méthode convient aux tâches de recommandation où l’on cherche la "meilleure" réponse unique.

Quels langages de programmation sont pris en charge par LangChain ?

LangChain peut être utilisé en JavaScript via le package node langchain. C’est idéal pour intégrer l’IA dans des applications web.

Il peut aussi être utilisé en Python via le package langchain (PyPI, conda). C’est adapté pour intégrer l’IA dans des pipelines de données ou des logiciels en Python.

Quels sont les principaux cas d’usage de LangChain ?

LangChain s’utilise partout où vous pourriez recourir à un LLM. Nous couvrons ici plusieurs exemples orientés data, en expliquant les fonctionnalités de LangChain pertinentes.

Interroger des jeux de données en langage naturel

L’un des cas d’usage les plus transformants des LLM pour l’analyse de données est la capacité d’écrire des requêtes SQL (ou l’équivalent en Python ou R) en langage naturel. Cela rend l’exploration de données accessible aux personnes sans compétences en code.

Plusieurs variantes de workflow existent. Pour de petits jeux de données, vous pouvez demander au LLM de produire directement les résultats. Il s’agit de charger les données dans un format adapté à l’aide des chargeurs de documents de LangChain, de transmettre les données au LLM via des chaînes liées aux index, puis d’analyser la réponse avec un parseur de sortie.

Plus couramment, vous transmettrez au LLM des détails sur la structure des données (noms de tables, noms et types de colonnes, informations comme les colonnes avec valeurs manquantes) et lui demanderez du code SQL/Python/R. Vous exécuterez ensuite ce code. Ce flux est plus simple, car il n’implique pas de passage de données ; LangChain reste utile pour modulariser les étapes.

Autre variante : ajouter un second appel au LLM pour interpréter les résultats. Ce type de workflow, qui implique plusieurs appels au LLM, est précisément là où LangChain excelle. Vous pouvez utiliser l’historique des messages pour garantir que l’interprétation des résultats reste cohérente avec la structure des données fournie au préalable.

Interagir avec des API

Pour des cas d’usage data comme la création d’un pipeline, l’intégration d’un LLM s’inscrit souvent dans un workflow plus long impliquant d’autres appels d’API. Par exemple, vous pouvez vouloir récupérer des cours de bourse via une API ou interagir avec une plateforme cloud.

Les fonctionnalités de chaînes et d’agents de LangChain, qui permettent de relier ces étapes en séquence (et d’ajouter de la logique métier pour des pipelines avec embranchements), sont idéales pour ce cas.

Créer un chatbot

Les chatbots comptent parmi les usages les plus populaires de l’IA, et l’IA générative ouvre de belles perspectives pour des agents plus réalistes. Toutefois, il peut être fastidieux de contrôler la personnalité du bot et de lui faire mémoriser le contexte de la conversation.

Les modèles de prompt de LangChain vous donnent la main sur la personnalité du chatbot (ton et style de communication) et sur les réponses produites.

En complément, les outils d’historique des messages permettent de doter le chatbot d’une mémoire plus longue que les quelques centaines ou milliers de mots proposés par défaut par les LLM, pour une plus grande cohérence au sein d’une conversation, voire entre plusieurs conversations.

Autres usages

Ce tutoriel ne fait qu’effleurer le champ des possibles. Les cas d’usage des LLM pour les professionnels de la donnée sont nombreux. Que vous souhaitiez créer un assistant personnel, résumer des rapports ou répondre à des questions sur des documents de support ou une base de connaissances, LangChain fournit un cadre pour intégrer l’IA à tout pipeline ou application data que vous pouvez imaginer.

Passez au niveau supérieur

Des contenus LangChain arrivent bientôt sur DataCamp. En attendant, vous pouvez explorer l’un des cas d’usage présentés ici avec le cours Building Chatbots in Python.

Sujets
Ingénierie des données
Intelligence artificielle