Valider un dataset de chat

Collez le dataset pour contrôler sa structure et estimer les tokens textuels. Ce contrôle ne garantit pas l’acceptation par un fournisseur d’entraînement.

Fonctionne localement dans votre navigateur
Les lignes de l'ensemble de données sont analysées uniquement dans ce navigateur. Le validateur ne télécharge pas de données de formation et ne revendique pas l'acceptation spécifique du fournisseur.
Ensemble de données JSONL

Valider la structure avant de télécharger les données d'entraînement

Cette vérification indépendante du fournisseur couvre la syntaxe, les rôles, le contenu, les exemples d'assistant, les doublons et la taille approximative de JSONL. Exécutez toujours les vérifications de validation et de politique actuelles du fournisseur cible avant de créer une tâche.

Comment valider un dataset JSONL de chat ou prompt/completion

Collez du JSONL où chaque ligne est un enregistrement d'entraînement : soit un objet de chat avec un tableau messages, soit une paire prompt/completion. Le validateur signale les lignes mal formées avec leur numéro de ligne, marque les doublons, estime les jetons de texte de l'ensemble et ne renvoie que les lignes acceptées.

Le contrôle s'exécute dans cet onglet. Le dataset n'est jamais téléversé et l'outil fonctionne hors ligne une fois la page chargée.

  1. Collez votre JSONL dans l'éditeur — un objet JSON par ligne — ou cliquez sur Charger un exemple pour partir de trois enregistrements corrects.
  2. Cliquez sur Valider l'ensemble de données. Une saisie vide est signalée avant toute analyse.
  3. Lisez la liste des Résultats : chaque problème indique son numéro de ligne, et un enregistrement ne quitte la sortie normalisée que pour une erreur, jamais pour un avertissement.
  4. Cliquez sur Copier JSONL normalisé pour récupérer les lignes valides, compactées en un objet par ligne.
  5. Cliquez sur Effacer pour vider l'éditeur et remettre les compteurs à zéro avant le dataset suivant.

Ce que le validateur vérifie, ligne par ligne

Formes d'enregistrement acceptées

Un enregistrement avec un tableau messages doit contenir au moins un élément ; chaque élément doit avoir un role system, developer, user, assistant ou tool, et un content qui est soit une chaîne non vide, soit un tableau de parties {type:"text",text} dont le texte se rejoigne en un contenu non vide. Un enregistrement avec prompt et completion doit définir les deux comme chaînes non vides. Une ligne qui ne correspond à aucune forme est signalée comme schéma inconnu.

Les enregistrements sans tour assistant restent dans la sortie mais sont marqués d'un avertissement, et la détection des doublons compare les enregistrements via une forme canonique aux clés triées : le même contenu avec des clés réordonnées compte toujours comme doublon. Dans les tests, toutes les formes ci-dessus se sont validées comme prévu, y compris le content en tableau et les rôles tool et developer.

Comment les jetons sont estimés

Le comptage de jetons est une estimation, pas un vrai tokenizer : l'outil divise par quatre les caractères non CJK, compte les caractères CJK pour environ un jeton chacun et arrondit au supérieur. C'est la même heuristique que sur les autres pages de l'atelier IA ; elle sert à planifier, pas à facturer au centime.

Erreurs, avertissements et doublons sont comptés séparément dans la ligne de métriques. Un doublon n'est qu'un avertissement : les lignes dupliquées restent donc dans la sortie copiée — recoupez la copie avec la liste des Résultats pour les éliminer.

Limites et notes pratiques

La validation est structurelle : elle ne connaît le schéma exact d'aucun fournisseur, donc un dataset accepté ici peut encore être refusé par une API de fine-tuning donnée. Exécutez toujours la validation et les contrôles de politique actuels du fournisseur cible avant de créer une tâche.

Le fichier est analysé en une seule passe ; dans les tests, 2000 enregistrements ont été vérifiés en quelques centaines de millisecondes, donc les ensembles de plusieurs mégaoctets passent en général, et les plus volumineux gagnent à passer par un pipeline local en ligne de commande. Les fins de ligne CRLF et un BOM en tête sont acceptés.

Outils récents :