Génération augmentée de récupération (RAG)
Découvrez comment la génération augmentée de récupération (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 à jour.
La génération augmentée par la récupération (RAG) est un framework 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 linguistiques (LLM). Il fonctionne en connectant un modèle génératif à une base de connaissances externe et à jour. Cela permet au modèle de "récupérer" des informations pertinentes avant de générer une réponse, ancrant ainsi sa sortie dans des faits vérifiables et réduisant la probabilité d'hallucinations ou de réponses obsolètes. RAG rend les LLM plus fiables pour les tâches nécessitant beaucoup de connaissances en leur donnant accès à des informations spécialisées ou propriétaires sur lesquelles ils n'ont pas été entraînés.
Fonctionnement de la génération augmentée par la récupération
Le processus RAG peut être décomposé en deux étapes principales : la récupération et la génération. Cette approche à deux étapes combine les forces des systèmes de récupération 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 vectorielle contenant des incorporations de documents, d'articles ou d'autres données. Le composant de récupération identifie et extrait les extraits de texte ou de données les plus pertinents en fonction de la requête de l'utilisateur. Une étape facultative mais puissante consiste à utiliser un reclasseur pour affiner ces résultats récupérés, en veillant à ce que seules les informations contextuellement les plus importantes soient transmises.
- Génération augmentée : L'information extraite est ensuite combinée à l'invite originale de l'utilisateur. Cette nouvelle invite enrichie est introduite dans le modèle d'IA générative (le LLM). Le modèle utilise ce contexte ajouté pour formuler une réponse complète, précise et pertinente. Les frameworks 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 exactitude factuelle et un accès à des données dynamiques ou spécialisées.
- Systèmes avancés de questions-réponses : Un chatbot de support client peut utiliser RAG pour accéder à l'ensemble de la base de connaissances d'une entreprise, qui comprend des manuels de produits, des guides de dépannage et des documents de politique. Lorsqu'un client demande : « Quelle est la politique de garantie de mon produit ? », le système récupère le document de garantie le plus récent 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 basé sur RAG pour rédiger un résumé de marché. L'outil pourrait récupérer les derniers rapports financiers, les actualités du marché et les données sur la performance des actions provenant 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 vs. Concepts connexes
Il est utile de distinguer RAG des autres méthodes utilisées pour améliorer les performances des LLM :
- Affinage: L'affinage 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. L'affinage est idéal pour enseigner un nouveau style ou une nouvelle compétence à un modèle, tandis que RAG est préférable pour incorporer des connaissances factuelles. Ces approches peuvent également être complémentaires.
- Ingénierie des invites (Prompt Engineering) : Il s'agit du processus manuel de conception soignée des invites afin d'obtenir la sortie souhaitée d'un LLM. RAG automatise une partie de ce processus en ajoutant (« augmentant ») de manière programmatique l'invite avec des données extraites, plutôt que de s'appuyer sur un humain pour fournir manuellement tout le contexte.
- Enrichissement d'invite (Prompt Enrichment) : Bien que similaire à RAG, l'enrichissement d'invite est un terme plus large. Il peut s'agir d'ajouter du contexte à partir de l'historique de l'utilisateur ou du flux de conversation. 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 en vision par ordinateur
Bien que RAG soit 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. Cela pourrait impliquer la recherche d'images similaires à partir d'un grand ensemble de données pour améliorer les performances d'un modèle de détection d'objets comme Ultralytics YOLO. La gestion de ces modèles et ensembles de données complexes est rationalisée grâce à des plateformes comme Ultralytics HUB, qui pourrait servir de base aux futures applications de modèles multi-modaux qui utilisent RAG. Vous pouvez explorer une implémentation connexe dans notre blog sur l'amélioration de l'IA avec RAG et la vision par ordinateur.