RAG vs. LLM : analyse technique (définitions, différences, cas d’utilisation)

Le RAG et les LLM ne sont pas des choix concurrents : cette analyse explique comment chacun fonctionne, en quoi ils diffèrent et quand un LLM seul suffit par rapport à quand la récupération est nécessaire.

Diagram comparing an LLM-only flow (input, LLM, output) with a RAG flow, where the input is exchanged with an external data source before reaching the LLM.

Les LLM génèrent des réponses à l’aide de paramètres appris à partir de modèles présents dans leurs données d’entraînement. Comme ces paramètres peuvent ne pas refléter des informations récentes ou complètes, le RAG, qui signifie génération augmentée par récupération, complète le processus en ajoutant des données provenant de sources externes au contexte d’entrée du LLM. Un outil d’IA récupère des informations externes pour augmenter le processus de génération du LLM.

En réalité, votre choix ne se fait pas entre le RAG et un LLM. Il se fait entre une approche hybride et une approche qui utilise seulement un LLM.

Le RAG est nécessaire lorsqu’un LLM doit accéder à la documentation d’entreprise, à des bases de données ou à des informations qui changent rapidement. Une approche reposant uniquement sur un LLM convient à certaines tâches administratives, de traitement des données et de création de contenu lorsque toutes les entrées peuvent être fournies par l’utilisateur.

RAG par rapport au LLM : quelles sont les principales différences ?

  • Le RAG et les LLM sont des systèmes complémentaires. Vous pouvez utiliser un modèle d’IA sans RAG (auquel cas il s’appuie exclusivement sur ses paramètres existants), mais vous ne pouvez pas utiliser un système RAG sans modèle.
  • Le RAG a été introduit pour surmonter trois problèmes clés des LLM : l’information périmée, les réponses hallucinées et l’absence de vérification auprès de sources tierces.
  • Le RAG rend l’IA beaucoup plus efficace dans des situations d’affaires réelles parce qu’il connecte les LLM à de la documentation interne vérifiée, à des bases de données et à des points de terminaison d’API.
  • Les principaux cas d’utilisation du RAG comprennent les chatbots de soutien à la clientèle, les requêtes fondées sur des données qui changent rapidement (comme l’actualité d’un secteur) et les domaines spécialisés, comme la médecine et le droit, où l’exactitude et la vérification des sources sont importantes.
  • Il existe trois grands types de RAG : le RAG naïf, le RAG modulaire et le RAG avancé. Le RAG naïf se comprend le mieux comme une récupération d’information directe, tandis que le RAG modulaire et le RAG avancé ajoutent des fonctionnalités supplémentaires comme la réécriture de requêtes et l’optimisation des segments.

Qu’est-ce qu’un grand modèle de langage (LLM) ?

Un LLM, ou grand modèle de langage, est un système qui génère du contenu à l’aide de paramètres fine-tuned. Ces paramètres déterminent les probabilités attribuées à tous les jetons du vocabulaire d’un LLM, indiquant quel jeton est le plus susceptible de suivre dans une séquence donnée.

Pour mieux comprendre comment le RAG fonctionne (et en quoi il se distingue des) LLM, il est utile d’examiner le fonctionnement de l’IA générative à un niveau fondamental :

  1. Tokenisation : Le prompt d’un utilisateur est divisé en jetons, qui peuvent être des mots, des parties de mots ou des caractères uniques.
  2. Intégration : Les jetons sont convertis en embeddings, c’est-à-dire en représentations numériques (chaînes de nombres) appelées vecteurs, que le réseau neuronal, qui comprend un décodeur, peut traiter.
  3. Décodage : Les couches du décodeur (qui constituent une grande partie du réseau neuronal du LLM) manipulent ces vecteurs, à l’aide d’un processus appelé attention pour en capturer le sens. Ce processus détermine dans quelle mesure chaque jeton doit être lié aux autres jetons de la séquence.
  4. Notation : Le modèle attribue une probabilité de compatibilité à chaque jeton de son vocabulaire préexistant et sélectionne un prochain jeton probable pour la séquence.

