# Unslothデータレシピ

Unsloth Studio の Data Recipes では、PDF や CSV ファイルのような文書をアップロードし、それらを使える／合成データセットへ変換できます。グラフノードのワークフローを使って、データセットを視覚的に作成・編集します。このガイドでは、Unsloth Data Recipes に入る前に基本を学べるようにします。

<div data-with-frame="true"><figure><img src="https://735611837-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>

### Data Recipes の仕組み

Data Recipes は同じ基本的な流れに従います。レシピページを開き、レシピを作成または選択し、エディタでワークフローを構築し、検証してプレビューを実行し、出力が適切であればフルデータセットを実行します。シードデータと生成ブロックを追加し、ワークフローを検証し、サンプル出力をプレビューしてから、フルデータセットのビルドを実行します。Unsloth Data Recipes は **NVIDIA Nemo** [**Data Designer**](https://github.com/NVIDIA-NeMo/DataDesigner).

<div data-with-frame="true"><figure><img src="https://735611837-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>データセットの生成とモデルのファインチューニングの例</p></figcaption></figure></div>

全体を見ると、通常のワークフローは次のようになります:

1. レシピページを開きます。
2. 新しいレシピを作成するか、既存のものを開きます。
3. ブロックを追加して、データセットのワークフローを定義します。
4. をクリックします **検証** して、設定の問題を早期に見つけます。
5. プレビューを実行して、サンプル行をすばやく確認します。
6. レシピの準備ができたら、フルデータセットのビルドを実行します。
7. 進捗と出力をグラフ上、または **実行** ビューでリアルタイムに確認し、詳細を見ます。
8. 結果のデータセットを **Studio** で選択し、モデルをファインチューニングします。

### 始める

レシピページが主な入口です。レシピはブラウザ内にローカル保存されるため、保存した作業に後で戻れます。ここから、空のレシピを作成するか、ガイド付きの学習用レシピを開けます。

{% hint style="info" %}
レシピはエクスポートとインポートができるので、他の Unsloth ユーザーとワークフローを簡単に共有できます :tada:。特定のデータセットパターンを作りたい場合は、Unsloth Discord で質問してください。すでに共有できるレシピを持っている人がいるかもしれません。
{% endhint %}

<div data-with-frame="true"><figure><img src="https://735611837-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>レシピのランディングページ</p></figcaption></figure></div>

ワークフローの概念に慣れていないなら、学習用レシピが、シードデータ、プロンプト、式、バリデーターが 1 つの動く例でどう組み合わさるかを最速で理解できます。すでに欲しいデータセットの形が分かっているなら、最初から空で始める方が通常は早いです。

#### 開始方法を選ぶ

<table><thead><tr><th>もし次のことをしたいなら:</th><th>開始は:</th><th data-hidden></th></tr></thead><tbody><tr><td><sub><strong>カスタムワークフローをすばやく構築する</strong></sub></td><td><sub><strong>空から開始</strong></sub></td><td></td></tr><tr><td><sub><strong>例を通して製品を学ぶ</strong></sub></td><td><sub><strong>学習用レシピから開始</strong></sub></td><td></td></tr><tr><td><sub><strong>前回の作業を続ける</strong></sub></td><td><sub><strong>保存済みレシピを開く</strong></sub></td><td></td></tr></tbody></table>

### エディタで作るもの

エディタはレシピが形になる場所です。ブロックシートからブロックを追加し、ダイアログで設定し、キャンバス上で接続してから、ワークフローを検証または実行します。

<div data-with-frame="true"><figure><img src="https://735611837-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>商品説明ワークフローを構築する例</p></figcaption></figure></div>

{% columns %}
{% column %}
エディタにはいくつかの主要部分があります:

* レシピヘッダー。ここでレシピ名を変更し、 **エディタ** と **実行**
* キャンバス。レシピのグラフが表示されます
* ブロックシート。新しいブロックを追加します
* 設定ダイアログ。プロンプト、参照、モデルエイリアス、バリデーター、シード設定を定義します。
* フローティング **実行** と **検証** コントロール
* ここにさらに追加する必要があります

{% endcolumn %}

{% column %}
レシピで最も一般的なブロックは次のとおりです:

* **シード** Hugging Face の入力データ、ローカルの構造化ファイル、または行に分割される非構造化文書用。
* **LLM + モデル** プロバイダー、モデル設定、LLM 生成ブロック、共有ツールプロファイル用。
* **式** LLM 呼び出しを必要としない、Jinja2 ベースの変換用。
* **バリデーター** Python、SQL、JavaScript/TypeScript 用の組み込みリンターで、生成された不正なコードをフィルタリングするため。
* **サンプラー** カテゴリやサブカテゴリのような決定的な列用。
  {% endcolumn %}
  {% endcolumns %}

### 参照の仕組み

データを生成するほとんどのブロックは（いくつかの例外を除き）後続ブロックの参照になります。これが Data Recipes の中心的な考え方の 1 つです。値を一度作成し、それをプロンプト、式、構造化出力、検証ステップで再利用します。

{% hint style="info" %}
Jinja の式を使うと、すでにレシピ内に存在する値を扱えます。のようなネストしたフィールドを参照できます `{{customer.first_name}}` 、のように値を結合できます `{{customer.first_name}} {{customer.last_name}}` さらに、次のようなパターンで条件分岐ロジックを追加できます `{% if condition %}...{% endif %}`&#x20;
{% endhint %}

<div data-with-frame="true"><figure><img src="https://735611837-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>エディタに表示された参照の例</p></figcaption></figure></div>

たとえば:

* というカテゴリブロック `domain` は次のように参照できます `{{ domain }}`
* シード列は LLM プロンプトに直接使えます。シードデータ内の列（例: HF データセット列、csv）
* 構造化された LLM 出力は、後続のプロンプト用のフィールドを公開できます
* 式ブロックは、別のモデル呼び出しなしで前段の値を組み合わせられます

### その後は？

プレビュー実行は、素早く反復するためのものです。サンプル行と分析結果をエディタに返すので、完全な実行に進む前に生成データを確認できます。

フル実行は、永続化されたローカルデータセットの成果物を作成します。その出力は後で Studio のローカルデータセットピッカーに表示され、再確認やファインチューニングに使えます。必要に応じて、データセットを Hugging Face リポジトリに公開することもできます。

### 基本構成要素

{% columns %}
{% column %}

<div data-with-frame="true"><figure><img src="https://735611837-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>基本構成要素</p></figcaption></figure></div>
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://735611837-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>モデルと LLM ブロック</p></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

#### モデル設定は 2 つの使いやすい層に分かれています:

* **モデルプロバイダー** エンドポイントと認証を定義します
* **モデル設定** モデル名と推論設定を定義します

この構成は、ホスト型プロバイダー、セルフホストのエンドポイント、 `vLLM` , `llama.cpp` 、または Studio の外で実行する OpenAI 互換 API ならどれでも使えます。

{% hint style="info" %}
レシピは 1 つのモデルに限定されません。複数の **モデルプロバイダー** と **モデル設定** ブロックを追加し、コーディング用と一般テキスト用のように、異なるステップで異なるモデルを使えます。
{% endhint %}

モデル設定の後は、4 種類の LLM ブロックを使えます:

| ブロック     | 出力       | 最適用途                               |
| -------- | -------- | ---------------------------------- |
| LLM テキスト | 自由形式テキスト | 指示、説明、会話、記述                        |
| LLM 構造化  | JSON     | 固定フィールドと予測可能な構造が必要な出力              |
| LLM コード  | コード      | Python、SQL、TypeScript、その他のコード生成タスク |
| LLM ジャッジ | スコア付き評価  | 1 つ以上のユーザー定義スコアで出力を採点する            |

#### ツールプロファイル

{% columns %}
{% column %}
ツールプロファイルブロックは、1 つ以上の LLM ブロック向けに共有される MCP ベースのツールアクセスを定義します。たとえば、 `Context7`.

左の画像は、Tool Profile ブロックのダイアログで Context7 MCP が追加・設定されている様子を示しています:
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://735611837-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 %}

#### バリデーター

{% columns %}
{% column %}
バリデーターブロックは、生成されたコード出力をリンターと構文検証に通すことで、主に LLM コードブロックを対象にします。これにより、無効または不正なコード行を最終データセットから除外できるため、品質を保てます。組み込みオプションは Python、SQL、JavaScript/TypeScript の検証をカバーします。
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://735611837-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 %}

### 検証、プレビュー、実行

レシピのワークフローが整ったら、次は実行です。推奨パターンは、まず検証し、次に素早いフィードバックのためにプレビューし、実行ビューで生成データを確認し、その後、出力が計画に合っていると感じたらフルデータセットを実行することです。

実行コントロールは次の順序で使います:

{% stepper %}
{% step %}

#### 検証

をクリックします **検証** 設定の問題を見つけるために。
{% endstep %}

{% step %}

#### プレビュー

サンプル行と分析を確認するためにプレビューを実行します
{% endstep %}

{% step %}

#### 改善

プロンプト、参照、シード設定、またはバリデーターを改善します。

生成されたデータに満足できるまで反復します
{% endstep %}

{% step %}

#### フルデータセットのビルドを実行します

{% endstep %}
{% endstepper %}

<figure><img src="https://735611837-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>
