RAG (génération augmentée par récupération)

Relu : Comment nous relisons les fichesMis à jour le

En bref

Le RAG consiste à retrouver des documents pertinents dans une base de connaissances, puis à les fournir à un modèle de langage pour qu'il fonde sa réponse dessus.

Sources[1]

Définition

Le RAG (Retrieval-Augmented Generation) est une technique qui associe un moteur de recherche à un modèle de langage. Avant de répondre, le système récupère des passages pertinents dans une base de documents, puis les insère dans la consigne donnée au modèle, qui génère sa réponse en s'appuyant dessus.

Les étapes

  1. Préparation : les documents sont découpés en passages, transformés en embeddings et stockés dans un index (souvent une base vectorielle).
  2. Récupération : la question de l'utilisateur est convertie de la même façon, et les passages les plus proches sont retrouvés.
  3. Génération : les passages retenus sont ajoutés à la consigne du modèle, qui rédige la réponse, idéalement en citant ses sources.

Intérêts

  • Accéder à des informations récentes ou privées que le modèle n'a pas apprises.
  • Réduire (sans les supprimer) les hallucinations, en ancrant la réponse dans des documents.
  • Citer les sources, ce qui facilite la vérification.
  • Mettre à jour les connaissances sans réentraîner le modèle.

Limites

La qualité de la réponse dépend de celle de la récupération : un mauvais découpage ou des passages non pertinents dégradent le résultat. Le modèle peut aussi ignorer ou mal interpréter les documents fournis.

Sources

  1. Lewis et al., « Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks » (2020)