Génération Augmentée de Récupération (RAG)
Découvrez comment Retrieval Augmented Generation (RAG) améliore les modèles d'IA en intégrant des données externes fiables et en temps réel pour des réponses précises et actualisées.
Retrieval-Augmented Generation (RAG) est un cadre d'IA avancé conçu pour améliorer la qualité, la précision et la pertinence des réponses générées par les grands modèles de langage (LLM). Il fonctionne en connectant un modèle génératif à une base de connaissances externe et actualisée. Cela permet au modèle de "récupérer" les informations pertinentes avant de générer une réponse, en ancrant efficacement ses résultats dans des faits vérifiables et en réduisant la probabilité d'hallucinations ou de réponses obsolètes. Le RAG rend les LLM plus fiables pour les tâches à forte intensité de connaissances en leur donnant accès à des informations spécialisées ou exclusives pour lesquelles ils n'ont pas été formés.
Fonctionnement de la génération assistée par récupération
Le processus RAG peut être décomposé en deux étapes principales : la recherche et la génération. Cette approche en deux étapes combine les forces des systèmes de recherche d'informations et des modèles génératifs.
- Récupération : Lorsqu'un utilisateur fournit une invite ou pose une question, le système RAG utilise d'abord l'invite pour rechercher des informations pertinentes dans une source de connaissances. Cette source est généralement une base de données vectorielles contenant des enchâssements de documents, d'articles ou d'autres données. Le composant d'extraction identifie et extrait les bribes de texte ou de données les plus pertinentes en fonction de la requête de l'utilisateur. Une étape facultative, mais puissante, consiste à utiliser un réanimeur pour affiner les résultats obtenus, en veillant à ce que seules les informations les plus importantes du point de vue contextuel soient transmises.
- Génération augmentée : Les informations récupérées sont ensuite combinées avec le message original de l'utilisateur. Cette nouvelle invite enrichie est introduite dans le modèle génératif d'IA (le LLM). Le modèle utilise ce contexte supplémentaire pour formuler une réponse complète, précise et pertinente. Des cadres tels que LangChain et LlamaIndex sont couramment utilisés pour construire et gérer ces pipelines RAG complexes.
Applications et exemples
Le RAG est particulièrement utile dans les scénarios nécessitant une précision factuelle et l'accès à des données dynamiques ou spécialisées.
- Systèmes avancés de réponse aux questions : Un chatbot d' assistance à la clientèle peut utiliser le RAG pour accéder à l'ensemble de la base de connaissances d'une entreprise, à savoir les manuels de produits, les guides de dépannage et les documents de politique générale. Lorsqu'un client demande "Quelle est la politique de garantie pour mon produit ?", le système récupère le dernier document de garantie et l'utilise pour fournir une réponse précise et actualisée, ce qui constitue une amélioration significative par rapport aux réponses génériques.
- Création de contenu et recherche : Un analyste financier pourrait utiliser un outil alimenté par RAG pour rédiger un résumé du marché. L'outil pourrait récupérer les derniers rapports financiers, les nouvelles du marché et les données sur les performances des actions à partir de sources fiables comme Bloomberg ou Reuters. Le LLM synthétise ensuite ces informations dans un rapport cohérent, avec des citations, ce qui accélère considérablement le processus de recherche.
RAG et concepts apparentés
Il est utile de distinguer le RAG des autres méthodes utilisées pour améliorer les performances du LLM :
- Ajustement fin: Le réglage fin adapte un modèle pré-entraîné en poursuivant l'entraînement sur un ensemble de données plus petit et spécialisé, ce qui modifie les poids internes du modèle. Contrairement à RAG, il ne consulte pas de données externes pendant l'inférence. Le réglage fin est idéal pour enseigner à un modèle un nouveau style ou une nouvelle compétence, tandis que le RAG est plus adapté à l'intégration de connaissances factuelles. Ces approches peuvent également être complémentaires.
- Ingénierie des invites: Il s'agit du processus manuel consistant à concevoir soigneusement des messages-guides afin d'obtenir le résultat souhaité d'un LLM. RAG automatise une partie de ce processus en ajoutant de manière programmatique ("augmentant") l'invite avec des données récupérées, plutôt que de compter sur un humain pour fournir manuellement tout le contexte.
- Enrichissement rapide: Bien que similaire à RAG, l'enrichissement des messages est un terme plus large. Il peut s'agir d'ajouter un contexte à partir de l'historique de l'utilisateur ou du flux de conversation. Le RAG est un type spécifique d'enrichissement axé sur la récupération d'informations factuelles à partir d'une base de connaissances externe afin d'étayer la réponse du modèle.
RAG dans le domaine de la vision par ordinateur
Alors que le RAG est principalement utilisé dans le traitement du langage naturel (NLP), son concept de base est exploré pour les tâches de vision par ordinateur (CV). Par exemple, un système pourrait récupérer des informations visuelles pertinentes pour guider la génération ou l'analyse d'images. Il peut s'agir de trouver des images similaires dans un vaste ensemble de données afin d'améliorer les performances d'un modèle de détection d'objets tel qu'Ultralytics YOLO. La gestion de ces modèles et ensembles de données complexes est simplifiée grâce à des plateformes comme Ultralytics HUB, qui pourrait servir de base à de futures applications de modèles multimodaux utilisant RAG. Vous pouvez explorer une mise en œuvre connexe dans notre blog sur l'amélioration de l'IA avec RAG et la vision par ordinateur.