> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/fr/nouveau/studio/data-recipe.md).

# Recettes de données Unsloth

Data Recipes d’Unsloth Studio vous permet de téléverser des documents comme des PDF ou des fichiers CSV et de les transformer en jeux de données utilisables / synthétiques. Créez et modifiez des jeux de données visuellement via un flux de travail en graphe de nœuds. Ce guide vous initiera aux bases avant que vous ne plongiez dans Unsloth Data Recipes.

<div data-with-frame="true"><figure><img src="/files/cdbdb9ee45f65c5b9d2621ee85677f55f5ff4b08" alt=""><figcaption></figcaption></figure></div>

### Comment fonctionne Data Recipes

Data Recipes suit le même cheminement de base. Vous ouvrez la page des recettes, créez ou choisissez une recette, construisez le flux de travail dans l’éditeur, le validez, lancez un aperçu, puis exécutez le jeu de données complet une fois que le résultat semble correct. Ajoutez des données de départ et des blocs de génération, validez le flux de travail, prévisualisez un échantillon de sortie, puis lancez une génération complète du jeu de données. Unsloth Data Recipes est propulsé par **NVIDIA Nemo** [**Data Designer**](https://github.com/NVIDIA-NeMo/DataDesigner).

<div data-with-frame="true"><figure><img src="/files/180bd7cd3cbd0cc95559d28cb19d6385f8c94f50" alt=""><figcaption><p>Exemple de génération de jeu de données et de fine-tuning d’un modèle</p></figcaption></figure></div>

À première vue, 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 le flux de travail de votre jeu de données.
4. Cliquez sur **Validez** pour détecter rapidement les problèmes de configuration.
5. Lancez un aperçu pour examiner rapidement des lignes d’exemple.
6. Lancez une génération complète du jeu de données lorsque la recette est prête.
7. Suivez la progression et la sortie en direct dans le graphe ou dans **Exécutions** vue pour plus de détails.
8. Sélectionnez le jeu de données résultant dans **Unsloth** 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, ce qui vous permet de retrouver plus tard votre travail enregistré. À partir de là, vous pouvez créer une recette vierge ou ouvrir une recette d’apprentissage guidée.

{% hint style="info" %}
Les recettes peuvent être exportées et importées, il est donc facile de partager des flux de travail avec d’autres utilisateurs d’Unsloth :tada:. Si vous essayez de créer un schéma de jeu de données spécifique, demandez sur le Discord d’Unsloth. Quelqu’un a peut-être déjà une recette à partager.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/7c4db81edc56c672f9d4642a0a9dd85b863389de" alt="" width="563"><figcaption><p>Page d’accueil des recettes</p></figcaption></figure></div>

Si vous êtes nouveau dans le concept des flux de travail, les recettes d’apprentissage sont le moyen le plus rapide de voir comment les données de départ, les prompts, les expressions et les validateurs s’assemblent dans un exemple fonctionnel. Si vous connaissez déjà la forme du jeu de données que vous souhaitez, partir de zéro est généralement plus rapide.

#### Choisissez un point de départ

<table><thead><tr><th>Si vous souhaitez :</th><th>Commencez avec :</th><th data-hidden></th></tr></thead><tbody><tr><td><sub><strong>Construire rapidement un flux de travail personnalisé</strong></sub></td><td><sub><strong>Commencer à vide</strong></sub></td><td></td></tr><tr><td><sub><strong>Apprendre le produit à partir d’un exemple</strong></sub></td><td><sub><strong>Commencer à partir d’une recette d’apprentissage</strong></sub></td><td></td></tr><tr><td><sub><strong>Poursuivre le travail précédent</strong></sub></td><td><sub><strong>Ouvrir une recette enregistrée</strong></sub></td><td></td></tr></tbody></table>

### Ce que vous construisez dans l’éditeur

L’éditeur est l’endroit où la recette prend forme. Vous ajoutez des blocs depuis la palette de blocs, les configurez dans des boîtes de dialogue, les connectez sur le canevas, puis validez ou exécutez le flux de travail.

<div data-with-frame="true"><figure><img src="/files/aee39d566df13a802d5344c4030bb11523d69459" alt="" width="563"><figcaption><p>Exemple de construction d’un flux de travail de description de produit</p></figcaption></figure></div>

{% columns %}
{% column %}
L’éditeur comporte quelques parties essentielles :

* 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 palette de blocs, où vous ajoutez de nouveaux blocs
* Les boîtes de dialogue de configuration, où vous définissez les prompts, les références, les alias de modèle, les validateurs et les paramètres de seed.
* Les **Exécutez** et **Validez** contrôles flottants
* il faut ajouter davantage ici

{% endcolumn %}

{% column %}
Les blocs les plus courants dans reciper sont :

* **Seed** pour les données d’entrée provenant de Hugging Face, de fichiers structurés locaux (ou de documents non structurés qui sont découpés en lignes).
* **LLM + Modèles** pour les fournisseurs, les configurations de modèle, 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 code généré incorrect grâce à des linters intégrés pour Python, SQL et JavaScript/TypeScript.
* **Échantillonneurs** pour les colonnes déterministes telles que les catégories et sous-catégories.
  {% endcolumn %}
  {% endcolumns %}

### Comment fonctionnent les références

La plupart des blocs qui produisent des données (avec quelques exceptions) deviennent une référence pour les blocs suivants. C’est l’une des idées principales derrière Data Recipes. Vous créez une valeur une seule fois, puis vous la réutilisez dans les prompts, les expressions, les sorties structurées et les étapes de validation.

{% hint style="info" %}
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}}` , associer des valeurs comme `{{customer.first_name}} {{customer.last_name}}` et ajouter une logique conditionnelle avec des motifs tels que `{% if condition %}...{% endif %}`&#x20;
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/7b5cb51697e84cfd290b2ca4b58eacfc825a81f1" alt="" width="563"><figcaption><p>Exemple de références affichées dans l’éditeur</p></figcaption></figure></div>

Par exemple :

* Un bloc de catégorie nommé `domain` peut être référencé comme `{{ domain }}`
* une colonne de seed peut être utilisée directement dans un prompt LLM, les colonnes de vos données de départ (par ex. colonnes d’un jeu de données HF, csv)
* une sortie LLM structurée peut exposer des champs pour des prompts ultérieurs
* un bloc d’expression peut combiner des valeurs antérieures sans autre appel au modèle

### Que se passe-t-il ensuite ?

Les exécutions d’aperçu servent à itérer rapidement. Elles renvoient des lignes d’exemple et une analyse dans l’éditeur afin que vous puissiez inspecter les données générées avant de lancer 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 local d’Unsloth, où vous pouvez la réexaminer et l’utiliser pour le fine-tuning. Vous pouvez éventuellement publier votre jeu de données sur votre dépôt Hugging Face.

### Blocs de construction principaux

{% columns %}
{% column %}

<div data-with-frame="true"><figure><img src="/files/7b0e60f03b4463cbdc4c54a2de37bea4d84a4fad" alt="" width="188"><figcaption><p>Blocs de construction principaux</p></figcaption></figure></div>
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="/files/bbdd0c8ab7539ce56a2e1023f8f55ec9277d7f92" alt="" width="188"><figcaption><p>Blocs de modèle et LLM</p></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

#### La configuration du modèle est divisée en deux couches 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, `vLLM` , `llama.cpp` , ou toute API compatible OpenAI que vous exécutez en dehors d’Unsloth.

{% hint style="info" %}
Les recettes ne sont pas limitées à un seul modèle. Vous pouvez ajouter plusieurs **Fournisseurs de modèles** et **Configuration du modèle** blocs, puis utiliser différents modèles pour différentes étapes, par exemple un pour le code et un autre pour les tâches de texte générales.
{% endhint %}

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

{% columns %}
{% column %}
Les blocs de profil d’outil définissent un accès partagé aux outils basé sur MCP pour un ou plusieurs blocs LLM. Utilisez-les lorsqu’une étape de génération a besoin d’outils, comme pour consulter la documentation du code via `Context7`.

L’image à gauche montre Context7 MCP ajouté et configuré dans la boîte de dialogue du bloc Profil d’outil :
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="/files/52328c78b475776be005b9268ef294cd47195ac3" alt="" width="375"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

#### Validateurs

{% columns %}
{% column %}
Le bloc Validor cible principalement le bloc de code LLM en exécutant le code généré à travers un linter et une validation de syntaxe ; cela vous aide à garder les lignes de code mauvaises ou invalides hors du jeu de données final en les filtrant. Les options intégrées couvrent la validation de Python, SQL et JavaScript/TypeScript.
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="/files/7630a18317ebab81f339a3fa709cacf3599b0ee8" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

### Valider, prévisualiser et exécuter

Une fois que le flux de travail de la recette est en place, l’étape suivante est l’exécution. Le schéma recommandé est : validez d’abord, prévisualisez pour un retour rapide et inspectez les données générées dans la vue des exécutions, puis exécutez le jeu de données complet lorsque vous estimez que la sortie correspond à votre plan.

Utilisez les contrôles d’exécution dans l’ordre suivant :

{% stepper %}
{% step %}

#### Validez

Cliquez sur **Validez** pour détecter les problèmes de configuration.
{% endstep %}

{% step %}

#### Aperçu

Lancez un aperçu pour examiner les lignes d’exemple et l’analyse
{% endstep %}

{% step %}

#### Affiner

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

Itérez jusqu’à ce que les données générées vous satisfassent
{% endstep %}

{% step %}

#### Lancer la génération complète du jeu de données

{% endstep %}
{% endstepper %}

<figure><img src="/files/cfbc9edadecc652b83350ba5e89150e56d8ffc28" alt="" width="188"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/fr/nouveau/studio/data-recipe.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
