Le RAG expliqué : faire répondre une IA sur vos propres documents
- 01Le RAG retrouve les passages pertinents de VOS documents et les donne à l'IA comme contexte.
- 02On découpe les documents en morceaux, on les transforme en vecteurs, on les stocke.
- 03À chaque question, on récupère les morceaux proches et on les ajoute au prompt.
Un modèle de langage ne connaît pas vos documents internes, vos fiches produit ni vos procédures. Le RAG (Retrieval-Augmented Generation) règle ça sans réentraîner le modèle : il va chercher les bons passages dans vos données et les fournit à l'IA au moment de répondre. C'est la brique derrière la plupart des « chatbots qui connaissent votre entreprise ».
L'idée en une phrase
Plutôt que d'espérer que l'IA « sache », on lui donne la réponse sous les yeux : on retrouve les extraits pertinents de vos documents, on les colle dans le prompt, et on demande à l'IA de répondre à partir de ces extraits.
Les deux temps du RAG
Temps 1 — l'indexation (une fois, en amont) :
- Découper vos documents en morceaux (chunks) de quelques paragraphes.
- Transformer chaque morceau en vecteur — une liste de nombres qui capture son sens — via un modèle d'embeddings.
- Stocker ces vecteurs dans une base vectorielle (Qdrant, Chroma, pgvector…).
Temps 2 — la requête (à chaque question) :
- Transformer la question de l'utilisateur en vecteur, de la même façon.
- Retrouver les morceaux dont le vecteur est le plus proche de celui de la question.
- Injecter ces morceaux dans le prompt et demander à l'IA de répondre en s'appuyant dessus.
Pourquoi des vecteurs et pas une recherche par mots-clés ?
Une recherche classique trouve « congés payés » seulement si ces mots exacts figurent dans le texte. Les embeddings, eux, capturent le sens : une question sur les « vacances » retrouvera un paragraphe parlant de « congés », même sans le mot exact. C'est ce qui rend les réponses pertinentes.
Le prompt qui change tout
L'instruction finale donnée à l'IA est décisive. Cadrez-la pour éviter les inventions :
Réponds à la question en t'appuyant uniquement sur les extraits ci-dessous. Si la réponse ne s'y trouve pas, dis-le clairement. N'invente rien.
Extraits : [les morceaux retrouvés]
Question : [la question de l'utilisateur]
Le « si la réponse ne s'y trouve pas, dis-le » est votre meilleur garde-fou contre les hallucinations.
Les réglages qui font la qualité
- Taille des chunks : trop petits, ils perdent le contexte ; trop gros, ils noient l'info. Visez quelques centaines de mots avec un léger chevauchement.
- Nombre de morceaux récupérés : 3 à 5 suffisent souvent. Plus, c'est du bruit (et des tokens payés pour rien).
- Qualité des documents : un RAG nourri de documents mal structurés répondra mal. Le nettoyage en amont compte autant que le code.
À retenir
Le RAG ne réentraîne rien : il retrouve les bons passages de vos documents et les donne à l'IA comme contexte. On indexe une fois (découper → vectoriser → stocker), puis à chaque question on récupère les morceaux proches et on les injecte dans le prompt. Soignez le découpage et cadrez le prompt sur « uniquement à partir des extraits » : c'est là que se joue la fiabilité. Le passage à l'échelle de production fait l'objet d'un tuto avancé.
Articles liés
Mettre un RAG en production : chunking, embeddings et reranking
Le prototype RAG marche en démo mais déçoit en vrai. Les leviers qui font passer un RAG du jouet au système fiable.
Le function calling : laisser une IA déclencher des actions
Comment une IA passe de « parler » à « agir » : interroger une base, envoyer un mail, appeler une API. Le mécanisme du function calling.
Faire tourner un modèle IA en local avec Ollama (gratuit et privé)
Installer un LLM sur votre propre machine, sans abonnement et sans envoyer vos données dans le cloud. Ollama rend ça simple.