Chapitre 6

RAG génération augmentée par récupération

La génération augmentée par récupération (RAG) résout, grâce à des bases de connaissances externes et à l’injection de contexte, les problèmes de mise à jour des connaissances, d’explicabilité et de coût des grands modèles, et constitue l’architecture dominante des applications d’entreprise.

Le fonctionnement du RAG

RAG interroge des bases de connaissances externes et injecte les informations pertinentes dans le processus de génération, permettant une génération enrichie par la connaissance.

Flux de travail complet

1
Compréhension des requêtes: Comprendre l’intention et les besoins derrière les requêtes des utilisateurs
2
Vectorisation : convertir les requêtes en représentations vectorielles (Embedding)
3
Recherche: Récupérer des documents similaires dans une base de données vectorielle
4
Injection de contexte : injecter les documents récupérés dans le Prompt comme contexte
5
Générer:Générer des réponses à partir d’un contexte enrichi

Composants principaux

  • Base de données vectorielle: Stocker les représentations vectorielles des documents (par ex. Pinecone, Weaviate, Milvus)
  • Modèle d’intégration: convertir le texte en vecteurs (par ex. OpenAI Embeddings, BGE)
  • Récupérateur : exécuter une recherche de similarité (recherche vectorielle, recherche par mots-clés, recherche hybride)
  • Modèle génératif : Générer des réponses à partir des résultats de recherche (par ex. GPT-4, Claude)

Avantages du RAG

RAG résout un problème clé des grands modèles, les rendant plus adaptés aux applications d’entreprise.

Mises à jour des connaissances

  • Mises à jour en temps réel: La base de connaissances peut être mise à jour à tout moment sans réentraîner le modèle
  • Connaissance du domaine : Peut injecter des connaissances spécialisées propres à un domaine
  • Pertinence temporelle: Peut accéder aux dernières informations
  • Flexibilité: différentes requêtes peuvent utiliser différentes bases de connaissances

Explicabilité

  • Traçabilité des sources: peut retracer jusqu’au document source de la réponse
  • Transparence: Les utilisateurs peuvent consulter les documents récupérés
  • Fiabilité: Vous pouvez évaluer la fiabilité des sources d’information
  • Audit:Pratique pour l’audit et la conformité

Rapport coût-efficacité

  • Aucun ajustement fin requis: pas besoin d’affiner les modèles pour chaque domaine
  • Réutilisation de la base de connaissances: La même base de connaissances peut servir plusieurs applications
  • Contrôle des coûts: coût inférieur par rapport au fine-tuning
  • Déploiement rapide: permet de déployer rapidement de nouvelles applications

Réduire les hallucinations

  • Base factuelle:Générer à partir des documents récupérés pour réduire les hallucinations
  • Précision : améliorer la précision des réponses
  • Fiabilité: Mieux adapté aux situations nécessitant des informations précises
  • Contrôle qualité: La qualité des réponses peut être contrôlée grâce au contrôle qualité de la base de connaissances

Les défis du RAG

RAG est puissant, mais il fait aussi face à certains défis qui doivent être résolus.

Dépend de la qualité de récupération

L’efficacité du RAG dépend fortement de la qualité de la recherche :

  • Précision de la recherche:Ne pas pouvoir récupérer les documents pertinents entraînera des réponses erronées
  • Pertinence de la recherche: La récupération de documents non pertinents affecte la qualité de génération
  • Qualité de la documentation:la qualité de la base de connaissances influence directement l’efficacité du RAG
  • Axes d’optimisation: Améliorer les algorithmes de recherche, optimiser le découpage des documents et utiliser la recherche hybride

Problèmes de latence

  • Latence de recherche: La recherche vectorielle prend du temps
  • Latence de génération: les modèles génératifs doivent traiter des contextes plus longs
  • Latence globale : La latence globale de RAG est supérieure à celle de la génération directe
  • Optimisation:mise en cache, récupération asynchrone, optimisation des algorithmes de récupération