Le point important est qu’un LLM ne peut produire des sorties qu’à partir de ses paramètres existants et des jetons présents dans sa fenêtre de contexte. Pendant l’entraînement, on demande à un LLM de terminer des portions de texte incomplet des milliards de fois, et ses paramètres sont ajustés jusqu’à ce qu’il attribue des probabilités aux jetons (et donc complète le texte) de manière fiable.

Imaginez, par exemple, que vous posiez à un modèle d’IA la question suivante : « Que dit la politique de remboursement de notre entreprise pour 2026 ? » Le LLM ne peut que prédire les prochains jetons en fonction de ses paramètres existants, qui n’ont pas été affinés à l’aide de votre documentation de soutien. Si vous lui posez cette question sans contexte supplémentaire, il sera tout simplement incapable de répondre de manière pertinente ou hallucinera une réponse incorrecte.

Qu’est-ce que la génération augmentée par récupération (RAG) ?

Le RAG (génération augmentée par récupération) est le processus par lequel l’information provenant de systèmes externes est incluse dans un prompt de LLM.

Le processus sous-jacent du LLM, qui implique l’intégration sous forme d’embeddings et la correspondance probabiliste des jetons, reste le même. Le RAG introduit une étape préliminaire au cours de laquelle le prompt de l’utilisateur est enrichi de données supplémentaires.

Voici un aperçu du fonctionnement du RAG :

  1. Préparation des connaissances : Une source de connaissances est préparée. Il peut s’agir d’un ensemble de documents, d’une base de données vectorielle, d’un graphe de connaissances ou d’un index en direct (par exemple pour la recherche IA).
  2. Prompting : Un utilisateur saisit un prompt, par exemple : « Dois-je aller me promener à Londres aujourd’hui ? »
  3. Récupération : La source d’information externe est interrogée par le récupérateur de l’outil d’IA. Il peut intégrer le prompt sous forme d’embeddings, en le transformant en vecteur, puis interroger une base de données vectorielle. Sinon, il peut utiliser une autre méthode, comme un appel API, une correspondance par mots-clés ou une traversée de graphe de connaissances.
  4. Insertion : Cette information est ajoutée au prompt original de l’utilisateur. Dans l’exemple de la question sur une promenade à Londres, cela pourrait inclure des informations météorologiques à Londres et l’accessibilité actuelle des itinéraires de promenade populaires.
  5. Génération de réponses : Le LLM génère une réponse de la manière habituelle en utilisant le prompt élargi.

En coulisses, le texte récupéré est ajouté au contexte d’entrée, tokenisé et intégré sous forme d’embeddings. Le modèle traite ensuite ce contexte supplémentaire par l’intermédiaire de son décodeur, ce qui modifie les probabilités des jetons de sortie.

De manière générale, le RAG peut être divisé en trois sous-types. Le RAG naïf suit le processus de base du RAG, en récupérant de l’information et en l’intégrant au prompt. Le RAG avancé ajoute des fonctions supplémentaires comme la réécriture de requêtes et plusieurs passes de requête. Le RAG modulaire désigne un type d’architecture dans lequel différentes fonctionnalités avancées peuvent être traitées comme des composants et combinées au besoin.

RAG par rapport au LLM : aperçu des cas d’utilisation

Le RAG donne aux utilisateurs accès à des données à jour. Il en résulte des sorties de LLM moins susceptibles de contenir des hallucinations et des lacunes informationnelles. Si vous devez voir les sources de l’information utilisée dans une sortie, le RAG est également essentiel, car les réponses de LLM non fondées ne s’accompagnent pas d’attributions.

Cas d’utilisation du RAG

  • Demandes d’information sensibles au temps : Toute requête portant sur des informations qui deviennent rapidement obsolètes, qu’il s’agisse d’un simple bulletin météo ou d’une analyse détaillée d’une nouvelle émergente, doit s’appuyer sur des sources tierces validées.
  • Documentation d’entreprise : Les chatbots d’IA destinés à un usage interne ou à la clientèle, dans lesquels les utilisateurs posent des questions liées à la documentation de l’entreprise ou des produits, devraient être activés en mode RAG, surtout si la documentation est souvent mise à jour.
  • Soutien à la clientèle : Les chatbots pour la clientèle ont besoin d’accéder à une documentation de soutien actuelle et détaillée pour fournir des réponses précises.
  • Domaines spécialisés (médecine, droit, finance, etc.) : Les LLM qui n’ont pas été entraînés sur des corpus propres à un domaine (surtout les modèles grand public) ont généralement de la difficulté à saisir les nuances des requêtes spécialisées.

