Accueil / Articles / Explication de RAG : Fournir aux modèles de langage grand public un accès au savoir externe

Explication de RAG : Fournir aux modèles de langage grand public un accès au savoir externe

Une introduction pratique au RAG : segmentation des données, embeddings, recherche vectorielle, récupération hybride, et les cas où RAG produit encore des hallucinations — accompagnée de diagrammes d’architecture clairs.

2065 mots

Les grands modèles de langage répondent en s’appuyant sur leur mémoire d’entraînement. Cette mémoire est puissante mais incomplète : elle peut omettre des guides internes, des politiques obsolètes ou des faits qui n’ont jamais figuré dans des textes publics. La génération augmentée par la récupération d’informations (RAG) comble cette lacune en cherchant d’abord du matériel externe pertinent, puis en demandant au modèle de répondre à partir de ce matériel.

Qu’est-ce que RAG ?

Sans récupération d’informations, une question est directement envoyée au modèle :

User Question
      ↓
     LLM
      ↓
   Answer

Avec RAG, le système trouve des informations pertinentes avant de générer une réponse :

User Question
      ↓
Find Relevant Information
      ↓
Give Information to the LLM
      ↓
     LLM
      ↓
   Answer

Le modèle rédige toujours le texte final ; l’élément nouveau est un contexte issu d’une base de connaissances.

Pourquoi avons-nous besoin de RAG ?

Les dates de fin d’entraînement, les corpus privés et les politiques en constante évolution viennent tous perturber les réponses basées uniquement sur la mémoire. Un manuel du personnel mis à jour la semaine dernière ne figurera pas dans les poids d’un modèle de pointe. RAG permet à l’assistant de consulter ce manuel au moment de la demande sans avoir à être réentraîné.

Un exemple simple de RAG

Employee asks a question
          ↓
Search the employee handbook
          ↓
Find the relevant section
          ↓
Give that section to the LLM
          ↓
LLM generates the answer

L’assistant doit citer le manuel, et non inventer une politique qui « semble correcte ».

Comment fonctionne RAG ?

1. Préparer les connaissances

Importer des fichiers, les diviser, intégrer des fragments et stocker des vecteurs pour la recherche.

2. Répondre à la question

Intégrer la question, récupérer les meilleurs fragments, les regrouper dans un prompt et générer une réponse.

Partie 1 : Préparation des connaissances

Sources typiques pour un assistant RH :

Employee Handbook
Vacation Policy
Benefits Guide
Leave Policy

Le processus de préparation :

Documents
    ↓
Extract Text
    ↓
Break into Smaller Pieces
    ↓
Create Embeddings
    ↓
Store for Search

Étape 1 : Obtenir les informations

Extraire du texte propre à partir de chaque source :

Employee Handbook
        ↓
    Extract text
        ↓
"Employees receive..."
"Vacation requests..."
"Leave policy..."

Les en-têtes, les pieds de page et le cadre de navigation doivent être supprimés tôt afin qu’ils ne deviennent jamais des « faits ».

Étape 2 : Diviser le document en blocs

Les manuels longs dépassent les limites de contexte et masquent le paragraphe pertinent. La segmentation en blocs permet d’obtenir des unités recherchables :

Employee Handbook
       ↓
 ┌───────────────┐
 │    Chunk 1    │
 ├───────────────┤
 │    Chunk 2    │
 ├───────────────┤
 │    Chunk 3    │
 ├───────────────┤
 │      ...      │
 └───────────────┘

Pourquoi la segmentation en blocs est-elle importante ?

Les blocs trop grands affaiblissent la pertinence ; les blocs trop petits perdent les règles environnantes (en particulier les négations et les exceptions). La superposition entre blocs voisins permet de préserver le contexte des limites. Commencez par quelque chose de simple — une taille fixe avec superposition — puis ajustez en fonction des résultats d’évaluation.

Étape 3 : Créer des embeddings

Les embeddings associent du texte à des vecteurs, de sorte que les phrases ayant un sens similaire se trouvent proches même en l’absence de mots-clés communs.

Texte de la question :

"What is my vacation allowance?"

Une paraphrase ayant la même intention :

"How many annual leave days do I get?"

Tous deux peuvent être placés près du même bloc relatif à la politique de vacances après l’incorporation :

