Accéder au contenu principal

Qu'est-ce que la Génération Augmentée de Récupération (GAR) ?

Découvrez comment Retrieval Augmented Generation (RAG) améliore les grands modèles linguistiques en intégrant des sources de données externes.
Actualisé 14 mars 2025  · 6 min de lecture

Les grands modèles linguistiques (LLM) tels que le GPT-4 ont permis de réaliser des progrès étonnants, mais ils présentent des limites : connaissances obsolètes, hallucinations et réponses génériques. C'est un problème que nous pouvons résoudre grâce à la Génération Augmentée de Récupération (GAR).

Dans ce blog, j'expliquerai comment fonctionne RAG, pourquoi il change la donne pour les applications d'IA et comment les entreprises l'utilisent pour créer des systèmes plus intelligents et plus fiables.

Qu'est-ce que le RAG ?

Retrieval Augmented Generation (RAG) est une technique qui améliore les LLM en les intégrant à des sources de données externes. En combinant les capacités génératives de modèles tels que GPT-4 avec des mécanismes précis de recherche d'informations, RAG permet aux systèmes d'IA de produire des réponses plus précises et plus pertinentes sur le plan contextuel.

Les LLM sont puissants mais comportent des limites inhérentes :

  • Connaissances limitées: Les LLM ne peuvent générer des réponses que sur la base de leurs données d'apprentissage, qui peuvent être obsolètes ou manquer d'informations spécifiques au domaine.
  • Hallucinations: Ces modèles génèrent parfois des informations plausibles mais incorrectes.
  • Réponses génériques: Sans accès à des sources externes, les responsables de l'éducation et de la formation tout au long de la vie peuvent fournir des réponses vagues ou imprécises.

RAG aborde ces questions en permettant aux modèles de récupérer des informations actualisées et spécifiques à un domaine à partir de sources de données structurées et non structurées, telles que les bases de données, la documentation et les API.

Pourquoi utiliser le RAG pour améliorer les LLM ? Un exemple

Pour mieux comprendre ce qu'est le RAG et comment la technique fonctionne, examinons un scénario auquel de nombreuses entreprises sont confrontées aujourd'hui.

Imaginez que vous êtes cadre dans une entreprise d'électronique qui vend des appareils tels que des smartphones et des ordinateurs portables. Vous souhaitez créer un chatbot d'assistance à la clientèle pour votre entreprise afin de répondre aux questions des utilisateurs concernant les spécifications des produits, le dépannage, les informations sur la garantie, etc.

Vous souhaitez utiliser les capacités de LLM comme GPT-3 ou GPT-4 pour alimenter votre chatbot.

Cependant, les grands modèles linguistiques présentent les limites suivantes, qui conduisent à une expérience client inefficace :

Manque d'informations spécifiques

Les modèles linguistiques se limitent à fournir des réponses génériques sur la base de leurs données d'apprentissage. Si les utilisateurs posent des questions spécifiques au logiciel que vous vendez, ou s'ils veulent savoir comment effectuer un dépannage approfondi, un LLM traditionnel peut ne pas être en mesure de fournir des réponses précises.

Cela est dû au fait qu'ils n'ont pas été formés aux données spécifiques à votre organisation. En outre, les données d'apprentissage de ces modèles ont une date limite, ce qui limite leur capacité à fournir des réponses actualisées.

Hallucinations

Les LLM peuvent "halluciner", ce qui signifie qu'ils ont tendance à générer en toute confiance de fausses réponses basées sur des faits imaginaires. Ces algorithmes peuvent également fournir des réponses hors sujet s'ils n'ont pas de réponse précise à la requête de l'utilisateur, ce qui peut entraîner une mauvaise expérience pour le client.

Réponses génériques

Les modèles linguistiques fournissent souvent des réponses génériques qui ne sont pas adaptées à des contextes spécifiques. Cela peut constituer un inconvénient majeur dans un scénario d'assistance à la clientèle, étant donné que les préférences individuelles des utilisateurs sont généralement nécessaires pour faciliter une expérience personnalisée.

RAG comble efficacement ces lacunes en vous fournissant un moyen d'intégrer la base de connaissances générales des LLM avec la capacité d'accéder à des informations spécifiques, telles que les données présentes dans votre base de données de produits et vos manuels d'utilisation. Cette méthodologie permet d'obtenir des réponses très précises et fiables, adaptées aux besoins de votre organisation.

Comment fonctionne le RAG ?

Maintenant que vous savez ce qu'est un RAG, examinons les étapes de la mise en place de ce cadre :

Étape 1 : Collecte de données

Vous devez d'abord rassembler toutes les données nécessaires à votre application. Dans le cas d'un chatbot d'assistance à la clientèle pour une entreprise d'électronique, il peut s'agir de manuels d'utilisation, d'une base de données de produits et d'une liste de FAQ.

