RAG Formation · Leçon · Fondations et mesure
Établir la baseline du MVP
Exécuter une évaluation en conditions réelles et lire son rapport comme un ingénieur, pas comme un communicant.
$ lesson --status
▸ course RAG Formation
▸ lesson 04 / 16
▸ phase Fondations et mesure
▸ status Terminé
● build → measure → learnLeçon autonome
Apprenez la leçon complète et vérifiez votre compréhension ici.
Le contenu des 16 leçons de RAG Formation est complet. Cette page contient le contenu complet, les références locales et des exercices immédiats dans le navigateur.
Le gain concret de cette leçon
À la fin de cette leçon, vous disposerez d’une base de référence actuelle pour le système Meridian Labs désensibilisé — et vous saurez précisément ce qu’elle démontre, et surtout ce qu’elle ne démontre pas.
Regarder la vidéo
1 · La sécurité d’abord : utiliser la démonstration isolée
Exécutez chaque commande depuis le répertoire de démonstration — et non depuis `api` :
cd demo
La stack de démonstration est totalement isolée : elle possède ses propres noms de services, ports, collections, espaces de travail et répertoires de données. Elle ne lit que la configuration de démonstration et l’unique fichier de clé API de démonstration. N’affichez ni n’ouvrez jamais les fichiers d’environnement contenant des secrets.
Avant de commencer, vérifiez :
- Docker est en cours d’exécution.
- Le fichier de clé API de démonstration existe et contient bien une clé.
- Le port `8000` n’est pas déjà utilisé par le projet de production.
2 · Exécuter la recette de référence
Commencez par les vérifications hors ligne :
python3 eval.py verify
python3 test_scoring.py
Démarrez la stack isolée :
python3 setup_demo.py up
Vérifiez l’état à tout moment avec :
python3 setup_demo.py status
Indexez maintenant le corpus synthétique :
python3 setup_demo.py ingest
L’ingestion n’est pas instantanée : les index du graphe et des résumés appellent tous deux le LLM, prévoyez donc suffisamment de temps. Si le corpus est déjà indexé et que vous souhaitez le conserver, utilisez avec précaution les options documentées. N’effacez pas les données de production par inadvertance.
3 · Mesurer la récupération avant les réponses
Exécutez d’abord l’évaluation dédiée à la récupération — elle ignore complètement l’évaluateur LLM :
python3 eval.py run \
--mode retrieval \
--workspace meridian_demo \
--tag lesson-4-retrieval
Vous verrez précisément la contribution de chaque index :
- Vecteur seul
- Vecteur et recherche plein texte
- Vecteur, recherche plein texte et résumé
- Tous les index, y compris la correspondance approximative dans le graphe
4 · Mesurer les réponses générées
Exécutez ensuite l’évaluation des réponses :
python3 eval.py run \
--mode answer \
--workspace meridian_demo \
--tag lesson-4-answer
Cette exécution appelle `/api/v1/qa`, vérifie les citations et les mots-clés requis, puis permet à un modèle évaluateur de classer chaque réponse comme `correct`, `partial` ou `incorrect`. Elle mesure également les refus et la latence.
Vous l’exécutez pour la première fois ? Limitez la taille de l’échantillon :
python3 eval.py run \
--mode both \
--workspace meridian_demo \
--limit 10 \
--tag lesson-4-smoke
5 · Lire le rapport comme un ingénieur
Les rapports se trouvent ici :
demo/reports/
Ne citez jamais un chiffre sans sa définition. Notez :
| Indicateur | Votre valeur | Signification |
|---|---|---|
| Union de récupération | _____ | Toutes les sources attendues trouvées dans les index combinés |
| Précision stricte | _____ | Le verdict de l’évaluateur est `correct` |
| Taux de sources retrouvées | _____ | Toutes les sources attendues sont citées dans la réponse finale |
| Précision des refus | _____ | Les questions sans réponse sont correctement refusées |
| Taux d’hallucination | _____ | Les questions sans réponse reçoivent malgré tout une réponse |
| Latence p50 / p95 | _____ | Temps de réponse habituel et dans la longue traîne |
6 · Exercice : référence ou affirmation excessive ?
Affirmation A : « Sur le jeu d’évaluation Meridian Labs de 65 questions, avec `gpt-4o-mini`, topk 5 et cet espace de travail, la précision stricte des réponses a atteint 70 %. » Est-ce une affirmation de référence solide ?
Affirmation B : « Le chatbot a une précision de 70 %. » Cette formulation convient-elle à un rapport technique ?
Affirmation C : L’union de récupération est élevée, mais la précision stricte des réponses est faible. Où chercher ensuite ?
Lien avec la mission
Une équipe QA ou réglementaire ne peut rien faire d’un chiffre qu’elle ne peut ni interpréter ni reproduire. Une base de référence maintient l’honnêteté du prototype : elle montre ce qui fonctionne, ce qui échoue et si votre prochaine modification a réellement changé la situation.
Prochaine action
Exécutez au minimum l’évaluation de la récupération et celle des réponses. Envoyez-moi ensuite :
- Les deux tags de rapport.
- Le pourcentage de l’union de récupération.
- La précision stricte des réponses.
- Le taux de sources retrouvées.
- La précision des refus et le taux d’hallucination.
- Une défaillance que vous souhaitez examiner en premier, avec la raison donnée par l’évaluateur.
Posez-moi vos questions dès que Docker, l’ingestion, l’évaluateur ou un indicateur vous semble difficile à comprendre. Je vous aiderai à interpréter les chiffres réels avant de considérer la leçon 4 comme terminée.