hat-chefRecettes de données Unsloth

Apprenez à créer, construire et éditer des jeux de données avec les Recettes de Données d'Unsloth Studio.

Data Recipes d'Unsloth Studio vous permet de téléverser des documents tels que des fichiers PDF ou CSV et de les transformer en jeux de données utilisables / synthétiques. Créez et éditez des jeux de données visuellement via un flux de travail en graphes de nœuds. Ce guide vous apprendra les bases avant que vous ne vous lanciez dans Unsloth Data Recipes.

Comment Data Recipes fonctionne

Data Recipes suit le même chemin de base. Vous ouvrez la page des recettes, créez ou choisissez une recette, construisez le flux de travail dans l'éditeur, le validez, exécutez un aperçu, puis lancez la génération complète du jeu de données une fois que la sortie semble correcte. Ajoutez des données de départ et des blocs de génération, validez le flux de travail, prévisualisez des échantillons de sortie, puis lancez une construction complète du jeu de données. Unsloth Data Recipes est alimenté par NVIDIA DataDesignerarrow-up-right.

Exemple de génération de jeu de données et d'ajustement fin d'un modèle

En un coup d'œil, un flux de travail habituel devrait ressembler à ceci :

  1. Ouvrez la page des recettes.

  2. Créez une nouvelle recette ou ouvrez-en une existante.

  3. Ajoutez des blocs pour définir votre flux de travail de jeu de données.

  4. Cliquez Valider pour détecter les problèmes de configuration tôt.

  5. Exécutez un aperçu pour inspecter rapidement des lignes d'exemple.

  6. Lancez une construction complète du jeu de données lorsque la recette est prête.

  7. Consultez la progression et la sortie en direct dans le graphe ou dans Exécutions pour plus de détails.

  8. Sélectionnez le jeu de données résultant dans Studio et affinez un modèle.

Commencer

La page des recettes est le point d'entrée principal. Les recettes sont stockées localement dans le navigateur, vous pouvez donc revenir à votre travail enregistré plus tard. Depuis ici, vous pouvez créer une recette vide ou ouvrir une recette d'apprentissage guidée.

circle-info

Les recettes peuvent être exportées et importées, ce qui facilite le partage des flux de travail avec d'autres utilisateurs d'Unsloth 🎉. Si vous essayez de créer un schéma de jeu de données spécifique, demandez sur le Discord d'Unsloth. Quelqu'un peut déjà avoir une recette à partager.

Page d'accueil des recettes

Si vous êtes nouveau dans le concept de flux de travail, les recettes d'apprentissage sont le moyen le plus rapide de voir comment les données de départ, les invites, les expressions et les validateurs s'articulent ensemble dans un exemple fonctionnel. Si vous connaissez déjà la forme du jeu de données que vous souhaitez, commencer vide est généralement plus rapide.

Choisissez un chemin de départ

Si vous souhaitez :
Commencez par :

Construire rapidement un flux de travail personnalisé

Commencer vide

Apprendre le produit à partir d'un exemple

Commencer à partir d'une recette d'apprentissage

Continuer un travail précédent

Ouvrir une recette enregistrée

Ce que vous créez dans l'éditeur

L'éditeur est l'endroit où la recette prend forme. Vous ajoutez des blocs depuis la feuille des blocs, les configurez dans des dialogues, les connectez sur le canevas, puis validez ou exécutez le flux de travail.

Exemple de construction d'un flux de travail de description de produit

L'éditeur comporte quelques parties centrales :

  • L'en-tête de la recette, où vous renommez la recette et basculez entre Éditeur et Exécutions

  • Le canevas, où le graphe de la recette est affiché

  • La feuille des blocs, où vous ajoutez de nouveaux blocs

  • Les dialogues de configuration, où vous définissez les invites, les références, les alias de modèle, les validateurs et les paramètres de données de départ.

  • Le Exécuter et Valider flottant

  • contrôles

besoin d'ajouter plus ici

  • Les blocs les plus courants dans une recette sont : Seed

  • pour les données d'entrée depuis Hugging Face, des fichiers structurés locaux (ou des documents non structurés qui sont découpés en lignes). LLM + Modèles

  • pour les fournisseurs, les configurations de modèles, les blocs de génération LLM, et les profils d'outils partagés. Expression

  • pour les transformations basées sur jinja2 qui ne nécessitent pas d'appel LLM. Validateurs

  • pour filtrer le mauvais code généré avec des linters intégrés pour Python, SQL et Javascript/Typescript. Échantillonneurs

pour des colonnes déterministes telles que catégories et sous-catégories.

Comment fonctionnent les références

circle-info