Étape 2 : Regroupement des données

Le découpage des données consiste à diviser vos données en éléments plus petits et plus faciles à gérer. Par exemple, si vous avez un long manuel d'utilisation de 100 pages, vous pouvez le diviser en plusieurs sections, chacune pouvant répondre à différentes questions des clients.

De cette manière, chaque élément de données se concentre sur un sujet spécifique. Lorsqu'une information est extraite de l'ensemble de données source, il est plus probable qu'elle soit directement applicable à la requête de l'utilisateur, puisque nous évitons d'inclure des informations non pertinentes provenant de documents entiers.

L'efficacité s'en trouve également améliorée, puisque le système peut obtenir rapidement les éléments d'information les plus pertinents au lieu de traiter des documents entiers.

Étape 3 : Encastrements de documents

Maintenant que les données sources ont été divisées en plusieurs parties, elles doivent être converties en une représentation vectorielle. Il s'agit de transformer des données textuelles en encastrements, c'est-à-dire en représentations numériques qui capturent le sens sémantique du texte.

En d'autres termes, l'intégration de documents permet au système de comprendre les requêtes des utilisateurs et de les faire correspondre aux informations pertinentes de l'ensemble de données source en se basant sur le sens du texte, au lieu de procéder à une simple comparaison mot à mot. Cette méthode garantit que les réponses sont pertinentes et correspondent à la requête de l'utilisateur.

Si vous souhaitez en savoir plus sur la manière dont les données textuelles sont converties en représentations vectorielles, nous vous recommandons d'explorer notre tutoriel sur les text embeddings avec l'API OpenAI.

Étape 4 : Traiter les demandes des utilisateurs

Lorsqu'une requête d'utilisateur entre dans le système, elle doit également être convertie en une représentation vectorielle. Le même modèle doit être utilisé pour l'intégration du document et de la requête afin de garantir l'uniformité entre les deux.

Une fois que la requête a été convertie en une représentation, le système compare la représentation de la requête avec les représentations du document. Il identifie et récupère les morceaux dont l'intégration est la plus similaire à l'intégration de la requête, en utilisant des mesures telles que la similarité cosinusoïdale et la distance euclidienne.

Ces morceaux sont considérés comme les plus pertinents par rapport à la requête de l'utilisateur.

Étape 5 : Générer des réponses avec un LLM

Les morceaux de texte récupérés, ainsi que la requête initiale de l'utilisateur, sont introduits dans un modèle linguistique. L'algorithme utilisera ces informations pour générer une réponse cohérente aux questions de l'utilisateur par le biais d'une interface de discussion.

Voici un organigramme simplifié qui résume le fonctionnement du GCR :

Organigramme décrivant le fonctionnement du RAG.

Image de l'auteur

Pour accomplir de manière transparente les étapes requises pour générer des réponses avec des MLD, vous pouvez utiliser un cadre de données tel que LlamaIndex.

Cette solution vous permet de développer vos propres applications LLM en gérant efficacement le flux d'informations entre les sources de données externes et les modèles linguistiques tels que GPT-3. Pour en savoir plus sur ce cadre et sur la façon dont vous pouvez l'utiliser pour créer des applications basées sur LLM, lisez notre tutoriel sur LlamaIndex.

Applications pratiques du RAG

Nous savons maintenant que le RAG permet aux LLM de former des réponses cohérentes basées sur des informations en dehors de leurs données de formation. Un tel système peut être utilisé de diverses manières par les entreprises afin d'améliorer l'efficacité de l'organisation et l'expérience des utilisateurs. Outre l'exemple du chatbot client que nous avons vu plus haut dans l'article, voici quelques applications pratiques de RAG :

Résumé de texte

RAG peut utiliser le contenu de sources externes pour produire des résumés précis, ce qui permet un gain de temps considérable. Par exemple, les managers et les cadres de haut niveau sont des personnes très occupées qui n'ont pas le temps d'examiner des rapports détaillés.

Avec une application alimentée par RAG, ils peuvent rapidement accéder aux conclusions les plus importantes des données textuelles et prendre des décisions plus efficacement au lieu d'avoir à lire de longs documents.

Recommandations personnalisées

Les systèmes RAG peuvent être utilisés pour analyser les données des clients, telles que les achats antérieurs et les commentaires, afin de générer des recommandations de produits. Cela améliorera l'expérience globale de l'utilisateur et, en fin de compte, générera plus de revenus pour l'organisation.

Par exemple, les applications RAG peuvent être utilisées pour recommander de meilleurs films sur les plateformes de streaming en fonction de l'historique de visionnage et des évaluations de l'utilisateur. Ils peuvent également être utilisés pour analyser les commentaires écrits sur les plateformes de commerce électronique.