Limite de contexte

  • Fenêtre de contexte: les modèles ont des limites de longueur de contexte
  • Sélection de documents: Il faut sélectionner les résultats les plus pertinents parmi un grand nombre de résultats de recherche
  • Compression d’informations: Il peut être nécessaire de compresser ou de résumer les documents récupérés
  • Solution: reclassement, résumé de documents, recherche hiérarchique

Bonnes pratiques pour RAG

Pratiques clés pour construire des systèmes RAG de haute qualité.

Sélection de base de données vectorielle

Pinecone

Service hébergé, facile à utiliser, adapté au prototypage rapide

Weaviate

Open source, riche en fonctionnalités, prend en charge la recherche hybride

Milvus

Haute performance, adapté au déploiement à grande échelle

Chroma

Léger et facile à intégrer

Stratégie de récupération

  • Recherche vectorielle: Basé sur la similarité sémantique, adapté à la recherche sémantique
  • Recherche par mots-clés : basé sur la correspondance de mots-clés, adapté à la correspondance exacte
  • Recherche hybride: Combiner la recherche vectorielle et la recherche par mots-clés donne de meilleurs résultats
  • Réordonnancement : Utiliser un modèle de reclassement pour optimiser les résultats de recherche

Traitement des documents

  • Stratégie de découpage: Découper de manière appropriée et préserver l'intégrité sémantique
  • Métadonnées: ajouter des métadonnées (source, heure, type, etc.)
  • Prétraitement:nettoyer, standardiser, dédupliquer
  • Mécanisme de mise à jour: Mettre en place un mécanisme de mise à jour des documents et de gestion des versions

Prompt engineering

  • Organisation du contexte:organiser de manière appropriée les documents récupérés
  • Instructions claires:Indiquer clairement au modèle comment utiliser les informations récupérées
  • Exigences de citation: Exiger que le modèle cite ses sources
  • Contrôle qualité : ajouter des instructions de contrôle qualité (par exemple, « si les informations sont insuffisantes, veuillez le préciser »)

RAG vs ajustement fin : comment choisir ?

Comprendre les cas d’usage de RAG et du fine-tuning, et faire le bon choix.

Scénarios pour choisir RAG

  • Les mises à jour des connaissances sont fréquentes:Nécessite des mises à jour fréquentes des connaissances
  • Applications dans de multiples domaines: Doit gérer plusieurs domaines
  • Exigences d’interprétabilité: Il faut retracer la source de la réponse
  • Déploiement rapide:Besoin de déployer rapidement une nouvelle application
  • Contrôle des coûts: il faut maîtriser les coûts

Scénarios pour choisir le fine-tuning

  • Spécifique à la tâche : il faut apprendre des schémas de tâches spécifiques
  • Adaptation du style:Doit s’adapter à un style de sortie spécifique
  • Optimisation des performances:il est nécessaire d’optimiser les performances pour des tâches spécifiques
  • Consolidation des connaissances: Les connaissances sont relativement stables et ne nécessitent pas de mises à jour fréquentes
  • Sensible à la latence : des exigences de latence extrêmement élevées

Approche hybride

Dans les applications réelles, RAG et le fine-tuning peuvent être utilisés ensemble : utilisez le fine-tuning pour optimiser les capacités de base, et RAG pour injecter des connaissances métier.

Résultats d’apprentissage

À la fin de ce chapitre, vous pourrez :

  • 1Comprendre le flux de travail complet du RAG (recherche→augmentation→génération) et ses composants clés
  • 2Comprendre les avantages de RAG (mise à jour des connaissances, interprétabilité, rentabilité) et ses défis (qualité de la recherche, latence, limites de contexte)
  • 3Comprendre les bonnes pratiques du RAG (choix de la base de données vectorielle, stratégies de récupération, traitement des documents, ingénierie de prompt)
  • 4Être capable d’évaluer le choix entre RAG et le fine-tuning, et de prendre les bonnes décisions d’architecture selon le contexte