La plupart des blocs qui produisent des données (avec quelques exceptions) deviennent une référence pour les blocs ultérieurs. C'est l'une des idées principales derrière Data Recipes. Vous créez une valeur une fois, puis vous la réutilisez dans les invites, les expressions, les sorties structurées et les étapes de validation. Les expressions Jinja vous aident à travailler avec des valeurs qui existent déjà dans la recette. Vous pouvez référencer des champs imbriqués comme {{customer.first_name}} , joindre des valeurs comme {{customer.first_name}} {{customer.last_name}} et ajouter de la logique conditionnelle avec des motifs tels que

{% if condition %}...{% endif %}

Exemple de références affichées dans l'éditeur

  • Par exemple : Un bloc de catégorie nommé domain peut être référencé comme

  • {{ domain }}

  • une colonne seed peut être utilisée directement dans une invite LLM, les colonnes de vos données seed (par ex. colonnes d'un dataset HF, csv)

  • une sortie LLM structurée peut exposer des champs pour des invites ultérieures

un bloc d'expression peut combiner des valeurs précédentes sans un nouvel appel au modèle

Et ensuite ?

Les exécutions d'aperçu servent à une itération rapide. Elles renvoient des lignes d'échantillon et une analyse dans l'éditeur afin que vous puissiez inspecter les données générées avant de vous engager dans une exécution complète.

Les exécutions complètes créent un artefact de jeu de données local persistant. Cette sortie apparaît ensuite dans le sélecteur de jeux de données locaux de Studio, où vous pouvez l'inspecter à nouveau et l'utiliser pour l'affinage. Optionnellement, vous pouvez publier votre jeu de données dans votre dépôt Hugging Face.

Les exécutions complètes créent un artefact de jeu de données local persistant. Cette sortie apparaît ensuite dans le sélecteur de jeux de données locaux de Studio, où vous pouvez l'inspecter à nouveau et l'utiliser pour l'affinage. Optionnellement, vous pouvez publier votre jeu de données dans votre dépôt Hugging Face.
Blocs de construction principaux

Blocs Modèle et LLM

  • La configuration du modèle est répartie en deux niveaux utilisables : Fournisseur de modèle

  • définit le point de terminaison et l'authentification Configuration du modèle

définit le nom du modèle et les paramètres d'inférence Cette configuration fonctionne avec des fournisseurs hébergés, des points de terminaison auto-hébergés, , llama.cpp vLLM

circle-info

, ou toute API compatible OpenAI que vous exécutez en dehors de Studio. Les recettes ne sont pas limitées à un seul modèle. Vous pouvez ajouter plusieurs et fournisseurs de modèle configuration de modèle

blocs, puis utiliser différents modèles pour différentes étapes, comme un pour le codage et un autre pour des tâches de texte générales.

Après la configuration du modèle, vous pouvez utiliser quatre types de blocs LLM :
Bloc
Sortie

Idéal pour

LLM Texte

Texte libre

Instructions, explications, conversations et descriptions

LLM Structuré

JSON

Sortie nécessitant des champs fixes et une structure prévisible

LLM Code

Code

Python, SQL, Typescript et autres tâches de génération de code

LLM Juge

Évaluation notée

Notation des sorties avec un ou plusieurs scores définis par l'utilisateur

Profils d'outils Les blocs de profil d'outil définissent un accès aux outils partagé basé sur MCP pour un ou plusieurs blocs LLM. Utilisez-les lorsqu'une étape de génération a besoin d'outils, comme rechercher la documentation de code via.

Context7

pour les transformations basées sur jinja2 qui ne nécessitent pas d'appel LLM.

L'image à gauche montre Context7 MCP ajouté et configuré dans le dialogue du bloc Profil d'outil :

Le bloc Validor cible principalement les blocs de code LLM en faisant passer les sorties de code générées par un linter et une validation de syntaxe ; cela vous aide à empêcher que de mauvaises lignes de code ou invalides ne se retrouvent dans le jeu de données final en les filtrant. Les options intégrées couvrent la validation pour Python, SQL et JavaScript/TypeScript.

Valider, prévisualiser et exécuter

Une fois le flux de travail de la recette en place, l'étape suivante est l'exécution. Le schéma recommandé est : valider d'abord, prévisualiser pour des retours rapides et inspecter les données générées dans la vue des exécutions, puis lancer l'exécution complète du jeu de données lorsque vous jugez que la sortie satisfait votre plan.

1

Valider

Cliquez Valider Utilisez les contrôles d'exécution dans l'ordre suivant :

2

pour détecter les problèmes de configuration.

Aperçu

3

Exécutez un aperçu pour inspecter des lignes d'échantillon et l'analyse

Affiner

Affinez les invites, les références, les paramètres seed ou les validateurs.

4

Itérez jusqu'à ce que vous soyez satisfait des données générées

Mis à jour

Ce contenu vous a-t-il été utile ?