"What is my vacation allowance?"
              ↓
          Embedding
              ↓
       Numerical representation

Utilisez le même outil d’incorporation pour l’indexation et les requêtes ; mélanger des modèles perturbe silencieusement la recherche par voisinage le plus proche.

Étape 4 : Stocker les informations pour la recherche

Chaque bloc ainsi que son vecteur sont stockés dans un index vectoriel (ou un stock hybride) :

Document Chunk
      ↓
   Embedding
      ↓
Vector Database

Les métadonnées — titre de la source, page, niveau d’accès, date d’effet — doivent accompagner le bloc afin de permettre des filtres et des citations ultérieures.

Partie 2 : Répondre à la question de l’utilisateur

Parcours en ligne :

User Question
      ↓
Understand the question
      ↓
Search the stored information
      ↓
Find relevant chunks
      ↓
Give those chunks to the LLM
      ↓
Generate an answer

Étape 5 : Récupérer les informations pertinentes

L’incorporation de la question permet de récupérer les meilleurs blocs, par exemple :

Chunk 147 → Vacation carryover policy
Chunk 148 → Vacation request process
Chunk 62  → Employee benefits
Chunk 300 → Security policy

Ici, la qualité du classement domine la qualité de la réponse finale. Une mauvaise récupération ne peut être corrigée par une demande plus élégante.

Étape 6 : Fournir les informations à l’LLM

Le texte récupéré devient le contexte de la demande :

Context:Employees may carry over up to 5 unused
vacation days into the following year.
Question:How many vacation days can I carry over?

Les instructions doivent exiger des réponses basées sur ce contexte et reconnaître les lacunes en l’absence de données pertinentes.

Étape 7 : Générer la réponse

Retrieved Information
        +
User Question
        ↓
       LLM
        ↓
      Answer

Le modèle rédige une réponse fondée sur les lignes récupérées plutôt que sur des connaissances générales en gestion des ressources humaines.

L’architecture complète RAG

Étiquette de préparation hors ligne :

KNOWLEDGE PREPARATION

Diagramme bout en bout :

        Documents
            ↓
      Extract Text
            ↓
         Chunking
            ↓
        Embeddings
            ↓
      Vector Database
            │
            │
            │
            ▼
        USER QUESTION
            ↓
        Query Embedding
            ↓
         Retrieval
            ↓
    Relevant Information
            ↓
     Question + Context
            ↓
            LLM
            ↓
          Answer

Au préalable de la question

Documents
   ↓
Chunks
   ↓
Embeddings
   ↓
Vector Database

Lorsque la question arrive

Question
   ↓
Retrieval
   ↓
Relevant Context
   ↓
LLM
   ↓
Answer

RAG utilise-t-il uniquement la recherche vectorielle ?

Non. Les systèmes en production combinent souvent différentes méthodes.

Recherche par mots-clés

Les outils de correspondance lexicale (BM25 et similaires) sont efficaces pour les tokens exacts : codes de politique, références produits, identifiants d’erreurs, noms propres.

Recherche sémantique

La recherche vectorielle permet de détecter des paraphrases et des synonymes que les mots-clés manquent.

Recherche hybride

Mélangez les deux, puis fusionnez les classements :

Keyword Search
       +
Semantic Search
       ↓
  Hybrid Search

Le mode hybride est un choix par défaut efficace lorsque le trafic mélange des identifiants exacts avec des requêtes en langue naturelle.

RAG ne supprime pas les hallucinations

La récupération diminue les inventions non étayées, mais ne les élimine pas. Les modes de défaillance incluent :

Chargement du mauvais fragment :

User Question
      ↓
Wrong information retrieved
      ↓
LLM
      ↓
Wrong answer

Aucun élément pertinent trouvé, mais le modèle répond quand même :

User Question
      ↓
No relevant information found
      ↓
LLM
      ↓
Unsupported answer

Mesures d’atténuation : récupération plus stricte, réclassement, instructions de refus, citations, et évaluation de la fidélité — et non seulement de la fluidité.

RAG vs Ajustement fin

RAG

C’est le meilleur choix lorsque les connaissances changent fréquemment, doivent être citées, ou restent privées en dehors des données d’entraînement. Les mises à jour impliquent un réindexage, et non un reconditionnement.

Ajustement fin

C’est idéal lorsque le comportement, le style ou le format de la tâche doit changer, ou lorsque les connaissances sont suffisamment stables et compactes pour être intégrées directement. Il est coûteux de les mettre à jour lorsque les politiques évoluent fréquemment.

De nombreux produits utilisent les deux approches : l’ajustement fin pour les compétences, et RAG pour les faits.

Où RAG est-il utile ?

Soutien client

Assistants basés sur les documents du produit et des macros de tickets.

Santé

Référence aux protocoles et directives avec des contrôles stricts de citation et d’accès (les règles de domaine s’appliquent toujours).

Finance

Réponses relatives aux politiques, aux informations à divulguer et aux règles de produit qui doivent tenir compte du texte approuvé le plus récent.

Ressources humaines

Manuels, avantages sociaux, règles de congé — exactement le même schéma de questions des employés que ci-dessus.

Développement logiciel

Aides internes, guides d’exploitation et références API en complément des documents publics.

Quand utiliser RAG ?

Utilisez RAG lorsque les réponses doivent s’appuyer sur un corpus spécifique plus vaste qu’un prompt, qui évolue plus rapidement que les cycles de fine-tuning, ou qui nécessite une traçabilité. Évitez RAG pour les connaissances générales déjà connues par le modèle de base, la créativité pure, ou les processus à très faible latence qui ne peuvent pas se permettre une étape de récupération.

Qu’est-ce qui peut rendre RAG difficile ?

Les limites entre les blocs de texte, le décalage des embeddings, les index obsolètes, les fuites de contrôle d’accès et les écarts dans l’évaluation. Un exemple concret :

L’utilisateur demande :

User asks:
"What is the vacation carryover policy?"

Le système récupère la famille de politiques incorrecte :

             ↓System retrieves:
"Health insurance policy"             ↓LLM receives wrong context             ↓Poor answer

Le modèle semble alors confiant en expliquant l’assurance maladie comme s’il s’agissait d’une extension de l’assurance vacances. Corrigez d’abord la récupération et les filtres de métadonnées avant de blâmer le générateur.

Que devez-vous apprendre pour construire RAG ?

Une échelle de compétences pratiques :

RAG Fundamentals
       ↓
Document Processing
       ↓
Chunking
       ↓
Embeddings
       ↓
Vector Databases
       ↓
Retrieval
       ↓
Prompt + Context
       ↓
LLM
       ↓
Evaluation

Le tableau d’ensemble

Knowledge
                 ↓
            Find relevant
            information
                 ↓
           Give it to LLM
                 ↓
             Generate
              answer

Les choix de segmentation interagissent avec la dimensionnalité d’incorporation et le type d’index : les configurations HNSW à densité uniquement se comportent différemment des bases de données hybrides BM25+vecteurs lorsque les requêtes contiennent à la fois du texte et des identifiants. Il convient d’établir une politique écrite définissant les conditions de reconstruction — nouvelles versions du manuel, pages supprimées, changements de permissions — et de s’assurer que les matériaux supprimés disparaissent réellement de l’index plutôt que de rester sous forme de vecteurs orphelins. La mise en forme des citations doit également faire partie des spécifications de génération : si l’interface promet une traçabilité au niveau de la page, le prompt et le post-processor doivent générer des identifiants sources stables, et non des notes de bas de page décoratives sans destination précise.

Même dans un parcours pour débutants, le réclassement mérite une brève mention. Une liste préliminaire générée par un bi-encodeur est peu coûteuse ; une passe avec un cross-encodeur sur les cinquante meilleurs candidats permet souvent de corriger les erreurs du type « document presque correct, section incorrecte », qui donnent l’impression que les démos ne fonctionnent pas. Associez cela à des règles simples de rejet lorsque les scores de similarité sont inférieurs à un seuil calibré. Les équipes qui omettent l’évaluation découvrent généralement ces problèmes devant les parties prenantes plutôt que dans un cahier de notes.

Finalement, n’oubliez pas la structure économique du RAG : le coût d’indexation est payé en continu à mesure que les corpus s’agrandissent, tandis que le coût de l’ajustement fin est payé par tranches. Pour les domaines à forte composante réglementaire, la facture d’indexation continue est généralement moins chère que les ajustements fins hebdomadaires — et elle permet de citer le paragraphe exact demandé par un auditeur. Cette capacité d’audit est souvent la véritable exigence du produit qui se cache derrière l’objectif de « créer un chatbot ».

Lorsque l’on intègre RAG dans une stack de support existante, il convient de commencer avec un seul corpus et une seule famille de questions plutôt que d’essayer de tout gérer en même temps. Mesurez le taux de déviation, d’escalade et de plaintes liées à des réponses incorrectes sur cette petite portion avant d’ajouter massivement des espaces Confluence. Des tests ciblés permettent de déterminer quels volumes de données et quelles pondérations hybrides fonctionnent ; en revanche, des déploiements à grande échelle montrent généralement que les tableaux de bord dépourvus de métriques de fiabilité cachent des régressions. Pendant les premières semaines, maintenez une file d’attente pour l’examen humain des réponses contestées, afin que les éditeurs puissent distinguer entre « bonne récupération des données / mauvaise génération » et « mauvaise récupération », ce qui correspond à des méthodes de correction différentes. Avec le temps, ces étiquettes deviennent des signaux d’entraînement pour les outils de ré-évaluation et aident à décider si un sujet doit quitter RAG pour être traité selon un flux de travail déterministe.

Conclusion finale

Store external knowledge
        ↓
Find relevant information
        ↓
Give that information to an LLM
        ↓
Generate a grounded response

Stocker les connaissances externes, trouver les éléments pertinents pour chaque question, puis seulement générer une réponse. Ce cycle en trois étapes est le RAG : simple à concevoir, difficile à mettre en œuvre efficacement, mais reste la méthode la plus pratique pour garantir que les assistants restent fidèles aux faits privés et en évolution.

La discipline opérationnelle distingue les démos des assistants durables : figez un ensemble de questions, mesurez les taux de réussite de la récupération ainsi que le degré de fidélité des réponses, et reconstruisez les index selon un calendrier adapté à la fréquence de modification des documents sources. Lorsque l’on utilise des recherches hybrides, un réclassement ou des filtres de métadonnées, conservez le même tableau de suivi afin que les améliorations soient visibles et non basées sur des observations isolées. Traitez les étiquettes d’accès comme faisant partie du contenu transmis dès le premier jour ; ajouter des permissions ultérieurement est la cause pour laquelle des notes internes confidentielles d’HR se retrouvent dans des chats publics. Enfin, préférez un refus accompagné d’une demande de citation à une supposition hasardeuse lorsque les extraits principaux semblent insuffisants — les utilisateurs font plus confiance au silence calculé qu’à des inventions sophistiquées.

Gardez à disposition des guides opérationnels pour la reconstruction des index, les révisions d’accès et les modes de défaillance connus, à côté des diagrammes des scénarios idéaux, afin que les opérateurs héritent de plus qu’un simple ensemble de diapositives.

Gardez des manuels opérationnels pour la reconstruction des index, les revues d’accès et les modes de défaillance connus à côté des diagrammes des parcours idéaux, afin que les opérateurs reçoivent plus qu’un simple ensemble de diapositives.

Gardez des manuels opérationnels pour la reconstruction des index, les revues d’accès et les modes de défaillance connus à côté des diagrammes des parcours idéaux, afin que les opérateurs reçoivent plus qu’un simple ensemble de diapositives.

Gardez des manuels opérationnels pour la reconstruction des index, les revues d’accès et les modes de défaillance connus à côté des diagrammes des parcours idéaux, afin que les opérateurs reçoivent plus qu’un simple ensemble de diapositives.

Gardez des manuels opérationnels pour la reconstruction des index, les revues d’accès et les modes de défaillance connus à côté des diagrammes des parcours idéaux, afin que les opérateurs reçoivent plus qu’un simple ensemble de diapositives.

Gardez des manuels opérationnels pour la reconstruction des index, les revues d’accès et les modes de défaillance connus à côté des diagrammes des parcours idéaux, afin que les opérateurs reçoivent plus qu’un simple ensemble de diapositives.

Gardez des documents de procédure pour la reconstruction des index, les revues d’accès et les modes de défaillance connus à côté des diagrammes des scénarios idéaux, afin que les opérateurs reçoivent plus qu’un simple ensemble de diapositives.