Les grands modèles de langage (LLM) générés à grande échelle ont transformé les applications d'IA ; cependant, ils présentent encore plusieurs inconvénients, car leur connaissance est statique et ne peut provenir que de leurs données d'apprentissage. C'est à ce stade que la génération augmentée de récupération (RAG) entre en jeu.
La RAG ajoute de la puissance aux modèles d’IA générative en interposant la récupération des données en temps réel, ce qui garantie ainsi que le processus de récupération produit une production plus précise et plus rapide. Cependant, les modèles RAG se présentent sous différentes formes, adaptées principalement à différentes applications1.
Dans cet article, nous découvrons diverses techniques RAG, leur fonctionnement, les forces et les limites de chaque type de RAG et leur facilité d’utilisation dans différents cas d’utilisation.
Pour améliorer l'efficacité globale et la durabilité des modèles RAG, les systèmes de récupération ont évolué, passant de la RAG naïve à la RAG avancée et à la RAG modulaire, afin de relever les défis en matière de performance, de coût et d'efficacité. Découvrons chaque technique RAG en détail.
La RAG naive est une implémentation de base de génération augmentée de récupération, où la récupération d'informations et la génération de réponses se font sans optimisation ni commentaires. Dans ce cadre simple, le système extrait les données pertinentes sur la base d'une requête, qui est ensuite simplement introduite dans un modèle linguistique (tel que le GPT) pour générer la réponse finale 2.
Naive RAG s'appuie sur un processus assez simple en trois étapes pour la récupération et la génération de contenu. Les étapes suivantes expliquent le fonctionnement de la procédure d'extraction :
La figure 1 illustre le processus en trois étapes (encodage, récupération et génération de réponses) du fonctionnement de la RAG naïve.
La RAG naïve est particulièrement adaptée aux scénarios dans lesquels la simplicité, la rapidité et la facilité de déploiement sont primordiales par rapport à la précision et à la flexibilité avancées. La simplicité de l'architecture la rend idéale pour créer des applications de validation de concept et permettre de tester rapidement des idées sans avoir à ajuster les modèles. Par exemple, elle peut être utilisée efficacement pour :
a. Chatbots de support client : gestion des scénarios de réponses aux questions répétitives les plus fréquemment posées à l'aide des réponses LLM.
b. Synthèse et recherche d'informations : fournir un niveau de synthèse de base en utilisant des techniques de traitement automatique du langage naturel.
c. Systèmes d'IA pour les entreprises : Extraction rapide de données pertinentes à partir de référentiels pour répondre à des questions courantes.
Bien que la RAG naive soit simple et rapide, la RAG avancée offre une plus grande flexibilité, une plus grande évolutivité et des performances, ce qui le rend adapté aux applications complexes du monde réel.
Découvrons ce qu’est la RAG avancée et quelles sont ses principales offres.
La RAG avancée associe la puissance d'une meilleure récupération et d'une meilleure génération en utilisant des algorithmes sophistiqués, une série d'idées, telles que des reclasseurs, des LLM affinés et des boucles de commentaires. Ces améliorations apportent des gains en termes de précision, d’adaptabilité et de performance, ce qui fait de ces modèles les meilleurs choix pour des applications plus complexes et de qualité industrielle5.
La RAG avancée fonctionne comme un processus séquentiel basé sur des étapes :
1. Traitement des requêtes : Dès réception d'une requête d'utilisateur, celle-ci est transformée en un vecteur à haute dimension à l'aide du modèle d'embedding qui capture la signification sémantique de la requête.
2. Récupération de documents : la requête encodée parcourt une énorme base de connaissances qui fournit une récupération hybride en utilisant à la fois la recherche vectorielle dense et la récupération éparse, c’est-à-dire la similarité sémantique et la recherche par mot clé. Les résultats introduisent ainsi des correspondances sémantiques de mots clés dans les documents récupérés.
3. Reclassement des documents récupérés : le retriever attribue une note finale en fonction du contexte et par rapport à la requête qui permet de récupérer les documents.
4. Fusion contextuelle pour la génération : chaque document étant codé différemment, le décodeur fusionne tous les contextes codés afin de garantir la cohérence des réponses générées avec celles de la requête codée.
5. Génération de réponses : Le générateur de RAG avancée, généralement un LLM, tel que le modèle IBM Granite™ ou Llama, fournit la réponse en fonction des documents récupérés.
6. Boucle de rétroaction : À un stade avancé, la RAG utilise diverses techniques, telles que l'apprentissage actif, l'apprentissage par renforcement et le co-entraînement avec générateur de récupération pour améliorer continuellement ses performances. Au cours de cette phase, des signaux implicites apparaissent, tels que des clics sur des documents récupérés qui en déduisent la pertinence, ce qui entraîne des commentaires explicites, y compris des corrections ou des évaluations pour une application ultérieure en cours de génération. Par conséquent, au fil des ans, ces stratégies améliorent les processus de récupération et de génération de réponses afin de produire des réponses plus précises et plus pertinentes6.
La figure 2 illustre le processus par étapes du fonctionnement avancé du RAG.
La RAG avancée est extrêmement polyvalente pour de nombreuses applications dans tous les secteurs d’activité grâce à ses capacités d’extraction d’informations en temps réel et de réponses dynamiques, précises et basées sur le contexte. Son application va de l'activation du service client à la diffusion d'informations pertinentes, améliorant ainsi la prise de décisions et améliorant les expériences d'apprentissage personnalisées. L’amélioration de la récupération et de la génération grâce à un RAG avancé le rend pratique pour les applications en temps réel, mais l’évolutivité et la facilité d’utilisation sont inférieures à la moyenne pour les cas d’utilisation au niveau de la production.
La RAG modulaire est la variante la plus avancée de la RAG, dans laquelle la récupération d’information et le modèle génératif fonctionnent dans une architecture linéaire ouverte et composable de type pipeline. Cette approche permet d'améliorer les performances de différents cas d'utilisation en termes de personnalisation et d'évolutivité.
En désagrégeant l’acte de RAG en modules, on peut mieux adapter, déboguer et optimiser chaque composant indépendamment. Voyons maintenant comment fonctionne le RAG modulaire dans Real Action7.
1. Traitement des requêtes de l’utilisateur : la première étape consiste pour l’utilisateur à soumettre une requête, telle que « Quel est le livre le plus tendance sur le marché actuellement ? » Un module de traitement des requêtes transforme ensuite l'entrée, notamment en reformulant la requête, en supprimant les ambiguïtés et en effectuant une analyse sémantique afin de fournir un contexte plus éclairé avant qu'elle ne soit envoyée pour récupération.
2. Module de recherche : le module de recherche traite la requête dans la base de données vectorielle ou la base de connaissances pour obtenir les documents pertinents. Il effectue la recherche en utilisant le paradigme de similarité basé sur l'embedding.
3. Module de filtrage et de classement : les documents récupérés sont ensuite filtrés en fonction des métadonnées, de leur récence ou de leur pertinence. Un modèle de reclassement permet de classer et de hiérarchiser les informations les plus utiles.
4. Module d'augmentation du contexte : Ce module alimente les informations récupérées par des graphes de connaissances, intègre des données structurées provenant de bases de données et d'API et applique une compression de récupération pour obtenir la meilleure récupération de contenu.
5. Génération de réponses : le LLM traite la requête de l'utilisateur ainsi que le contexte récupéré afin de générer une réponse cohérente et précise, en minimisant les hallucinations et en garantissant la pertinence.
6. Module de post-traitement : ce module garantit l'exactitude grâce à la vérification des faits, améliore la lisibilité grâce à un formatage structuré et renforce la crédibilité en générant des citations.
7. Production et la boucle de commentaires : la production finale de la réponse est présentée à l'utilisateur tandis qu'une boucle de commentaires est créée à partir de son interaction pour l'aider à affiner la récupération et les performances du modèle au fil du temps.
La figure 3 illustre le processus par étapes du fonctionnement du RAG modulaire.
La RAG avancée s’adapte aux cas d’utilisation où l’application nécessite une personnalisation considérable, par exemple, des techniques de récupération et de classement spécifiques au domaine. L'évolutivité et la facilité de maintenance sont importantes pour les applications qui impliquent des systèmes à grande échelle, et l'on expérimente en permanence différents modèles et stratégies de recherche8.
Alors que la RAG native est simple et rapide, la RAG modulaire, souvent construite avec des frameworks tels que LangChain, offre une flexibilité, une évolutivité et des performances améliorées, ce qui la rend plus adaptée aux applications complexes du monde réel. La RAG avancée améliore la précision en récupérant des informations spécifiques au contexte en temps réel, ce qui permet de minimiser les erreurs. Elle s’adapte de manière dynamique, en intégrant les commentaires des utilisateurs grâce à l’apprentissage actif et à l’apprentissage par renforcement (RLHF). En outre, elle renforce les connaissances spécifiques à un domaine en intégrant des bases de données spécialisées. Elle optimise également la fenêtre contextuelle du LLM en ne récupérant que les données les plus pertinentes, ce qui améliore l'efficacité. Néanmoins, les systèmes RAG avancés sont confrontés à des défis tels que des exigences de calcul et de latence plus élevées en raison des processus de récupération et de génération. Ils nécessitent des ressources importantes pour gérer de vastes bases de connaissances et impliquent une mise en œuvre et une maintenance complexes, en particulier lorsqu'il s'agit de peaufiner les outils de recherche, les modèles de classement et les générateurs de réponses. C'est dans cet espace qu'excellent les architectures modulaires RAG développées à l'aide de LangChain. Leur conception modulaire permet une personnalisation flexible, permettant aux composants individuels, comme les retrievers, les rankers et les générateurs, d’être affinés ou échangés indépendamment. Cette méthode améliore la maintenabilité en facilitant le débogage et les mises à jour sans perturber l’ensemble du système. L’évolutivité est réalisée en distribuant les modules sur différentes ressources, tandis que les coûts sont gérés en optimisant les processus de récupération et en minimisant l’utilisation des LLM 9,10
Le développement actif de systèmes de récupération qui tirent parti de techniques avancées de prompt engineering et des méthodes de fine-tuning pour améliorer les modèles RAG afin de générer du contenu de haute précision est en cours afin de garantir de meilleures performances et une meilleure évolutivité.
Les avancées futures en matière d'approches self-RAG, de modèles IA et d'indicateurs améliorés continueront à affiner le processus de recherche, garantissant ainsi une meilleure gestion du contexte supplémentaire dans les interactions en langage naturel.
1. Gao, Y., Zhang, Z., Peng, M., Wang, J., & Huang, J. (2023). Génération augmentée de récupération pour les grands modèles de langage : une enquête. arXiv préimpression arXiv:2312.10997.
2. Wei, S., Wang, D., Lin, Z., Yang, Y., Li, H., & Li, Z. (2024). Génération augmentée de récupération pour le traitement automatique du langage naturel : une enquête. préimpression arXiv arXiv:2407.13193.
3. Huang, Y., & Huang, J. (2024). A Survey on Retrieval-Augmented Text Generation for Large Language Models. arXiv preprint arXiv:2404.10981.
4. Li, S., Stenzel, L., Eickhoff, C., & Bahreïn, SA (2025). Enhancing Retrieval-Augmented Generation: A Study of Best Practices. Actes de la 31e Conférence internationale de linguistique informatique, 6705—6717.
5. Sakar, T., & Emekci, H. (2024). Maximiser l’efficacité du RAG : une analyse comparative des méthodes RAG. Traitement automatique du langage naturel, 1 à 15.
6. Su, W., Tang, Y., IA, Q., Watson, Z., & Liu, Y. (2024). DRAGIN : Génération augmentée de récupération dynamique basée sur les besoins en informations des grands modèles de langage. arXiv preprint arXiv:2403.10081.
7. Gao, Y., Xiong, Y., Wang, M., & Wang, H. (2024). RAG modulaire : transformation des systèmes RAG en cadres reconfigurables de type LEGO. arXiv preprint arXiv:2407.21059.
8. Shi, Y., Zi, X., Shi, Z., Zhang, H., Watson, Q., & Xu, M. (2024). Enhancing Retrieval and Managing Retrieval: A Four-Module Synergy for Improved Quality and Efficiency in RAG Systems. arXiv preprint arXiv:2407.10670.
9. Zhu, Y., Yang, X., Zhang, C., & Dou, Z. (2024). Tendances futures et orientations de recherche en génération augmentée de récupération. Computational Intelligence and Neuroscience, 2024, 1–15.
10. Atos. 2024. A Practical Blueprint for Implementing Generative AI Retrieval-Augmented Generation. Atos. Consulté le 12 février 2025.
Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.