Cas d’utilisation des LLM

  • Tâches administratives : Les LLM peuvent effectuer des tâches de base avec une latence minimale. Le RAG est inutile pour la rédaction et les tâches administratives de base, comme la correction orthographique ou la synthèse, où aucune information externe n’est requise.
  • Tâches créatives : Certaines tâches créatives, comme générer une courte histoire ou une image, ne nécessitent que l’information fournie dans le prompt original.
  • Tâches de raisonnement et fondées sur des données : Si vous travaillez avec un grand ensemble de données, un LLM n’a pas besoin d’accéder à des informations externes pour appliquer des fonctions de raisonnement et d’analyse.
  • Codage général : Même si un flux de travail de codage peut exiger l’accès à une base de code privée ou à de la documentation, les LLM sont tout à fait capables d’exécuter des tâches de codage général, comme corriger des bogues et créer des fonctions, sans recourir à des sources externes.

RAG par rapport au LLM à long contexte, à l’IA agentique et à l’ancrage

Trois concepts connexes sont pertinents pour distinguer le RAG et les LLM. Il s’agit des LLM à long contexte, de l’IA agentique et de l’ancrage.

Les LLM à long contexte peuvent parfois être utilisés à la place de systèmes activés par RAG, tandis que l’IA agentique et l’ancrage sont synonymes ou fonctionnent de concert avec eux.

LLM à long contexte

Ce sont des modèles dotés de grandes fenêtres de contexte, certains modèles commerciaux largement disponibles allant jusqu’à un million de jetons.

Si le contenu pertinent peut tenir dans la fenêtre de contexte d’un modèle et qu’il est disponible dans un format texte, une approche reposant uniquement sur un LLM présente certains avantages. Elle peut réduire le risque d’erreurs de récupération, fournir un contexte plus complet et éliminer le besoin d’une configuration étendue de l’architecture RAG.

IA agentique

Un agent est un système qui s’appuie sur plusieurs outils, y compris des capacités de RAG, pour accomplir des tâches complexes. Le RAG est un composant de l’IA agentique, et un agent utilise souvent différents types de méthodes de récupération (p. ex. recherche sur le Web ou recherche vectorielle) selon le contenu d’un prompt.

Ancrage

L’ancrage désigne le processus plus large consistant à utiliser des preuves ou des données pour améliorer l’exactitude de la réponse d’un LLM, ou pour l’ancrer. Le RAG est une forme d’ancrage, mais l’ajout d’un document technique à une fenêtre de contexte compterait également comme de l’ancrage.

RAG par rapport au LLM : exemples concrets

Pour mieux comprendre comment le RAG fonctionne par rapport à l’utilisation d’un LLM sans RAG, nous pouvons examiner un exemple simple du monde réel utilisant Perplexity et un cas d’entreprise hypothétique où une base de données vectorielle est interrogée.

RAG par rapport au LLM avec un prompt simple

Voici la sortie (limitée à deux phrases) lorsque l’on demande à Perplexity : « Dois-je aller me promener à Londres aujourd’hui ? » avec la recherche Web par IA (une forme de RAG) désactivée :

Oui — si le temps est raisonnablement sec et que vous avez le temps, une promenade à Londres aujourd’hui pourrait offrir un agréable changement de décor. Choisissez un itinéraire le long du South Bank, du Regent’s Canal ou à travers Hyde Park, et apportez un imperméable léger au cas où.

Comparez cela au prompt lorsque le LLM peut consulter des sources externes :

Oui, c’est une bonne journée pour une promenade à Londres : les prévisions annoncent des températures douces autour de 19 à 21 °C avec des éclaircies et une très faible probabilité de pluie. Avec un ciel partiellement nuageux et une légère brise, les conditions sont agréables pour explorer les parcs ou les itinéraires au bord de l’eau comme le South Bank.

Il existe des similitudes entre les deux, puisque le LLM utilise le même processus sous-jacent de notation des jetons. Cependant, le deuxième exemple comprend des informations météorologiques détaillées, ce qui le rend beaucoup plus utile.

RAG par rapport au LLM avec une base de données vectorielle d’entreprise

Imaginez qu’un utilisateur pose la question suivante au chatbot intégré d’une application bancaire : « Où puis-je télécharger mon relevé le plus récent ? »

La banque qui gère l’application a créé une base de données contenant des embeddings de sa documentation produit à jour et l’a reliée au pipeline RAG du chatbot. La documentation comprend environ 1 000 documents sources, qui sont découpés en segments plus petits et ont été convertis en vecteurs en vue de la récupération.

La requête de l’utilisateur est envoyée à un modèle d’embeddings, et l’application envoie ce vecteur à la base de données, qui renvoie les segments pertinents.

Le modèle d’embeddings recevrait une requête comme celle-ci :

json
{ "input": "Where can I download my most recent statement?" }

Le modèle d’embeddings renvoie l’intégration vectorielle suivante :

json
{ "embedding": [0.12, -0.44, 0.87, 0.31] }

La base de données vectorielle reçoit alors une requête semblable à la suivante :

json
{ "vector": [0.12, -0.44, 0.87, 0.31], "top_k": 5 }

Dans cet exemple (beaucoup simplifié), la base de données renvoie les cinq segments les plus pertinents pour la requête de l’utilisateur, qui sont envoyés à l’application et inclus dans le prompt du LLM.

Quand choisir le RAG ou un LLM, et quand les combiner

Les LLM et le RAG sont des systèmes complémentaires. Ainsi, la question « Quand devrais-je choisir un LLM et quand le RAG ? » est mal posée. Il faut plutôt demander : « Quand un LLM suffit-il et quand le RAG est-il optimal ? »

Quand utiliser un LLM sans RAG activé

  • Le modèle d’IA que vous avez choisi dispose d’une grande fenêtre de contexte : S’il est plus facile d’inclure dans votre prompt toutes les informations ou données nécessaires pour une réponse exacte, par exemple en téléversant un document, cela peut réduire la latence et prévenir les problèmes liés à la récupération.
  • Flux de travail de raisonnement et d’analyse de données : Les flux de travail d’analyse et de raisonnement qui ne se rapportent qu’aux données fournies dans un prompt n’ont pas besoin de capacités RAG.
  • Génération de code : Le RAG n’est généralement pas nécessaire pour le travail de codage général, bien qu’il soit habituellement utilisé pour des tâches propres à un projet, comme la récupération de correctifs antérieurs ou d’API et de documentation de fournisseurs.

Quand utiliser un LLM avec le RAG activé

  • Vous avez besoin d’accéder à des informations à jour : Si une application d’IA doit accéder à des sources externes d’informations à jour pour générer une réponse exacte, assurez-vous toujours que les capacités RAG sont activées.
  • Vous travaillez dans un domaine spécialisé : Pour des domaines comme la médecine, le droit, l’éducation, et ainsi de suite, où l’exactitude, le niveau de détail et la vérification des sources sont importants, l’utilisation d’un LLM seul sera souvent insuffisante.
  • Les sorties doivent faire référence à des fichiers internes de l’entreprise : Si vous utilisez l’IA, en interne ou dans une application destinée à la clientèle, pour générer du contenu à partir de documents internes de l’entreprise, qu’il s’agisse de données, d’une charte de marque, de documentation ou de fichiers, le RAG donne accès à ces informations.

Le RAG et les LLM sont des technologies complémentaires et en évolution

Le RAG a représenté une innovation majeure dans l’évolution de l’IA. Il répond à trois grands problèmes : l’information obsolète, la mémoire limitée du modèle et les lacunes d’information dues à l’absence de données d’entraînement pertinentes, qui entraînaient souvent des hallucinations. Bien sûr, les LLM n’ont pas entièrement surmonté ces problèmes, mais leur incidence a considérablement diminué avec l’avènement du RAG.

Le RAG n’est pas une technologie statique. On s’attend à ce qu’il s’améliore dans plusieurs domaines, notamment le reranking, la latence pendant la récupération et l’utilisation des jetons, les défenses de sécurité contre les sources de données dangereuses, l’intégration de données récupérées de plusieurs sources, et plus encore. À mesure que les LLM et l’IA agentique continuent d’évoluer, les systèmes RAG qui les soutiennent évolueront eux aussi.