# Unsloth-Datenrezepte

Mit den Data Recipes von Unsloth Studio können Sie Dokumente wie PDFs oder CSV-Dateien hochladen und sie in nutzbare / synthetische Datensätze umwandeln. Erstellen und bearbeiten Sie Datensätze visuell über einen Graph-Knoten-Workflow. Diese Anleitung führt Sie zunächst durch die Grundlagen, bevor Sie in Unsloth Data Recipes eintauchen.

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FQ6e19jESrJg0VjHnX58c%2Fdata%20recipes%20final.png?alt=media&#x26;token=8d74e453-815d-4790-83d1-76d0bc80a3ce" alt=""><figcaption></figcaption></figure></div>

### So funktionieren Data Recipes

Data Recipes folgt demselben grundlegenden Ablauf. Sie öffnen die Recipes-Seite, erstellen oder wählen ein Recipe, bauen den Workflow im Editor auf, validieren ihn, führen eine Vorschau aus und starten dann den vollständigen Datensatz, sobald die Ausgabe richtig aussieht. Fügen Sie Seed-Daten und Generierungsblöcke hinzu, validieren Sie den Workflow, sehen Sie sich Beispielausgaben in der Vorschau an und erstellen Sie dann einen vollständigen Datensatz. Unsloth Data Recipes wird unterstützt von **NVIDIA Nemo** [**Data Designer**](https://github.com/NVIDIA-NeMo/DataDesigner).

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fc5m3JX1kUA3UwmdcJcxH%2FArea.gif?alt=media&#x26;token=33bbd908-7d6c-456a-bc58-ce495c0adca1" alt=""><figcaption><p>Beispiel für die Generierung eines Datensatzes und das Fine-Tuning eines Modells</p></figcaption></figure></div>

Auf einen Blick sollte ein üblicher Workflow etwa so aussehen:

1. Öffnen Sie die Recipes-Seite.
2. Erstellen Sie ein neues Recipe oder öffnen Sie ein vorhandenes.
3. Fügen Sie Blöcke hinzu, um Ihren Datensatz-Workflow zu definieren.
4. Klicken Sie auf **Validieren** um Konfigurationsprobleme frühzeitig zu erkennen.
5. Führen Sie eine Vorschau aus, um Beispielzeilen schnell zu prüfen.
6. Führen Sie einen vollständigen Datensatzaufbau aus, wenn das Recipe bereit ist.
7. Überprüfen Sie den Fortschritt und die Ausgabe live im Graphen oder in der **Ausführungen** Ansicht für weitere Details.
8. Wählen Sie den resultierenden Datensatz in **Studio** aus und führen Sie ein Fine-Tuning eines Modells durch.

### Erste Schritte

Die Recipes-Seite ist der zentrale Einstiegspunkt. Recipes werden lokal im Browser gespeichert, sodass Sie später zu gespeicherten Arbeiten zurückkehren können. Von hier aus können Sie ein leeres Recipe erstellen oder ein geführtes Lern-Recipe öffnen.

{% hint style="info" %}
Recipes können exportiert und importiert werden, daher ist es einfach, Workflows mit anderen Unsloth-Nutzern zu teilen :tada:. Wenn Sie versuchen, ein bestimmtes Datensatzmuster zu erstellen, fragen Sie im Unsloth Discord nach. Vielleicht hat bereits jemand ein Recipe, das er teilen kann.
{% endhint %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FAwKh7speKv3eXERFhPg2%2FScreenshot%202026-03-13%20at%2008.26.11.png?alt=media&#x26;token=809ac83f-75c8-4ef2-9721-65971b3faaa5" alt="" width="563"><figcaption><p>Startseite der Recipes</p></figcaption></figure></div>

Wenn Sie neu im Konzept von Workflows sind, sind Lern-Recipes der schnellste Weg zu sehen, wie Seed-Daten, Prompts, Ausdrücke und Validatoren in einem funktionierenden Beispiel zusammenpassen. Wenn Sie bereits wissen, welche Form der Datensatz haben soll, ist der Start von Grund auf meist schneller.

#### Wählen Sie einen Startpfad

<table><thead><tr><th>Wenn Sie möchten:</th><th>Beginnen Sie mit:</th><th data-hidden></th></tr></thead><tbody><tr><td><sub><strong>Erstellen Sie schnell einen benutzerdefinierten Workflow</strong></sub></td><td><sub><strong>Leer beginnen</strong></sub></td><td></td></tr><tr><td><sub><strong>Lernen Sie das Produkt anhand eines Beispiels kennen</strong></sub></td><td><sub><strong>Mit Lern-Recipe starten</strong></sub></td><td></td></tr><tr><td><sub><strong>Vorherige Arbeit fortsetzen</strong></sub></td><td><sub><strong>Ein gespeichertes Recipe öffnen</strong></sub></td><td></td></tr></tbody></table>

### Was Sie im Editor erstellen

Im Editor nimmt das Recipe Gestalt an. Sie fügen Blöcke aus dem Blockblatt hinzu, konfigurieren sie in Dialogen, verbinden sie auf der Arbeitsfläche und validieren oder führen dann den Workflow aus.

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F6A2uN85dkYAdP7v0eUyX%2Fworkflow.gif?alt=media&#x26;token=b44d9682-1825-4ddb-88f6-485a2aea3359" alt="" width="563"><figcaption><p>Beispiel für den Aufbau eines Workflows für Produktbeschreibungen</p></figcaption></figure></div>

{% columns %}
{% column %}
Der Editor hat einige Kernbereiche:

* Die Recipe-Kopfzeile, in der Sie das Recipe umbenennen und zwischen **Editor** und **Ausführungen**
* der Arbeitsfläche, auf der der Recipe-Graph angezeigt wird
* dem Blockblatt, in dem Sie neue Blöcke hinzufügen
* Konfigurationsdialogen, in denen Sie Prompts, Referenzen, Modell-Aliase, Validatoren und Seed-Einstellungen definieren.
* Die schwebenden **Ausführen** und **Validieren** Steuerelemente
* hier muss noch mehr hinzugefügt werden

{% endcolumn %}

{% column %}
Die häufigsten Blöcke in Recipes sind:

* **Seed** für Eingabedaten von Hugging Face, lokalen strukturierten Dateien (oder unstrukturierten Dokumenten, die in Zeilen aufgeteilt werden.
* **LLM + Modelle** für Anbieter, Modellkonfigurationen, LLM-Generierungsblöcke und gemeinsame Tool-Profile.
* **Ausdruck** für Jinja2-basierte Transformationen, die keinen LLM-Aufruf erfordern.
* **Validatoren** zum Filtern schlechter generierter Code-Ausgaben mit integrierten Lintern für Python, SQL und JavaScript/TypeScript.
* **Sampler** für deterministische Spalten wie Kategorien und Unterkategorien.
  {% endcolumn %}
  {% endcolumns %}

### Wie Referenzen funktionieren

Die meisten Blöcke, die Daten erzeugen, werden (mit einigen Ausnahmen) zu einer Referenz für spätere Blöcke. Das ist eine der Hauptideen hinter Data Recipes. Sie erstellen einen Wert einmal und verwenden ihn dann erneut in Prompts, Ausdrücken, strukturierten Ausgaben und Validierungsschritten.

{% hint style="info" %}
Jinja-Ausdrücke helfen Ihnen, mit Werten zu arbeiten, die bereits im Recipe existieren. Sie können verschachtelte Felder wie `{{customer.first_name}}` referenzieren, Werte wie `{{customer.first_name}} {{customer.last_name}}` verknüpfen und bedingte Logik mit Mustern wie `{% if condition %}...{% endif %}`&#x20;
{% endhint %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FNJYWKeIDC6aqgT2dShsB%2FScreenshot%202026-03-13%20at%2010.06.14.png?alt=media&#x26;token=9d20bb8c-8a25-4395-9616-6429021d76f0" alt="" width="563"><figcaption><p>Beispiel für im Editor angezeigte Referenzen</p></figcaption></figure></div>

Zum Beispiel:

* Ein Kategorienblock mit dem Namen `domain` kann als `{{ domain }}`
* referenziert werden, eine Seed-Spalte kann direkt in einem LLM-Prompt verwendet werden, die Spalten in Ihren Seed-Daten (z. B. HF-Dataset-Spalten, CSV)
* eine strukturierte LLM-Ausgabe kann Felder für spätere Prompts bereitstellen
* ein Ausdruchsblock kann frühere Werte ohne weiteren Modellaufruf kombinieren

### Was passiert danach?

Vorschauausführungen dienen der schnellen Iteration. Sie geben Beispielzeilen und Analysen im Editor zurück, sodass Sie die generierten Daten prüfen können, bevor Sie zu einer vollständigen Ausführung übergehen.

Vollausführungen erstellen ein dauerhaft gespeichertes lokales Datensatz-Artifact. Diese Ausgabe erscheint später im lokalen Datensatzwähler von Studio, wo Sie sie erneut prüfen und für das Fine-Tuning verwenden können. Optional können Sie Ihren Datensatz in Ihr Hugging-Face-Repository veröffentlichen.

### Kernbausteine

{% columns %}
{% column %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FuphMi76re2aUX7JvFNce%2FScreenshot%202026-03-13%20at%2011-35-45%20Unsloth%20Studio.png?alt=media&#x26;token=674eb5ef-5acb-4b32-ab85-11a2af2e210f" alt="" width="188"><figcaption><p>Kernbausteine</p></figcaption></figure></div>
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FsdoYKdurtGeu4YgVqu0q%2FScreenshot%202026-03-13%20at%2011-38-59%20Unsloth%20Studio.png?alt=media&#x26;token=328c7ea6-591e-43fa-9e87-c71277a54736" alt="" width="188"><figcaption><p>Modell- und LLM-Blöcke</p></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

#### Die Modelleinrichtung ist in zwei nutzbare Ebenen aufgeteilt:

* **Modellanbieter** definiert den Endpunkt und die Authentifizierung
* **Modellkonfiguration** definiert den Modellnamen und die Inferenz-Einstellungen

Dieses Setup funktioniert mit gehosteten Anbietern, selbst gehosteten Endpunkten, `vLLM` , `llama.cpp` oder jeder OpenAI-kompatiblen API, die Sie außerhalb von Studio ausführen.

{% hint style="info" %}
Recipes sind nicht auf ein Modell beschränkt. Sie können mehrere **Modellanbieter** und **Modellkonfigurations** Blöcke hinzufügen und dann verschiedene Modelle für unterschiedliche Schritte verwenden, etwa eines für Code und ein anderes für allgemeine Textaufgaben.
{% endhint %}

Nach der Modelleinrichtung können Sie vier Arten von LLM-Blöcken verwenden:

| Block            | Ausgabe                | Am besten für                                                                  |
| ---------------- | ---------------------- | ------------------------------------------------------------------------------ |
| LLM-Text         | Freiform-Text          | Anweisungen, Erklärungen, Gespräche und Beschreibungen                         |
| LLM-Strukturiert | JSON                   | Ausgaben, die feste Felder und eine vorhersehbare Struktur benötigen           |
| LLM-Code         | Code                   | Python-, SQL-, TypeScript- und andere Code-Generierungsaufgaben                |
| LLM-Prüfer       | Bewertete Einschätzung | Bewertung von Ausgaben mit einer oder mehreren benutzerdefinierten Bewertungen |

#### Tool-Profile

{% columns %}
{% column %}
Tool-Profil-Blöcke definieren gemeinsamen MCP-basierten Tool-Zugriff für einen oder mehrere LLM-Blöcke. Verwenden Sie sie, wenn ein Generierungsschritt Tools benötigt, z. B. um Code-Dokumentation nachzuschlagen über `Context7`.

Das Bild links zeigt Context7 MCP, der hinzugefügt und im Dialog des Tool-Profile-Blocks konfiguriert wurde:
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fu4GbfrjuQyiU7cN15fDY%2FScreenshot%202026-03-13%20at%2010.50.01.png?alt=media&#x26;token=889a9425-bb40-4e41-9dab-5408b03bd3ca" alt="" width="375"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

#### Validatoren

{% columns %}
{% column %}
Der Validierer-Block richtet sich hauptsächlich an LLM-Code-Blöcke, indem er generierte Code-Ausgaben durch Linter- und Syntaxvalidierung laufen lässt. Dies hilft Ihnen, schlechte oder ungültige Code-Zeilen aus dem endgültigen Datensatz herauszuhalten, indem sie herausgefiltert werden. Die integrierten Optionen decken die Validierung für Python, SQL und JavaScript/TypeScript ab.
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FobyvYzcfyJkloHfHMyVC%2FScreenshot%202026-03-13%20at%2011-39-08%20Unsloth%20Studio.png?alt=media&#x26;token=19c8dbfa-c876-4f6e-9e62-5b8df515dc7b" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

### Validieren, Vorschau und Ausführen

Sobald der Recipe-Workflow feststeht, ist der nächste Schritt die Ausführung. Das empfohlene Muster ist: zuerst validieren, dann zur schnellen Rückmeldung eine Vorschau anzeigen und die generierten Daten in der Ausführungsansicht prüfen, dann den vollständigen Datensatz ausführen, wenn Sie mit der Ausgabe zufrieden sind und sie Ihrem Plan entspricht.

Verwenden Sie die Ausführungssteuerung in dritter Reihenfolge:

{% stepper %}
{% step %}

#### Validieren

Klicken Sie auf **Validieren** um Konfigurationsprobleme zu erkennen.
{% endstep %}

{% step %}

#### Vorschau

Führen Sie eine Vorschau aus, um Beispielzeilen und Analysen zu prüfen
{% endstep %}

{% step %}

#### Verfeinern

Verfeinern Sie Prompts, Referenzen, Seed-Einstellungen oder Validatoren.

Iterieren Sie, bis Sie mit den generierten Daten zufrieden sind
{% endstep %}

{% step %}

#### Führen Sie den vollständigen Datensatzaufbau aus

{% endstep %}
{% endstepper %}

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FFCcEaVt8xsaNsMFi2MoZ%2Funsloth%20chef.png?alt=media&#x26;token=0266aa36-4ba7-4364-be59-5fe57936ef7f" alt="" width="188"><figcaption></figcaption></figure>
