Exercice 15 / 18

RAG : Retrieval Augmented Generation

Connecter un LLM à ta base de connaissances

Le RAG permet à un LLM de chercher dans une base de documents avant de répondre. Résout deux problèmes : connaissances limitées et hallucinations.

1. Pourquoi le RAG ?

Un LLM a deux limites majeures :

  • Knowledge cutoff : il ne sait rien après une certaine date
  • Pas d'accès à tes documents privés (interne entreprise, base produit, support…)

Le RAG comble ces lacunes en lui fournissant le contexte au moment de la question.

2. Pipeline RAG en 5 étapes

Préparation (offline) :

  1. Découper tes documents en morceaux (chunks de 200-1000 tokens)
  2. Embedder chaque chunk : un modèle d'embedding transforme le texte en vecteur (un point dans un espace de dimension élevée)
  3. Stocker les vecteurs dans une base vectorielle (Pinecone, Weaviate, Qdrant, pgvector…)

Inférence (à chaque question) : 4. Embedder la question de l'utilisateur → vecteur 5. Chercher les chunks les plus proches (similarité cosinus) dans la base 6. Injecter ces chunks dans le prompt du LLM 7. Le LLM répond en s'appuyant sur ces chunks

Le trajet d'une question dans un RAG : elle devient un vecteur, sert à retrouver les morceaux de documents les plus proches, qui sont injectés dans le prompt avant que le modèle réponde

3. Pourquoi les embeddings ?

Deux phrases qui parlent du même sujet auront des vecteurs proches dans l'espace, même si elles n'utilisent pas les mêmes mots.

Ex : « Comment annuler ma commande ? » et « Procédure de retour produit » → vecteurs proches → le RAG retrouve le bon document.

4. Modèles d'embeddings courants

  • OpenAI text-embedding-3-large
  • Cohere embed-multilingual-v3
  • Sentence Transformers (open source)
  • Voyage AI (spécialisé)

5. Chunking : la clé

  • Trop petits : on perd le contexte (« le tarif est de » → de quoi ?)
  • Trop grands : on dilue la pertinence et on dépasse le budget de tokens
  • Bonnes pratiques : découper par paragraphe ou par section logique, avec un peu de chevauchement (overlap)

6. Améliorations classiques

  • Hybrid search : combiner sémantique (embeddings) et lexical (BM25)
  • Reranking : après la recherche, repasser un modèle pour trier les chunks
  • Citations : forcer le LLM à citer ses sources (anti-hallucination)
  • Metadata filtering : restreindre par date, auteur, catégorie

7. Cas d'usage typiques

  • Chatbot SAV sur la base de connaissances produit
  • Search interne entreprise
  • Assistant juridique sur les contrats
  • Q&A sur la documentation technique
✏️ Exercice

Tu veux construire un chatbot RAG sur la FAQ entreprise (10 000 articles).

Décris la pipeline complète, étape par étape, de la préparation des données à la réponse à une question utilisateur.

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →