Aller au contenu
Développement medium

RAG : augmenter un LLM avec vos données

9 min de lecture

logo python

Un modèle de langage répond à côté quand on l'interroge sur une documentation interne : il ne l'a jamais vue. Le RAGRetrieval-Augmented Generation — résout ce problème sans réentraîner le modèle : il cherche les passages pertinents dans vos documents, puis les injecte dans le prompt pour produire une réponse précise et sourcée. Cette page est la porte d'entrée du parcours RAG : elle explique l'architecture en deux phases, les quatre décisions qui pèsent le plus sur la qualité, et enchaîne sur les guides pratiques — de l'extraction du contenu jusqu'au RAG en production. Public visé : développeur qui veut construire un assistant fiable sur ses propres données.

  • Ce qu'est un RAG et le problème concret qu'il résout.
  • L'architecture en deux phases : indexation et recherche.
  • Les quatre décisions clés qui déterminent la qualité.
  • Le parcours complet, étape par étape, jusqu'à la production.

Un modèle de langage connaît énormément de choses — mais pas les vôtres : ni votre documentation interne, ni vos runbooks, ni vos post-mortems. Posez-lui une question dessus, et il invente une réponse plausible — une hallucination — ou avoue son ignorance.

Le RAG renverse l'approche. Au lieu d'espérer que le modèle « connaisse » vos documents, on les lui fournit au moment de la question. Le système cherche les passages utiles dans votre base documentaire, les place dans le prompt, et le modèle rédige sa réponse à partir de ce contexte.

Le RAG n'est pas la seule façon d'adapter un modèle, et il ne couvre pas tous les besoins. Le tableau ci-dessous situe quand il s'impose et quand une autre approche convient mieux.

BesoinApproche adaptée
Répondre à partir de docs internes, wiki, runbooksRAG
Données qui changent souventRAG
Imposer un style (ton, format)Prompt engineering, fine-tuning
Agir : déployer, ouvrir un ticketAgent + outils
Ancrer des connaissances générales durablesFine-tuning

Trois propriétés expliquent que le RAG soit devenu l'approche par défaut pour exploiter des données propriétaires.

Il est à jour. La base documentaire se met à jour indépendamment du modèle : un document modifié ce matin est interrogeable cet après-midi, sans réentraînement.

Il est vérifiable. Comme la réponse s'appuie sur des passages identifiés, le RAG peut citer ses sources — l'utilisateur remonte au document d'origine et tranche lui-même. C'est la différence entre une réponse opaque et une réponse auditable.

Il est économe. Pas de fine-tuning, pas de GPU d'entraînement : un RAG se construit avec une base vectorielle, un modèle d'embedding et un modèle de génération — tous trois exécutables en local, sur l'infrastructure que vous maîtrisez.

Un RAG se décompose en deux phases distinctes, qui ne s'exécutent pas au même moment.

Pipeline RAG : indexation, recherche et génération

La phase d'indexation prépare les documents. Elle tourne une fois, puis à chaque mise à jour du corpus — c'est du traitement par lots, hors ligne.

  1. Collecter — récupérer le contenu : pages web, Markdown, PDF.

  2. Nettoyer — retirer le HTML résiduel, normaliser l'encodage et les espaces.

  3. Découper — diviser chaque document en chunks de quelques centaines de mots.

  4. Encoder — transformer chaque chunk en vecteur numérique (embedding).

  5. Stocker — ranger les vecteurs dans une base vectorielle (Qdrant).

La phase de recherche et génération s'exécute, elle, à chaque question de l'utilisateur — en ligne, en temps réel.

  1. Encoder la question — la transformer en vecteur, avec le même modèle d'embedding.

  2. Rechercher — trouver les chunks les plus proches par similarité.

  3. Construire le prompt — injecter les chunks pertinents dans le contexte.

  4. Générer — le modèle rédige la réponse à partir de ce contexte.

  5. Citer — joindre les sources des chunks utilisés.

Quatre choix pèsent plus que tous les autres sur la qualité d'un RAG. Les garder en tête dès le départ évite des refontes.

La taille des chunks d'abord. Trop petits, ils perdent leur contexte et deviennent incompréhensibles ; trop grands, leur embedding se dilue et noie le signal. Quelques centaines de mots, avec un léger recouvrement entre chunks voisins, est le bon équilibre de départ.

Le modèle d'embedding ensuite. C'est lui qui décide si deux textes « se ressemblent ». Un modèle inadapté à votre langue ou à votre domaine fait échouer la recherche en amont de tout le reste — un RAG francophone exige un modèle d'embedding multilingue.

Le nombre de chunks récupérés — le top-K. Trop peu, et l'information utile est manquée ; trop, et le contexte se remplit de bruit qui dégrade la réponse. Une poignée de chunks bien choisis vaut mieux qu'une vingtaine au hasard.

Le type de recherche enfin. La recherche dense seule — par similarité de sens — rate les termes exacts : codes d'erreur, identifiants, noms de fonctions. Sur de la documentation technique, la combiner à une recherche lexicale (recherche hybride) change nettement les résultats.

Le reste du parcours déroule chaque étape dans l'ordre. Suivez-le linéairement pour une progression logique, ou sautez à rag-pratique pour assembler un RAG d'un coup.

Avant d'indexer, il faut un corpus propre. Ces trois guides couvrent la collecte et la préparation du texte.

Le cœur du RAG : transformer le texte en vecteurs et le stocker dans une base capable de recherche par similarité.

Une fois les briques connues, on assemble le pipeline, on en améliore la pertinence, puis on le met en production.

Quelques erreurs reviennent systématiquement sur un premier RAG. Les connaître à l'avance fait gagner des heures de débogage.

ErreurConséquenceCorrection
Chunks trop grosEmbeddings dilués, bruitQuelques centaines de mots par chunk
Pas de recouvrementContexte perdu aux frontièresRecouvrement léger entre chunks voisins
Recherche dense seuleRate les codes et identifiants exactsAjouter une recherche lexicale (hybride)
Prompt trop permissifLe modèle hallucine hors contexte« Réponds uniquement à partir du contexte »
Documents mal extraitsRetrieval incohérentNettoyer le corpus avant indexation
Aucune métriqueImpossible de mesurer un progrèsÉvaluer le RAG sur un jeu de questions
  • Le RAG fournit au modèle vos documents au moment de la question — pas de réentraînement.
  • Il est à jour, vérifiable (sources citées) et économe (exécutable en local).
  • L'architecture a deux phases : indexation hors ligne, recherche et génération en temps réel.
  • Quatre décisions dominent : taille des chunks, modèle d'embedding, top-K, type de recherche.
  • La recherche hybride dépasse la recherche dense seule sur la documentation technique.
  • Sans évaluation, on pilote un RAG à l'aveugle.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn