Skip to main content

RAG (Retrieval-Augmented Generation)

POUR AGENT IAChatGPTClaude

Modèle architectural d'IA d'entreprise qui enrichit dynamiquement la fenêtre contextuelle du modèle avec des connaissances vérifiées et pertinentes issues de sources externes (bases vectorielles, graphes, index en texte intégral) avant la génération de la réponse finale.

1. Vue d'ensemble du concept et problème systémique

Tenter de « forcer » l'ensemble des documents internes d'une entreprise dans les poids d'un réseau neuronal via un pré-entraînement ou un Fine-Tuning constitue une erreur d'ingénierie fondamentale :

  1. Oubli catastrophique (Catastrophic Forgetting) : Le modèle risque de perdre partiellement ses capacités fondamentales de raisonnement en tentant de mémoriser des articles corporatifs spécifiques.
  2. Impossibilité de révoquer les données (Right to be Forgotten / RGPD) : Si un document confidentiel est intégré aux poids du modèle, il est impossible de le retirer sans procéder à un réentraînement complet, dont le coût peut atteindre plusieurs centaines de milliers de dollars.
  3. Absence de séparation des droits d'accès (RBAC) : Un modèle entraîné divulguera à un employé standard des informations sur les salaires des cadres dirigeants, car les données sont mélangées au sein des matrices de poids globales.

RAG (Retrieval-Augmented Generation) dissocie l'intelligence computationnelle du stockage de données : le LLM reste un « processeur de raisonnement » neutre, tandis que toutes les connaissances sont conservées dans une base de données externe sous strict contrôle d'ingénierie.

2. Taxonomie architecturale et modèle mental

L'évolution de l'architecture RAG se classe en trois générations :

  • 1. RAG Naïf (Naive RAG) : Pipeline linéaire : Chunking -> Embedding -> Vector DB -> Top-K Nearest Neighbors -> Prompt Context. Il présente un niveau de bruit élevé, ignore les correspondances exactes et souffre d'hallucinations lors de découpes textuelles inappropriées.
  • 2. RAG Avancé (Advanced RAG) : Intègre des étapes avant et après la récupération :
    • Pre-Retrieval : Expansion de requête (Query Expansion), génération de réponses hypothétiques (HyDE) et routage vers différentes bases de connaissances.
    • Retrieval : Recherche hybride (BM25 + vecteurs HNSW).
    • Post-Retrieval : Filtrage par métadonnées, compression du contexte et reranking via Cross-Encoder.
  • 3. RAG Modulaire et Agentique (Modular / Agentic RAG) : L'agent décide lui-même quand effectuer une recherche, vérifie les faits obtenus (Self-RAG), corrige la requête en cas de manque de données et utilise des index graphiques (GraphRAG) pour détecter des relations complexes entre entités.

3. Pipeline technique et mécanique interne

Le cycle complet d'un système RAG en production se compose de deux boucles :

Boucle d'indexation (Offline Ingestion Pipeline) :

  1. Parsing & Clean : Extraction du texte depuis PDF, Markdown, Notion ou SQL, nettoyage des balises.
  2. Syntax-Aware Chunking : Segmentation selon des frontières logiques (AST / titres) avec une zone de chevauchement (overlap buffer).
  3. Vectorization & Indexing : Génération des vecteurs d'embeddings et stockage dans la base vectorielle avec les métadonnées d'accès.

Boucle de requête (Online Query Pipeline) :

  1. Query Transformation : Conversion de la question utilisateur en une requête de recherche optimisée.
  2. Hybrid Retrieval : Extraction simultanée de candidats via les vecteurs et l'index full-text BM25.
  3. Re-ranking : Un modèle reranker (Cross-Encoder) classe les 30 meilleurs chunks trouvés et conserve les 5 plus pertinents.
  4. Grounded Generation : Le LLM reçoit un prompt strict contenant les chunks injectés et formule une réponse précise avec citation obligatoire des sources.

4. Scénarios d'ingénierie pratiques en production

01. Assistant corporatif avec séparation des droits (RBAC)

La requête de l'utilisateur est accompagnée de son JWT-token. La base vectorielle filtre les documents dès l'étape de pre-filtering : WHERE team_id = 'engineering' AND access_level <= user.level. Le modèle ne reçoit physiquement aucune information dans son contexte à laquelle l'utilisateur n'a pas accès.

02. Documentation technique pour ingénieurs avec liens directs

Un développeur demande : « comment configurer la réplication SQLite ». RAG retourne la séquence exacte des étapes avec des références [source: docs/replication.md#L45], permettant à l'ingénieur d'accéder au code source en un seul clic.

03. Audit automatisé de conformité des contrats juridiques

Le système vérifie un contrat de 100 pages contre le registre des politiques d'entreprise, en extrayant uniquement les clauses pertinentes relatives à la force majeure et aux pénalités.

5. Pièges, erreurs courantes et sécurité

  • Empoisonnement de la base de connaissances (RAG Poisoning) : Un attaquant télécharge dans la base interne un fichier contenant des instructions cachées (Prompt Injection), forçant le RAG à fournir de fausses instructions à tous les utilisateurs. Vérifiez les sources de connaissances et utilisez des garde-fous (Guardrails).
  • Garbage In, Garbage Out : Si vous chargez dans le RAG un PDF mal scanné rempli de mots cassés, aucun modèle ne pourra fournir une réponse adéquate.
  • Perte de lien entre les chunks : Une segmentation trop fine prive les phrases de leur contexte. Enrichissez toujours les chunks avec les titres des sections parentales.
/ Questions fréquentesSchema.org FAQPage

FAQ: RAG (Retrieval-Augmented Generation)

Le Fine-Tuning apprend à un modèle un nouveau style ou une nouvelle syntaxe, mais reste peu fiable pour mémoriser des faits précis (risque élevé d'hallucinations) et nécessite un réentraînement coûteux à chaque modification de fichier. Le RAG se met à jour instantanément par une simple mise à jour d'une ligne dans la base de données, permet de configurer les droits d'accès utilisateurs (RBAC) et garantit des liens cliquables à 100 % vers les sources originales.
/ Liens internes
Tous les termes