Aller au contenu
Cercle IA Tech · RAG Un site du réseau Cercle IA Tech

Guide

RAG avec LangChain : la chaîne pas à pas

Un RAG avec LangChain d'après sa documentation : découpage, plongements, base vectorielle, outil de recherche et schémas Deep Agents.

Mis à jour le

LangChain est une bibliothèque Python qui assemble les briques d'un RAG : découpeurs de texte, modèles de plongements, bases vectorielles, modèles de langage. Son tutoriel RAG officiel, consulté le 15/11/2026, s'intitule désormais « Retrieval Augmented Generation (RAG) with Deep Agents » : il construit la recherche comme un outil qu'un agent appelle. Voici la chaîne, d'après cette documentation, puis ce qu'il faut changer pour un usage en entreprise.

Les étapes décrites par LangChain

Étape Ce que fait le tutoriel
Charger récupère des pages de documentation et les enveloppe dans des objets Document, avec la source en métadonnée
Découper RecursiveCharacterTextSplitter avec chunk_size=1000, chunk_overlap=200
Calculer les plongements un modèle de plongements, au choix parmi une quinzaine de fournisseurs
Stocker InMemoryVectorStore
Récupérer similarity_search(query, k=4) dans un outil de recherche
Générer le modèle répond à partir de la question et des passages

Le code, d'après la documentation

Installation (commande donnée par le tutoriel) :

pip install deepagents "langchain[openai]" langchain-text-splitters requests numpy

Le paquet langchain[openai] correspond au fournisseur par défaut des exemples ; les onglets de configuration du tutoriel proposent aussi, entre autres, Ollama, Mistral AI, Voyage AI, Cohere, HuggingFace et Google Gemini. Choisissez le vôtre et adaptez l'installation.

Découpage :

text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
all_splits = text_splitter.split_documents(docs)

Stockage :

vector_store = InMemoryVectorStore(embedding=embeddings)
vector_store.add_documents(documents=all_splits)

Recherche, à l'intérieur de l'outil appelé par l'agent :

retrieved_docs = vector_store.similarity_search(query, k=4)

Les quatre schémas proposés

Le tutoriel présente quatre façons d'organiser la recherche avec Deep Agents, et en implémente la dernière :

  1. Recherche guidée par une compétence : l'agent charge des consignes qui expliquent comment chercher dans le corpus, puis appelle l'outil de recherche.
  2. Réponse vérifiée par une grille : un sous-agent évaluateur (RubricMiddleware) relit la réponse et la fait réviser jusqu'à ce qu'elle passe ou qu'un plafond d'itérations soit atteint.
  3. Enquête par liste de tâches : l'agent dresse une liste de recherches à faire, les mène une à une, puis synthétise.
  4. Récupérer, déposer, déléguer : les passages récupérés sont écrits sur un système de fichiers, et des sous-agents les lisent et les résument en parallèle pour garder léger le contexte de l'agent principal.

Pour un premier RAG d'entreprise, ces schémas sont souvent plus que nécessaire. Une chaîne simple « chercher puis répondre » sert d'étalon ; la page RAG agentique explique quand passer à un agent, avec le tutoriel LangGraph correspondant.

Ce qu'il faut changer pour la production

  • La base vectorielle. InMemoryVectorStore vit en mémoire : tout disparaît à l'arrêt du programme. Les onglets du tutoriel proposent notamment Chroma, Milvus, MongoDB, PGVector, Pinecone et Qdrant.
  • Le découpage. chunk_size=1000 est un réglage d'exemple. La documentation des découpeurs présente aussi des découpeurs par structure (titres Markdown, balises HTML, code) ; testez-les sur vos documents (voir Chunking).
  • Le nombre de résultats. k=4 convient à une documentation courte. Pour des questions qui croisent plusieurs documents, augmentez-le et ajoutez un retri.
  • Les métadonnées. Le tutoriel garde la source de chaque document : ajoutez la page, la date et les groupes autorisés, puis filtrez la recherche sur ces groupes (voir Droits d'accès).
  • La mesure. Avant de toucher à quoi que ce soit, figez un jeu de questions (voir Évaluer un RAG).

LangChain ou LlamaIndex ?

Les deux couvrent la chaîne complète. Le tutoriel RAG de LangChain construit la recherche comme un outil appelé par un agent ; l'exemple de démarrage de LlamaIndex part d'un index et d'un moteur de requête, en quelques lignes (voir RAG avec LlamaIndex). Le choix dépend surtout de ce que votre équipe connaît déjà. Ce site est édité par IArche, qui édite ALMA ; il ne classe pas ces bibliothèques.

Vérifier la version

La documentation de LangChain évolue avec ses versions : un exemple trouvé sur un blog plus ancien peut ne plus correspondre au code actuel. Reprenez toujours le code depuis la documentation officielle, à la date où vous l'écrivez.

Questions fréquentes

Quelle base vectorielle utiliser avec LangChain ?

Le tutoriel RAG utilise InMemoryVectorStore, en mémoire, pour apprendre. Ses onglets proposent aussi, entre autres, Chroma, Milvus, PGVector, Pinecone et Qdrant pour un usage durable.

LangChain impose-t-il un fournisseur de modèles ?

Non. Le tutoriel propose une quinzaine de fournisseurs de plongements, dont Ollama, Mistral AI, Voyage AI, Cohere et HuggingFace.

Sources

Pages consultées pour écrire cet article :

  1. https://docs.langchain.com/oss/python/langchain/rag
  2. https://docs.langchain.com/oss/python/integrations/splitters
  3. https://docs.langchain.com/oss/python/langgraph/agentic-rag

À lire aussi