Yi SHENFull-stack & solutions IA

Paris • Singapour • Shanghai

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 → learn

Leç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 :

IndicateurVotre valeurSignification
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 :

  1. Les deux tags de rapport.
  2. Le pourcentage de l’union de récupération.
  3. La précision stricte des réponses.
  4. Le taux de sources retrouvées.
  5. La précision des refus et le taux d’hallucination.
  6. 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.