Comme les LLM excellent dans la compréhension de la sémantique des données textuelles, les systèmes RAG peuvent fournir aux utilisateurs des suggestions personnalisées plus nuancées que celles d'un système de recommandation traditionnel.

Intelligence économique

Les entreprises prennent généralement leurs décisions en surveillant le comportement de leurs concurrents et en analysant les tendances du marché. Pour ce faire, il faut analyser méticuleusement les données contenues dans les rapports d'activité, les états financiers et les documents d'étude de marché.

Avec une application RAG, les organisations n'ont plus besoin d'analyser manuellement et d'identifier les tendances dans ces documents. Au contraire, un LLM peut être utilisé pour obtenir des informations significatives et améliorer le processus d'étude de marché.

Défis et bonnes pratiques de la mise en œuvre des systèmes RAG

Si les applications RAG nous permettent de combler le fossé entre la recherche d'informations et le traitement du langage naturel, leur mise en œuvre pose quelques problèmes particuliers. Dans cette section, nous examinerons les difficultés rencontrées lors de la création d'applications RAG et nous verrons comment elles peuvent être atténuées.

Complexité de l'intégration

Il peut être difficile d'intégrer un système de recherche à un LLM. Cette complexité s'accroît lorsqu'il existe de multiples sources de données externes dans des formats différents. Les données introduites dans un système RAG doivent être cohérentes et les embeddings générés doivent être uniformes pour toutes les sources de données.

Pour surmonter cette difficulté, des modules distincts peuvent être conçus pour traiter indépendamment les différentes sources de données. Les données de chaque module peuvent alors être prétraitées pour assurer leur uniformité, et un modèle normalisé peut être utilisé pour garantir que les encastrements ont un format cohérent.

Évolutivité

Au fur et à mesure que la quantité de données augmente, il devient de plus en plus difficile de maintenir l'efficacité du système RAG. De nombreuses opérations complexes doivent être effectuées, telles que la génération d'enchâssements, la comparaison de la signification de différents morceaux de texte et l'extraction de données en temps réel.

Ces tâches sont intensives en termes de calcul et peuvent ralentir le système à mesure que la taille des données sources augmente.

Pour relever ce défi, vous pouvez répartir la charge de calcul sur différents serveurs et investir dans une infrastructure matérielle robuste. Pour améliorer le temps de réponse, il peut également être utile de mettre en cache les requêtes les plus fréquentes.

La mise en œuvre de bases de données vectorielles peut également atténuer le problème d'extensibilité des systèmes RAG. Ces bases de données vous permettent de manipuler facilement les embeddings et de retrouver rapidement les vecteurs les plus étroitement alignés avec chaque requête.

Si vous souhaitez en savoir plus sur la mise en œuvre des bases de données vectorielles dans une application RAG, vous pouvez regarder notre session de code-along en direct, intitulée Retrieval Augmented Generation with GPT and Milvus (Génération augmentée de récupération avec GPT et Milvus). Ce tutoriel propose un guide étape par étape pour combiner Milvus, une base de données vectorielle open-source, avec les modèles GPT.

Qualité des données

L'efficacité d'un système RAG dépend fortement de la qualité des données qui l'alimentent. Si le contenu source auquel l'application accède est de mauvaise qualité, les réponses générées seront inexactes.

Les organisations doivent investir dans un processus diligent de curation et de mise au point du contenu. Il est nécessaire d'affiner les sources de données pour en améliorer la qualité. Pour les applications commerciales, il peut être utile de faire appel à un expert en la matière pour examiner et combler les lacunes en matière d'information avant d'utiliser l'ensemble de données dans un système RAG.

Réflexions finales

RAG est actuellement la technique la plus connue pour exploiter les capacités linguistiques des LLM avec une base de données spécialisée. Ces systèmes répondent à certains des défis les plus urgents rencontrés lors de l'utilisation de modèles de langage et constituent une solution innovante dans le domaine du traitement du langage naturel.

Cependant, comme toute autre technologie, les applications RAG ont leurs limites - en particulier leur dépendance à l'égard de la qualité des données d'entrée. Pour tirer le meilleur parti des systèmes RAG, il est essentiel d'inclure un contrôle humain dans le processus.

La conservation méticuleuse des sources de données, ainsi que les connaissances des experts, sont impératives pour garantir la fiabilité de ces solutions.

Si vous souhaitez plonger plus profondément dans le monde de RAG et comprendre comment il peut être utilisé pour créer des applications d'IA efficaces, vous pouvez regarder notre formation en direct sur la création d'applications d'IA avec LangChain. Ce tutoriel vous permettra d'acquérir une expérience pratique avec LangChain, une bibliothèque conçue pour permettre la mise en œuvre de systèmes RAG dans des scénarios réels.

