Datasets : Construire des Jeux d'Évaluation et Itérer
Mis à jour le 29 juillet 2026
Le maillon final de la boucle d’itération
Les Datasets sont des collections curatées d’enregistrements de conversations que vous construisez, enrichissez et versionnez. Contrairement au trafic brut visible dans l’Explorer (en lecture seule), les enregistrements d’un Dataset sont éditables : vous pouvez modifier les messages, ajouter des propriétés, et annoter manuellement.
Les Datasets servent trois objectifs principaux : l’évaluation de la qualité, les tests de régression, et la préparation de données de fine-tuning.
Structure d’un enregistrement
Chaque enregistrement dans un Dataset contient trois composants :
Conversation
Les messages de la conversation : system prompt, inputs utilisateur, réponses assistant, tool calls. C’est le contenu que les Judges évaluent.
Properties
Des métadonnées custom que vous définissez. Exemples :
expected_output— La réponse idéale attenduecategory— Le type de requête (billing, technical, general)difficulty— Le niveau de difficulté (easy, medium, hard)grading_guidance— Critères spécifiques d’évaluation
Les propriétés sont référençables dans les instructions des Judges via {{ properties.expected_output }}.
Source
L’origine de l’enregistrement : EXPLORER, UPLOADED_FILE, DIRECT_INPUT, ou PLAYGROUND. Cela assure la traçabilité de vos données.
Les cinq sources de données
1. Création manuelle
Pour les tests de régression et les exemples “golden” :
from mistralai import Mistral
client = Mistral(api_key="votre-clé-api")
# Créer un Dataset
dataset = client.beta.observability.datasets.create(
name="support_billing_baseline_2026_04",
description="Exemples de référence pour le support facturation"
)
print(f"Dataset créé : {dataset.id}")
2. Depuis le Playground
Vous testez des conversations dans le Playground Mistral et les résultats sont satisfaisants. Sauvegardez-les directement dans un Dataset pour constituer votre base de référence.
3. Depuis une Campaign
Les événements annotés par une Campaign peuvent être importés dans un Dataset :
# Importer les événements annotés "excellent" depuis Explorer
dataset_enriched = client.beta.observability.datasets.import_from_explorer(
dataset_id=dataset.id,
search_params={
"filters": {
"AND": [
{
"field": "annotation.value",
"op": "eq",
"value": "excellent"
}
]
}
},
max_records=500
)
4. Depuis l’Explorer
Sélectionnez manuellement des événements intéressants dans l’Explorer et ajoutez-les au Dataset via le bouton “Actions > Ajouter au Dataset”.
5. Depuis un fichier JSONL
Pour l’import bulk de données existantes :
{"messages": [{"role": "user", "content": "Comment réinitialiser mon mot de passe ?"}, {"role": "assistant", "content": "Allez dans Paramètres > Sécurité > Réinitialiser."}], "properties": {"expected_output": "Instructions claires étape par étape", "category": "account"}}
# Upload et import JSONL
with open("golden_examples.jsonl", "rb") as f:
file_ref = client.files.upload(
file=("golden_examples.jsonl", f),
purpose="batch"
)
# Importer dans le Dataset
client.beta.observability.datasets.import_from_file(
dataset_id=dataset.id,
file_id=file_ref.id
)
Export de Datasets
Vous pouvez exporter un Dataset en JSONL pour l’utiliser dans vos propres pipelines :
# Exporter via l'interface : Actions > Export to JSONL
# Ou via le SDK pour une intégration automatisée
Bonnes pratiques de gestion
Nommage
Adoptez une convention explicite avec scope et date :
support_billing_baseline_2026_04— Base de référence facturation, avril 2026chatbot_regression_v2_3— Tests de régression du chatbot, version 2.3finetuning_quality_excellent_q1— Données de fine-tuning Q1, filtrées excellent
Organisation
La discipline d’organisation paie dès le deuxième mois d’exploitation. Gardez la trace de l’origine de chaque lot d’enregistrements — le champ Source le fait pour l’unité, mais c’est à vous de documenter pourquoi tel import de Campaign a rejoint tel Dataset. Quand un Dataset doit évoluer, créez-en une nouvelle version plutôt que de modifier l’existant : un jeu de tests de régression qui change silencieusement ne teste plus rien, puisque vous ne savez plus si c’est le modèle ou le jeu qui a bougé. Et résistez à la tentation du Dataset fourre-tout : un Dataset par objectif — évaluation, régression, fine-tuning — parce que les critères de sélection diffèrent radicalement d’un usage à l’autre. Pour la classification en particulier, vérifiez l’équilibre des catégories : un Dataset d’évaluation où 90 % des exemples sont « excellent » ne détectera jamais une régression sur les cas difficiles.
Taille recommandée
L’ordre de grandeur dépend de l’usage. Un jeu de tests de régression fonctionne bien avec 50 à 200 exemples soigneusement choisis — chacun doit représenter un comportement précis à préserver. Une évaluation de qualité représentative demande davantage de volume, entre 200 et 1 000 exemples, pour que les pourcentages aient un sens statistique. Le fine-tuning est le plus gourmand : comptez 500 à 5 000 exemples annotés, en privilégiant systématiquement la qualité de l’annotation sur la quantité — mille exemples propres battent cinq mille exemples bruités.
Points clés à retenir
- Les Datasets sont des collections éditables d’enregistrements de conversations
- Cinq sources : création manuelle, Playground, Campaign, Explorer, import JSONL
- Les propriétés custom (expected_output, category) enrichissent l’évaluation
- Nommez explicitement avec scope et date, versionnez plutôt que modifier
- Un Dataset par objectif : ne mélangez pas évaluation, régression et fine-tuning