RAG en production
RAG en production est un cours de niveau avancé de 5 leçons (environ 1 h 40), avec 15 exercices et 15 questions de quiz. Prérequis : Intégrer un LLM dans une application, SQL fondamentaux (SELECT, filtres, agrégats). Les exercices s'exécutent dans le navigateur, sans installation.
- IA générative
- Avancé
- 5 leçons
- 1 h 40
- 15 exercices
- Exercices exécutés dans le navigateur
Le cours en bref
Ce cours traite ce qui rend un RAG utilisable en production. Vous découpez des documents selon leur structure avec des métadonnées, stockez et cherchez des vecteurs avec pgvector, combinez recherche lexicale et vectorielle, mesurez la qualité avec un jeu d'évaluation, puis gardez l'index à jour en respectant les droits de chaque utilisateur. Les exercices s'exécutent en Python et en SQL, avec des vecteurs fournis et un modèle simulé.
Ce que tu sauras faire
- Construire un pipeline d'indexation reproductible avec découpage structurel, recouvrement et métadonnées
- Stocker des embeddings dans PostgreSQL avec pgvector et écrire une recherche filtrée cohérente avec son index
- Implémenter une recherche hybride (BM25 et vecteurs) et fusionner les classements
- Évaluer un RAG avec rappel@k, précision@k, contrôle des citations et de l'abstention
- Synchroniser l'index de façon incrémentale et atomique
- Appliquer l'isolation entre organisations et les droits d'accès dans la requête de recherche
Programme des 5 leçons
- Construire un pipeline d'indexation reproductible : extraction, découpage, métadonnées, stockage
- Découper un document selon sa structure (titres, paragraphes) avec une taille maximale et un recouvrement
- Attacher à chaque morceau les métadonnées nécessaires aux citations, aux droits et aux mises à jour
Pipeline d'indexationDécoupage structurelMétadonnées des morceaux
- 02
Embeddings et pgvector : stocker et chercher des vecteurs
- Expliquer ce qu'est un embedding et les contraintes qu'il impose (même modèle, même dimension)
- Calculer similarité cosinus, produit scalaire et distance euclidienne et relier chacune à un opérateur pgvector
- Écrire une recherche filtrée par métadonnées et choisir entre recherche exacte et index approché
EmbeddingsSimilarité et distancespgvectorIndex approché (HNSW, IVFFlat)
- 03
Recherche hybride : mots-clés, vecteurs et fusion
- Expliquer les forces et faiblesses de la recherche lexicale (BM25) et de la recherche vectorielle
- Calculer un score BM25 et fusionner deux classements (RRF ou combinaison pondérée normalisée)
- Situer le reranking et le nombre de candidats dans une chaîne de recherche
Recherche lexicale BM25Recherche hybrideFusion par rang réciproque (RRF)Reranking
- 04
Évaluer un RAG : recherche, citations et réponses
- Construire un jeu d'évaluation annoté (questions, documents pertinents, réponses attendues)
- Mesurer la recherche avec le rappel@k et la précision@k et comparer des configurations
- Contrôler automatiquement les citations et l'abstention, puis compléter par une évaluation des réponses
Jeu d'évaluationRappel@k et précision@kContrôle des citationsFidélité des réponses
- 05
Mises à jour et droits d'accès
- Synchroniser l'index avec les documents sources (ajouts, modifications, suppressions) de façon incrémentale
- Filtrer la recherche selon l'organisation et les droits de l'utilisateur, dans la requête
- Gérer suppression, versions et données personnelles dans un index RAG
Indexation incrémentaleDroits d'accèsIsolation entre organisationsSuppression et conservation
Projet final
Assistant documentaire interne multi-équipes
Pour une entreprise fictive de 200 personnes, construisez le cœur d'un assistant documentaire RAG sur une vingtaine de documents Markdown (RH, informatique, direction) avec des droits par groupe. Implémentez le découpage structurel, une recherche hybride filtrée par organisation et par groupes, des réponses citées avec un modèle simulé, la synchronisation incrémentale, et un jeu d'évaluation d'au moins 20 questions (dont des questions sans réponse et des questions qu'un groupe n'a pas le droit de poser). Comparez au moins trois configurations et justifiez votre choix.
Livrables
- Le pipeline d'indexation (découpage, métadonnées, empreintes, remplacement atomique)
- Le schéma SQL avec pgvector (tables, index, requête filtrée) et la requête de droits
- Le service de recherche hybride (lexical, vectoriel, fusion) et le contrôle des citations
- Le jeu d'évaluation versionné et le tableau comparatif des configurations (rappel@k, précision@k, abstention)
- Une note d'une page sur les choix, les limites et les risques (droits, injection indirecte, données personnelles)
Critères d'évaluation
- Aucun morceau d'une autre organisation ou d'un groupe non autorisé n'est retrouvable, tests à l'appui
- Les mesures sont reproductibles et la configuration retenue est justifiée par les chiffres
- Les citations renvoient toujours à des morceaux fournis et le système s'abstient sans contexte
- La synchronisation ne réindexe que les documents modifiés et supprime les morceaux des documents retirés
- Le code est lisible, testé et sépare indexation et interrogation
Questions fréquentes
Quelle différence avec la leçon RAG du cours NLP et LLM ?
Le cours DS8 présente le principe du RAG et un prototype. Ce cours traite la production : découpage structurel et métadonnées, pgvector et index, recherche hybride, évaluation outillée, synchronisation incrémentale et droits d'accès.
Faut-il une base vectorielle dédiée ?
Pas nécessairement. Si votre application utilise déjà PostgreSQL, l'extension pgvector permet de stocker les vecteurs à côté des données et des droits, et de filtrer dans la même requête. Une base dédiée peut se justifier à très grande échelle.
Les exercices appellent-ils un vrai modèle d'embedding ?
Non. Les vecteurs sont fournis ou calculés localement et le modèle est simulé, pour que les exercices soient rapides, déterministes et exécutables dans le navigateur. Les méthodes s'appliquent telles quelles avec un vrai modèle.
Quels prérequis faut-il ?
Le cours Intégrer un LLM dans une application (AI2) et les bases de SQL (S1) : requêtes, jointures et sous-requêtes.
Ce cours, raconté pour ton métier
Dis ce que tu veux savoir faire : « RAG en production » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.