FAQ

Quels types de données RAG peut-il récupérer ?

RAG peut récupérer des données structurées et non structurées, y compris des manuels de produits, des documents d'assistance à la clientèle, des textes juridiques et des informations API en temps réel.

Le programme RAG peut-il être intégré à n'importe quel programme d'éducation et de formation tout au long de la vie ?

Oui, RAG peut être mis en œuvre avec différents modèles de langage, y compris les modèles GPT d'OpenAI, les modèles basés sur BERT et d'autres architectures de transformation.

RAG peut-il être utilisé pour des applications en temps réel ?

Oui, RAG peut être utilisé dans des applications en temps réel telles que les chatbots du service client et les assistants IA, mais la performance dépend de l'efficacité de la recherche et de la génération de réponses.

Comment le RAG se compare-t-il à la mise au point d'un LLM ?

Le RAG fournit des mises à jour dynamiques sans réentraînement du modèle, ce qui le rend plus adaptable aux nouvelles informations, alors que le réglage fin nécessite un réentraînement sur des données spécifiques.

Le RAG nécessite-t-il un type de base de données spécifique pour la recherche ?

Non, RAG peut fonctionner avec différentes solutions de stockage de données, notamment les bases de données SQL, les bases de données NoSQL et les bases de données vectorielles comme FAISS et Milvus.


Natassha Selvaraj's photo
Author
Natassha Selvaraj
LinkedIn
Twitter

Natassha est une consultante en données qui travaille à l'intersection de la science des données et du marketing. Elle est convaincue que les données, lorsqu'elles sont utilisées à bon escient, peuvent être à l'origine d'une croissance considérable pour les individus et les organisations. En tant que professionnelle autodidacte des données, Natassha aime écrire des articles qui aident d'autres aspirants à la science des données à percer dans l'industrie. Les articles qu'elle publie sur son blog personnel, ainsi que dans des publications externes, sont consultés en moyenne 200 000 fois par mois.

FAQ sur la Génération Augmentée de Récupération (GAR)

Qu'est-ce que la Génération Augmentée de Récupération (GAR) ?

Le RAG est une technique qui combine les capacités de grands modèles de langage (LLM) préformés avec des sources de données externes, ce qui permet d'obtenir des réponses plus nuancées et plus précises de la part de l'IA.

Pourquoi le GCR est-il important pour améliorer la fonctionnalité des mécanismes d'apprentissage tout au long de la vie ?

Le RAG s'attaque aux principales limites des LLM, telles que leur tendance à fournir des réponses génériques, à générer de fausses réponses (hallucinations) et à manquer d'informations spécifiques. En intégrant les LLM à des données externes spécifiques, le RAG permet d'apporter des réponses plus précises, plus fiables et plus adaptées au contexte.

Comment fonctionne le RAG ? Quelles sont les étapes de sa mise en œuvre ?

RAG comporte plusieurs étapes : la collecte de données, le regroupement de données, l'intégration de documents, le traitement des requêtes des utilisateurs et la génération de réponses à l'aide d'un LLM. Ce processus garantit que le système fait correspondre avec précision les requêtes des utilisateurs avec les informations pertinentes provenant de sources de données externes.

Quels sont les défis liés à la mise en œuvre des systèmes RAG et comment les relever ?

Les défis à relever sont la complexité de l'intégration, l'évolutivité et la qualité des données. Les solutions consistent à créer des modules distincts pour les différentes sources de données, à investir dans une infrastructure solide et à assurer une curation et une mise au point diligentes du contenu.

RAG peut-il être intégré à d'autres types de modèles linguistiques que GPT-3 ou GPT-4 ?

Oui, RAG peut fonctionner avec différents modèles linguistiques, pour autant qu'ils soient capables de comprendre et de générer des langues sophistiquées. L'efficacité varie en fonction des atouts spécifiques du modèle.

Qu'est-ce qui différencie RAG des moteurs de recherche ou des bases de données traditionnels ?

RAG combine la capacité de recherche des moteurs de recherche avec la compréhension nuancée et la génération de réponses des modèles de langage, fournissant des réponses détaillées et tenant compte du contexte plutôt que de se contenter de récupérer des documents.

Sujets

Commencez dès aujourd'hui avec les LLM !

Certification disponible

cours

Concepts des grands modèles linguistiques (LLM)

2 hr
48.2K
Découvrez le plein potentiel des LLM grâce à notre cours conceptuel couvrant les applications des LLM, les méthodologies de formation, les considérations éthiques et les dernières recherches.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Voir plusVoir plus