Numérique · Intelligence artificielle
Base de connaissances et IA : le RAG
Le RAG consiste à rechercher dans une base de connaissances les passages utiles à une question, puis à les fournir à un modèle de langage qui rédige sa réponse en citant ses sources.
Mis à jour le 5 min de lecture
Un grand modèle de langage ne connaît ni vos procédures internes, ni votre catalogue, ni les documents publiés après son entraînement. Le RAG (retrieval-augmented generation, en français génération augmentée par récupération) résout ce problème sans réentraîner le modèle : à chaque question, on va chercher les informations utiles dans une base de connaissance et on les place dans la consigne. Le principe a été formalisé en 2020 par une équipe de chercheurs de Facebook AI Research (Patrick Lewis et ses coauteurs) ; il est devenu l’architecture standard des assistants d’entreprise.
Pourquoi le RAG ?
| Problème d’un LLM seul | Ce qu’apporte le RAG |
|---|---|
| Connaissances figées à la date d’entraînement | Documents mis à jour en continu |
| Ignore les informations internes | Accès aux documents de l’organisation |
| Hallucinations | Réponses ancrées dans des passages précis |
| Pas de sources | Citations vérifiables |
| Pas de gestion des droits | Filtrage selon les permissions de l’utilisateur |
L’alternative, le réentraînement (fine-tuning) d’un modèle sur ses documents, est plus coûteuse, difficile à mettre à jour, et adaptée plutôt au style ou au format qu’à l’apport de faits.
Comment fonctionne le RAG
1. Préparer la base (indexation)
- Collecter les documents : pages de wiki, PDF, articles de centre d’aide, tickets résolus.
- Nettoyer : retirer menus, doublons, versions obsolètes.
- Découper (chunking) chaque document en passages de quelques centaines de mots, de préférence en respectant la structure (sections, paragraphes), avec un léger chevauchement.
- Calculer un plongement (embedding) pour chaque passage : un vecteur de plusieurs centaines ou milliers de nombres qui représente son sens. Deux textes de sens proche ont des vecteurs proches, même avec des mots différents.
- Stocker les vecteurs et les métadonnées (titre, source, date, droits d’accès) dans une base vectorielle (voir base de données).
2. Répondre à une question
- La question de l’utilisateur est transformée en vecteur.
- La base renvoie les passages les plus proches par le sens (recherche sémantique), souvent combinée à une recherche par mots-clés classique (recherche hybride).
- Un reclassement (reranking) affine l’ordre des passages.
- Les meilleurs passages sont insérés dans la consigne avec une instruction du type : « Réponds uniquement à partir des documents ci-dessous ; cite-les ; dis si l’information n’y figure pas. »
- Le modèle rédige la réponse et indique ses sources.
Mettre en place un RAG : les étapes
- Cibler un cas d’usage précis (support client, assistance RH, documentation technique) plutôt que « tout le savoir de l’entreprise ».
- Assainir le corpus : c’est l’étape décisive. Supprimer les doublons et versions périmées, désigner des propriétaires, dater les documents (voir gestion des connaissances).
- Choisir les composants : modèle d’embedding, base vectorielle (pgvector, Qdrant, Milvus, Weaviate, ou intégrée à une plateforme), modèle de langage, outil d’orchestration. De nombreux outils de base de connaissance proposent désormais un RAG intégré.
- Gérer les droits : un utilisateur ne doit obtenir que des passages qu’il a le droit de lire.
- Construire un jeu d’évaluation : quelques dizaines de questions réelles avec la bonne réponse attendue.
- Mesurer : pertinence des passages retrouvés, exactitude et fidélité des réponses aux sources, taux de « je ne sais pas » justifiés.
- Itérer sur le découpage, la recherche et la consigne.
- Maintenir : réindexer à chaque mise à jour de la base.
Variantes avancées
- GraphRAG : la récupération s’appuie sur un graphe de connaissances qui relie les entités, utile pour les questions qui exigent de croiser plusieurs documents.
- RAG agentique : le modèle décide lui-même de lancer plusieurs recherches successives, de reformuler sa requête ou d’interroger d’autres outils (base SQL, API).
- Contexte long : avec des fenêtres de contexte de centaines de milliers de tokens, on peut parfois fournir des documents entiers ; la recherche reste nécessaire dès que le corpus est grand.
Les limites
- Qualité du corpus : un RAG répète fidèlement des documents faux ou contradictoires. Garbage in, garbage out.
- Récupération ratée : si le bon passage n’est pas retrouvé, la réponse sera incomplète ou inventée.
- Découpage maladroit : un tableau coupé en deux ou une condition séparée de sa règle faussent la réponse.
- Hallucinations résiduelles : le modèle peut encore extrapoler au-delà des passages.
- Sécurité : un document piégé peut contenir des instructions cachées destinées au modèle (injection de consigne) ; les données sensibles doivent être protégées (RGPD).
Questions fréquentes
Quelle différence entre RAG et fine-tuning ?
Le RAG fournit des informations au moment de la question, sans modifier le modèle ; le fine-tuning modifie les paramètres du modèle par un entraînement complémentaire. Le RAG convient aux connaissances factuelles changeantes ; le fine-tuning, au style, au format ou à une tâche spécialisée.
Qu’est-ce qu’un embedding ?
Une représentation d’un texte (ou d’une image) sous forme d’une liste de nombres, calculée par un modèle, telle que deux contenus de sens proche aient des vecteurs proches. C’est ce qui permet la recherche par le sens plutôt que par les mots exacts.
Faut-il une base vectorielle pour faire du RAG ?
Le plus souvent, mais pas obligatoirement : une recherche par mots-clés classique, un moteur de recherche interne ou une base SQL peuvent servir de composant de récupération. Les meilleurs résultats viennent souvent de la combinaison des deux.
Le RAG supprime-t-il les hallucinations ?
Il les réduit fortement quand le bon passage est retrouvé, sans les supprimer. Exiger des citations et vérifier les réponses importantes reste nécessaire.