Aller au contenu principal

Datasets : Construire des Jeux d'Évaluation et Itérer

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 attendue
  • category — 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 2026
  • chatbot_regression_v2_3 — Tests de régression du chatbot, version 2.3
  • finetuning_quality_excellent_q1 — Données de fine-tuning Q1, filtrées excellent

Organisation

  • Tracez les origines — Notez d’où viennent les enregistrements (Explorer, Campaign, import)
  • Versionnez — Créez un nouveau Dataset plutôt que de modifier l’existant
  • Ne mélangez pas les tâches — Un Dataset par objectif (évaluation, fine-tuning, régression)
  • Vérifiez l’équilibre — Pour la classification, assurez-vous d’avoir suffisamment d’exemples de chaque catégorie

Taille recommandée

  • Tests de régression : 50-200 exemples soigneusement sélectionnés
  • Évaluation de qualité : 200-1000 exemples représentatifs
  • Fine-tuning : 500-5000 exemples annotés de haute qualité

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