Pose une question à une mini-base de connaissances. Tu vois en direct comment l'IA vectorise ta question, récupère les bons documents, et génère une réponse ancrée dans la source. Pas de magie. Pas de boîte noire.
RAG = Retrieval-Augmented Generation. L'idée : au lieu de demander à un LLM de "savoir" toute ta documentation (impossible et risqué), on lui donne les bons extraits au moment de répondre. Mais pour que ça marche, il faut d'abord préparer la base. C'est en 2 phases.
PDFs, pages web, tickets Jira, FAQ, contrats… Toutes tes sources internes.
On découpe chaque doc en morceaux de 200-500 mots (chunks). Plus petit = plus précis.
Un modèle d'embedding (text-embedding-3, BGE…) transforme chaque chunk en vecteur qui capture le sens.
On stocke les vecteurs dans une base vectorielle (Pinecone, Qdrant, pgvector) — comme un index ultra-rapide.
💡 Cette phase tourne avant que les utilisateurs posent la moindre question. On la relance quand on ajoute des documents (incrémental) ou quand on change de modèle d'embedding (re-index complet).
L'utilisateur tape sa question dans le chat.
Le même modèle qu'à l'indexation transforme la question en vecteur.
On cherche dans la base les 3-5 chunks les plus proches (distance cosinus).
On envoie au LLM (GPT, Claude, Llama…) un prompt = question + chunks récupérés.
Le LLM rédige une réponse ancrée dans les chunks, avec citations.
💡 C'est cette phase que tu vas voir en simulation juste en bas. On simplifie : pas de vrai modèle d'embedding, pas de vrai LLM. Mais le flow est exactement celui-ci.
Tu es un assistant qui répond UNIQUEMENT à partir des extraits ci-dessous. Ne fais pas de suppositions. Cite tes sources avec [D1], [D2]… CONTEXTE : [D2] Politique de retour : Tu as 30 jours après réception pour retourner un article. L'article doit être dans son état d'origine, non utilisé... [D1] Délais de livraison : Les commandes passées avant 14h sont expédiées le jour même... QUESTION : Comment retourner un colis ? RÉPONSE :
Voilà. Le LLM reçoit ce prompt et génère la réponse. Aucune magie — juste une question augmentée avec le bon contexte.
La phase 01 (indexation) a déjà été faite pour toi sur les 5 fiches d'aide ShopyMart. À toi de jouer la phase 02.
5 fiches d'aide d'une boutique e-commerce fictive. C'est ici que l'IA va chercher.
Ou clique :
L'IA convertit ta phrase en une signature numérique (vecteur). Chaque cellule = une dimension.
L'IA compare le vecteur de ta question avec celui de chaque document. Plus le score est haut, plus le doc est pertinent.
L'IA compose une réponse à partir des extraits récupérés. Les [D2] sont cliquables.
| Composant | Notre simu | En production |
|---|---|---|
| Chunking | Pas de chunk : 1 doc = 1 fiche entière | Découpage en 200-500 tokens, avec overlap pour préserver le contexte |
| Embedding | Hash de caractères → 32 cellules visuelles | text-embedding-3 (OpenAI), BGE-large, Voyage → 768 à 3072 dimensions qui capturent le sens |
| Base vectorielle | Tableau JS en mémoire | Pinecone, Qdrant, Weaviate, pgvector — millions de docs en quelques ms |
| Retrieval | Score par overlap de mots-clés | Distance cosinus entre vecteurs + reranking (Cohere Rerank, BGE-reranker) |
| LLM (Generation) | Pas de LLM : on colle les extraits | GPT-4o, Claude Sonnet, Llama 3.3 70B reformulent, synthétisent et citent les sources |
| Latence totale | Instantané (tout local) | ~800ms à 3s (embedding + retrieval + LLM streaming) |
Le module 01 — Introduction à l'IA et le cheatsheet RAG vs Agent couvrent le sujet en profondeur — quand utiliser RAG vs fine-tuning, comment chunker, quel embedding choisir, et combien ça coûte.