Pratique du RAG
Pour les bases de connaissances d’entreprise, les assistants de documents privés et les scénarios d’analyse de longs codes, maîtrisez le processus complet de mise en œuvre de RAG, de la préparation du corpus et de la conception du pipeline de recherche à l’évaluation des résultats et à l’optimisation continue, afin de transformer véritablement RAG en un système d’ingénierie itératif.
Objectifs d'apprentissage
Méthodologie
Flux de travail RAG-DD
Conception du pipeline de récupération
Découpage des connaissances
- • Prioriser l’intégrité sémantique ; ne pas découper mécaniquement selon un nombre fixe de caractères
- • Ajouter des métadonnées à chaque chunk, comme la source, l’heure, le domaine métier et les permissions
- • Utiliser différentes stratégies de découpage pour les documents d’architecture, les documents d’interface et la documentation du code
Recherche et re-classement
- • Pour les questions-réponses générales, privilégier la recherche hybride, en conciliant rappel sémantique et correspondance exacte des mots-clés
- • Pour les scénarios d’analyse de code long, le reranking est généralement plus efficace que de simplement augmenter le top-k
- • Lors de l’assemblage du contexte, conservez la source et la hiérarchie afin d’éviter que des fragments soient détachés de leur contexte d’origine
Principes pratiques: Commencez par un RAG capable d’expliquer pourquoi il a répondu ainsi, puis visez une qualité de réponse qui paraît plus intelligente.
Évaluation et gouvernance
- • Évaluation du rappel: vérifier si le bon document correspondant au problème est récupéré
- • Évaluation des réponses: Si la réponse est exacte, complète et cite la bonne source
- • Bilan d’échec: Distinguer s’il s’agit d’un échec de recherche, d’une contamination du contexte ou d’une hallucination au stade de la génération
- • Gouvernance des permissions: Isoler les documents par domaine de connaissances et identité utilisateur afin d’éviter les récupérations non autorisées
Applications des outils d’IA
Utiliser Claude pour concevoir des jeux d’évaluation
Faire générer par l’IA un ensemble de questions d’évaluation à partir des FAQ historiques, des tickets et des sommaires de documents, couvrant la reformulation de requêtes, les formulations ambiguës et les scénarios de longue traîne.
L’idée n’est pas de « faire s’évaluer l’IA elle-même », mais de demander à l’IA de construire rapidement des échantillons de test couvrant un éventail plus large de cas.
Optimiser le rappel à l’aide de bases de données vectorielles et de modèles de réordonnancement
- • La base de données vectorielle est responsable de la première récupération, en veillant autant que possible à ce que l’on puisse « trouver »
- • Le modèle de reranking place les documents les plus pertinents en tête, garantissant une « diffusion précise »
- • Effectuer des comparaisons Top-K sur les échantillons en échec est plus utile qu’ajuster les prompts à l’aveugle
Cas pratique
Cas 1 : Questions-réponses sur la base de connaissances interne
Objectif : permettre aux employés d’interroger en langage naturel les politiques, processus, FAQ et documents d’architecture, et de renvoyer des réponses avec leurs sources.
- • Sources du corpus : documents de politique, Wiki, FAQ, SOP
- • Conception clé : partitionnement des documents par domaine, contrôle des autorisations, horodatage de mise à jour de version
- • Indicateurs clés : taux de réussite, exactitude des citations, taux de résolution des problèmes
Cas 2 : assistant de recherche augmenté par récupération pour un vaste dépôt de code
Objectif : combiner les commentaires du code, le README, les documents de conception d’architecture et les informations sur les limites des modules afin d’aider les développeurs à localiser rapidement la logique d’implémentation.
- • Sources du corpus : descriptions de code, documents d’architecture, contrats d’interface, journaux de modifications
- • Conception clé : organiser le contexte par modules et relations amont/aval, plutôt que de n’y insérer que des extraits de code
- • Points d’échec : récupération de documents obsolètes, frontières de modules manquantes, fragments détachés du contexte sémantique