Pourquoi un golden dataset ?
Un golden dataset est un ensemble de paires question-réponse validées par des humains qui sert de référence pour évaluer votre système. Sans golden dataset, vous volez à l'aveugle : impossible de mesurer les régressions ou de comparer les approches.
Méthodologie de construction
Étape 1 : Définir la taxonomie
Catégorisez les types de questions que votre système doit traiter :
- Questions factuelles simples (réponse directe dans un document)
- Questions de synthèse (réponse répartie sur plusieurs documents)
- Questions de raisonnement (inférence nécessaire)
- Questions hors domaine (le système doit refuser)
- Questions ambiguës (le système doit clarifier)
Étape 2 : Collecte des questions
Sources de questions réalistes :
- Logs de production (vrais utilisateurs)
- Sessions de test utilisateur
- Génération assistée par LLM + validation humaine
- Questions des équipes support/vente
# Génération assistée de questions variées
generation_prompt = """À partir de ce document, génère 10 questions :
- 3 questions factuelles simples
- 3 questions nécessitant de la synthèse
- 2 questions de raisonnement
- 2 questions hors scope
Document: {document}"""Étape 3 : Rédiger les réponses de référence
Pour chaque question, définir :
- La réponse idéale (ground truth)
- Les documents sources qui contiennent l'information
- Le niveau de difficulté
- Les critères d'acceptation (qu'est-ce qui est "correct" ?)
Étape 4 : Validation croisée
- Minimum 2 annotateurs par question
- Mesurer l'inter-annotator agreement (Cohen's Kappa > 0.7)
- Résoudre les désaccords par discussion ou troisième annotateur
Taille recommandée
- Minimum viable : 50-100 exemples pour démarrer
- Production : 200-500 exemples couvrant tous les cas
- Robuste : 500+ avec distribution équilibrée par catégorie
Structure du dataset
{
"id": "q_042",
"question": "Quel est le délai de rétractation pour un achat en ligne ?",
"ground_truth": "Le délai de rétractation est de 14 jours...",
"source_documents": ["doc_cgv_v3.pdf", "page_12"],
"category": "factual",
"difficulty": "easy",
"metadata": {"domain": "juridique", "language": "fr"}
}Pièges à éviter
- Biais de confirmation : Ne pas créer uniquement des questions où le système fonctionne bien
- Sur-représentation : Équilibrer les catégories et niveaux de difficulté
- Questions datées : Marquer les questions sensibles au temps
- Réponses ambiguës : Définir clairement les critères d'acceptation
Maintenance du dataset
- Revue trimestrielle pour retirer les questions obsolètes
- Ajout continu des cas d'échec détectés en production
- Versioning du dataset (git) pour tracer les évolutions