# Unsloth Studio を始める

Unsloth Studio は、コードを一切書かずに LLM をファインチューニングできる、ローカルのブラウザベース GUI です。モデルの読み込み、データセットの整形、ハイパーパラメータの設定、ライブ学習の監視を処理する、すっきりしたインターフェースで学習パイプラインを包み込みます。

<a href="#studio-quickstart" class="button secondary" data-icon="bolt">Studio</a><a href="#data-recipes-quickstart" class="button secondary" data-icon="hat-chef">データレシピ</a><a href="#export-quickstart" class="button secondary" data-icon="box-isometric">エクスポート</a><a href="#chat-quickstart" class="button secondary" data-icon="comment-dots">チャット</a><a href="#video-tutorial" class="button secondary" data-icon="video">動画</a>

#### Unsloth Studio をセットアップ

まず、ローカルインストールまたはクラウドオプションのいずれかを使って Unsloth Studio を起動します。 [インストール手順](https://unsloth.ai/docs/jp/xin-zhe/studio/install) をセットアップに合わせて確認するか、当社の [無料 Colab](https://unsloth.ai/docs/jp/xin-zhe/studio/..#google-colab-notebook) ノートブックを使用してください。ローカルセットアップでは、次を実行します:

```bash
unsloth studio -H 0.0.0.0 -p 8888
```

次に `http://localhost:8888` をブラウザで開きます。

{% columns %}
{% column %}
初回起動時には、アカウントを保護し、後で再度サインインできるようにするためのパスワードを作成する必要があります。

その後、モデル、データセット、基本設定を選ぶための簡単なオンボーディングウィザードが表示されます。いつでもスキップして、すべてを手動で設定できます。
{% 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%2FZPtRrwafzmVX54HhyyBD%2FScreenshot%202026-03-16%20at%2011.25.22%E2%80%AFPM.png?alt=media&#x26;token=9153c153-ec61-4fff-b1b9-db7f70ac2936" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

## <i class="fa-bolt">:bolt:</i> Studio - クイックスタート

Unsloth Studio のホームページには、4 つの主な領域があります: [モデル](#id-1.-select-model-and-method), [データセット](#id-2.-dataset), [パラメータ](#id-3.-hyperparameters)、および [学習/設定](#id-4.-training-and-config)

* **モデルとデータの簡単セットアップ** Hugging Face またはローカルファイルから
* **柔軟な学習オプション** QLoRA、LoRA、またはフルファインチューニングなど。デフォルト値もあらかじめ入力されています
* **便利な設定ツール** 分割、列マッピング、ハイパーパラメータ、YAML 設定用
* **優れた学習の可視性** ライブ進捗、GPU 統計、チャート、起動状況付き

<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%2FxV1PO5DbF3ksB51nE2Tw%2Fmore%20cropped%20ui%20for%20homepage.png?alt=media&#x26;token=f75942c9-3d8d-4b59-8ba2-1a4a38de1b86" alt="" width="563"><figcaption></figcaption></figure></div>

### 1. モデルと手法を選択

#### **モデルタイプ**

ユースケースに合うモダリティを選択してください:

| タイプ      | ユースケース         |
| -------- | -------------- |
| **テキスト** | チャット、指示追従、補完   |
| **ビジョン** | 画像 + テキスト（VLM） |
| **音声**   | 音声 / オーディオ理解   |
| **埋め込み** | 文埋め込み、検索       |

#### **学習手法**

3 つの手法が利用可能で、ピル型セレクターで切り替えます:

| 手法               | 説明                          | VRAM |
| ---------------- | --------------------------- | ---- |
| **QLoRA**        | 4 ビット量子化ベースモデル + LoRA アダプター | 最小   |
| **LoRA**         | フル精度ベースモデル + LoRA アダプター     | 中    |
| **フルファインチューニング** | すべての重みを学習                   | 最大   |

任意の Hugging Face モデル名を入力するか、コンボボックスから Hub を直接検索してください。 `~/.unsloth/studio/models` に保存されたローカルモデルと、Hugging Face キャッシュも一覧に表示されます。

{% hint style="warning" %}
GGUF 形式のモデルは学習対象から除外されます - 推論専用です。
{% endhint %}

モデルを選択すると、Studio は自動的にバックエンドからその設定を取得し、すべてのハイパーパラメータに対して妥当なデフォルト値を事前入力します。

**HuggingFace トークン**

モデルが gated の場合（例: Llama、Gemma）は、ここに Hugging Face アクセストークンを貼り付けてください。トークンはリアルタイムで検証され、無効な場合はその場でエラーが表示されます。

### 2. データセット

{% columns %}
{% column %}
データの取得元を選ぶために、2 つのタブを切り替えます:

* **HuggingFace Hub** - Hub に対するライブ検索。各結果には最終更新日が表示されます。
* **ローカル** - ドラッグ＆ドロップするかクリックして、次のような非構造化または構造化ファイルをアップロードします: `PDF`, `DOCX`, `JSONL`, `JSON`, `CSV`、または `Parquet` 形式。以前にアップロードしたデータセットは、自動更新される一覧に表示されます。

詳細な [データセットガイドはこちら](https://unsloth.ai/docs/jp/meru/fine-tuning-llms-guide/datasets-guide).

Studio に、データをどのように解釈して整形するかを指示します:
{% 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%2FCtWUm7GdHnKbe14fUQyT%2Fupdated_dataset.webp?alt=media&#x26;token=3fcefe8d-b6a4-44c2-be9b-6dc282166095" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

| 形式         | 使用する場面                               |
| ---------- | ------------------------------------ |
| `auto`     | Unsloth に形式を自動判定させる                  |
| `alpaca`   | `instruction` / `input` / `output` 列 |
| `chatml`   | OpenAI スタイル `messages` 配列            |
| `sharegpt` | ShareGPT スタイルの会話                     |

**分割とスライシング**

* **サブセット** - データセットカードから自動入力されます。
* **Train split / Eval split** - 使用する split を選択します。eval split を設定すると、 **Eval Loss** チャートが学習中に有効になります。
* **データセットスライス** - クイック実験のために、学習を行範囲（開始インデックス / 終了インデックス）に任意で制限します。

**列マッピング**

Studio がデータセット列を正しい役割に自動マッピングできない場合、 **データセットプレビューダイアログ** が開きます。サンプル行を表示し、各列を `instruction`, `input`, `output`, `image`などに割り当てることができます。可能な場合は推奨マッピングが事前入力されます。

### 3. ハイパーパラメータ

パラメータは折りたたみ可能なセクションにグループ化されています。詳細な [LoRA ハイパーパラメータガイド](https://unsloth.ai/docs/jp/meru/fine-tuning-llms-guide/lora-hyperparameters-guide) はこちら:

{% content-ref url="../../meru/fine-tuning-llms-guide/lora-hyperparameters-guide" %}
[lora-hyperparameters-guide](https://unsloth.ai/docs/jp/meru/fine-tuning-llms-guide/lora-hyperparameters-guide)
{% endcontent-ref %}

| パラメータ       | デフォルト  | 注記                              |
| ----------- | ------ | ------------------------------- |
| **最大ステップ数** | `0`    | `0` は、代わりに Epochs を使用することを意味します |
| **コンテキスト長** | `2048` | オプション: 512 → 32768              |
| **学習率**     | `2e-4` |                                 |

**LoRA 設定**

*（フルファインチューニングが選択されている場合は非表示）*

| パラメータ          | デフォルト  | 注記                                                                          |
| -------------- | ------ | --------------------------------------------------------------------------- |
| **ランク**        | `16`   | スライダー 4–128                                                                 |
| **Alpha**      | `32`   | スライダー 4–256                                                                 |
| **ドロップアウト**    | `0.05` |                                                                             |
| **LoRA バリアント** | `LoRA` | `LoRA` / `RS-LoRA` / `LoftQ`                                                |
| **対象モジュール**    | すべてオン  | `q_proj`, `k_proj`, `v_proj`, `o_proj`, `gate_proj`, `up_proj`, `down_proj` |

対象が **ビジョン** 画像データセットを持つモデルの場合、追加で 4 つのチェックボックスが表示されます。ファインチューニング対象:

| Vision Layers | Language Layers | Attention Modules | MLP Modules |
| ------------- | --------------- | ----------------- | ----------- |

**学習ハイパーパラメータ**

3 つのタブに整理されています:

{% tabs %}
{% tab title="最適化" %}

| パラメータ   | デフォルト       |
| ------- | ----------- |
| Epochs  | 3           |
| バッチサイズ  | 4           |
| 勾配累積    | 8           |
| 重み減衰    | 0.01        |
| オプティマイザ | AdamW 8-bit |

{% endtab %}

{% tab title="スケジュール" %}

| パラメータ        | デフォルト   |
| ------------ | ------- |
| LR スケジューラ    | linear  |
| ウォームアップステップ  | 5       |
| 勾配チェックポイント   | unsloth |
| 乱数シード        | 3407    |
| 保存ステップ       | 0       |
| 評価ステップ       | 0       |
| Packing      | false   |
| 補完に対して学習     | false   |
| {% endtab %} |         |

{% tab title="ロギング" %}

| パラメータ              | デフォルト          |
| ------------------ | -------------- |
| W\&B を有効化          | false          |
| W\&B プロジェクト        | llm-finetuning |
| TensorBoard を有効化   | false          |
| TensorBoard ディレクトリ | runs           |
| ログ頻度               | 10             |
| {% endtab %}       |                |
| {% endtabs %}      |                |

{% hint style="info" %}
[**Unsloth Gradient Checkpointing**](https://unsloth.ai/docs/jp/burogu/500k-context-length-fine-tuning#unsloth-gradient-checkpointing-enhancements)**: `unsloth`** は、標準の PyTorch オプションと比べて VRAM 使用量を大幅に削減できる、Unsloth 独自のメモリ効率の高い実装を使用します。推奨されるデフォルトです。
{% endhint %}

### 4. 学習と設定

右下のカードには、3 つの設定管理ボタンと **学習開始** ボタンがあります。

| ボタン        | 操作                          |
| ---------- | --------------------------- |
| **アップロード** | 以前に保存した `.yaml` 設定ファイルを読み込む |
| **保存**     | 現在の設定を YAML にエクスポートする       |
| **リセット**   | すべてのパラメータをモデルのデフォルトに戻す      |

Start Training ボタンは、モデルとデータセットの両方が設定されるまで無効のままです。検証エラーはその場で表示されます - たとえば、eval split を選択せずに eval steps を設定した場合や、テキスト専用モデルに vision データセットを組み合わせた場合などです。

#### 読み込み画面

{% 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%2FYtsUxHI0szGw8ZPxCHep%2Fimage.png?alt=media&#x26;token=1701f4af-ef35-48da-80e7-4aba4e80f4d4" alt="" width="375"><figcaption></figcaption></figure></div>
{% endcolumn %}

{% column %}
オーバーレイには、フェーズのライブ更新付きアニメーションターミナルが表示されます:

* 青: モデル / データセットをダウンロード中
* アンバー: モデル / データセットを読み込み中
* 青: 設定中
* 緑: 学習中

いつでも、隅にある **×** ボタンを使ってキャンセルできます。停止前には確認ダイアログが表示されます。
{% endcolumn %}
{% endcolumns %}

### 学習進捗と可観測性

最初の学習ステップが到達すると、オーバーレイは閉じられ、ライブ学習ビューが表示されます。進捗バーでステップが 100% に達すると、ファインチューニング処理は完了です。経過時間とトークン数を確認できます。&#x20;

<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%2Fah3G1rYgRaDNY8Ay6Uw7%2Fimage.png?alt=media&#x26;token=0528c15e-7a4b-4028-8070-95dc0871da5d" alt="" width="563"><figcaption></figcaption></figure></div>

{% columns %}
{% column %}

#### ステータスパネル

左列には次が表示されます:

* **Epoch** - 現在の小数付きエポック（例: `Epoch 1.23`)
* **進捗バー** - ステップベース、割合付き
* **主要メトリクス**:
  * **損失** - 小数点以下 4 桁の学習損失
  * **LR** - 科学表記法での現在の学習率
  * **Grad Norm** - 勾配ノルム
  * **モデル** - 学習中のモデル
  * **手法** - `QLoRA` / `LoRA` / `フル`
* **時間行** - 経過時間、ETA、1 秒あたりのステップ数、処理済み総トークン数
  {% endcolumn %}

{% column %}

#### GPU モニター

右列には、数秒ごとにポーリングされるライブ GPU 統計が表示されます:

* **使用率** - パーセンテージバー
* **温度** - °C バー
* **VRAM** - 使用済み / 合計 GB
* **電力** - 消費 / 上限（ワット）

#### 学習の停止

次を使用します **学習停止** 進捗カード右上のボタン。ダイアログで 2 つの選択肢が表示されます:

* **停止して保存** - 停止前にチェックポイントを保存します
* **キャンセル** - チェックポイントなしで直ちに停止します
  {% endcolumn %}
  {% endcolumns %}

{% columns %}
{% column %}

#### チャート

学習の進行に応じて 4 つのライブチャートが更新されます:

1. **学習損失** - 生の値に加え、EMA 平滑化ラインと移動平均参照ライン
2. **学習率** - LR スケジュール曲線
3. **勾配ノルム** - ステップごとの勾配ノルム
4. **Eval Loss** - eval split を設定した場合にのみ表示されます
   {% 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%2FRgXfe3sobdQWxha8yslr%2Fimage.png?alt=media&#x26;token=b3aa9004-778b-4e3d-85b1-40a205ad0602" alt="" width="278"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
各チャートには設定（歯車アイコン）があり、次を含みます:

| オプション           | デフォルト              |
| --------------- | ------------------ |
| 表示ウィンドウ         | 直近 N ステップ スライダー    |
| EMA 平滑化         | `0.6`              |
| 生データを表示         | オン                 |
| 平滑化を表示          | オン                 |
| 平均ラインを表示        | オン                 |
| スケール（系列ごと）      | 線形 / 対数            |
| 外れ値クリッピング       | クリップなし / p99 / p95 |
| {% 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%2FFJtjQpAgOFaieyQCYhkq%2Fimage.png?alt=media&#x26;token=4da9cdc2-c088-4ab8-8d0d-40d8d392ee03" alt="" width="276"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

#### 設定ファイル

{% columns %}
{% column %}
すべての学習設定は YAML ファイルとして保存・再読み込みできます。ファイル名は自動的に次の形式になります:

```
{model}_{method}_{dataset}_{timestamp}.yaml
```

{% 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%2FuGAKdGkANbh2wIENA9X7%2Fimage.png?alt=media&#x26;token=9553db5b-5c88-4556-be49-fe61035edf11" alt="" width="178"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

YAML は 3 つのセクションに構成されています:

{% code expandable="true" %}

```yaml
training:
  max_steps: 0
  num_train_epochs: 3
  per_device_train_batch_size: 4
  ...

lora:
  r: 16
  lora_alpha: 32
  ...

logging:
  report_to: none
  ...
```

{% endcode %}

これにより、実行の再現、設定の共有、または実験のバージョン管理が容易になります。

## <i class="fa-hat-chef">:hat-chef:</i> データレシピ - クイックスタート

[Unsloth Data Recipes](https://unsloth.ai/docs/jp/xin-zhe/studio/data-recipe) では、PDF や CSV ファイルなどのドキュメントをアップロードし、使用可能なデータセットに変換できます。グラフノードワークフローを通じて、視覚的にデータセットを作成・編集できます。

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

<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="" width="563"><figcaption></figcaption></figure></div>

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

を搭載しています。一目で分かる通常のワークフローは次のようになります:

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

## <i class="fa-box-isometric">:box-isometric:</i> エクスポート - クイックスタート

Unsloth Studio の「Export」を使うと、デプロイ、共有、または Unsloth、llama.cpp、Ollama、vLLM などでのローカル推論のために、モデルを GGUF、Safetensors、または LoRA にエクスポート、保存、変換できます。学習済みチェックポイントをエクスポートすることも、既存モデルを変換することもできます。

<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%2FrrFY8YczW3dDpfYi1k9f%2FScreenshot%202026-03-15%20at%209.28.19%E2%80%AFPM.png?alt=media&#x26;token=d2729e16-799f-48f0-8b07-0248b93fa599" alt="" width="563"><figcaption></figcaption></figure></div>

Unsloth Studio でのモデルのエクスポートに関する詳細なチュートリアル / ガイドはこちらでご覧いただけます:

{% content-ref url="export" %}
[export](https://unsloth.ai/docs/jp/xin-zhe/studio/export)
{% endcontent-ref %}

## <i class="fa-comment-dots">:comment-dots:</i> チャット - クイックスタート

[Unsloth Studio Chat](https://unsloth.ai/docs/jp/xin-zhe/studio/chat) では、コンピューター上で 100% オフラインでモデルを実行できます。Hugging Face またはローカルファイルから、GGUF や safetensors などのモデル形式を実行できます。

* **ダウンロード + 実行** GGUF、ファインチューニング済みアダプター、safetensors などの任意のモデル
* [**比較** 異なるモデルの](#model-arena) 出力を並べて表示
* **アップロード** プロンプト内で文書、画像、音声を使用
* [**調整** 推論](#generation-settings) 温度、top-p、top-k、システムプロンプトなどの設定

<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%2FRCnTAZ6Uh88DIlU3g0Ij%2Fmainpage%20unsloth.png?alt=media&#x26;token=837c96b6-bd09-4e81-bc76-fa50421e9bfb" alt="" width="563"><figcaption></figcaption></figure></div>

Unsloth Studio でのモデル実行に関する詳細なチュートリアル / ガイドはこちらでご覧いただけます:

{% content-ref url="chat" %}
[chat](https://unsloth.ai/docs/jp/xin-zhe/studio/chat)
{% endcontent-ref %}

## <i class="fa-video">:video:</i> 動画チュートリアル

{% hint style="warning" %}
動画に表示されている Unsloth Studio のバージョンは古く、現在のバージョンを反映していません。
{% endhint %}

{% columns fullWidth="true" %}
{% column %}
{% embed url="<https://www.youtube.com/watch?v=mmbkP8NARH4>" %}

Studio を始めるために NVIDIA が作成した動画チュートリアルはこちらです:
{% endcolumn %}

{% column %}
{% embed url="<https://youtu.be/1lEDuRJWHh4?si=GHaS77ZZPOGjn3GJ>" %}

Unsloth Studio のインストール動画チュートリアル
{% endcolumn %}
{% endcolumns %}

## 高度な設定

### CLI コマンド

Unsloth CLI（`cli.py`）は、次のコマンドを提供します:

```
使用方法: cli.py [COMMAND]

コマンド:
  train             モデルをファインチューニング
  inference         学習済みモデルで推論を実行
  export            学習済みアダプターをエクスポート
  list-checkpoints  保存済みチェックポイントを一覧表示
  ui                Unsloth Studio の Web UI を起動
  studio            Studio を起動（エイリアス）
```

### プロジェクト構成

{% code expandable="true" %}

```
new-ui-prototype/
├── cli.py                     # CLI エントリポイント
├── cli/                       # Typer CLI コマンド
│   └── commands/
│       ├── train.py
│       ├── inference.py
│       ├── export.py
│       ├── ui.py
│       └── studio.py
├── setup.sh                   # ブートストラップスクリプト（Linux / WSL / Colab）
├── setup.ps1                  # ブートストラップスクリプト（Windows ネイティブ）
├── setup.bat                  # ダブルクリックで setup.ps1 を起動するラッパー
├── install_python_stack.py    # クロスプラットフォーム Python 依存関係インストーラー
└── studio/
    ├── backend/
    │   ├── main.py            # FastAPI アプリとミドルウェア
    │   ├── run.py             # サーバーランチャー（uvicorn）
    │   ├── auth/              # 認証ストレージと JWT ロジック
    │   ├── routes/            # API ルートハンドラー
    │   │   ├── training.py
    │   │   ├── models.py
    │   │   ├── inference.py
    │   │   ├── datasets.py
    │   │   └── auth.py
    │   ├── models/            # Pydantic のリクエスト/レスポンススキーマ
    │   ├── core/              # 学習エンジンと設定
    │   ├── utils/             # ハードウェア検出、ヘルパー
    │   └── requirements.txt
    ├── frontend/
    │   ├── src/
    │   │   ├── features/      # 機能モジュール
    │   │   │   ├── auth/      # ログイン / サインアップフロー
    │   │   │   ├── training/  # 学習設定と監視
    │   │   │   ├── studio/    # メイン Studio ワークスペース
    │   │   │   ├── chat/      # 推論チャット UI
    │   │   │   ├── export/    # モデルエクスポートフロー
    │   │   │   └── onboarding/# オンボーディングウィザード
    │   │   ├── components/    # 共有 UI コンポーネント（shadcn）
    │   │   ├── hooks/         # カスタム React フック
    │   │   ├── stores/        # Zustand 状態ストア
    │   │   └── types/         # TypeScript 型定義
    │   ├── package.json
    │   └── vite.config.ts
    └── tests/                 # バックエンドテストスイート
```

{% endcode %}

### API リファレンス

すべてのエンドポイントには有効な JWT が必要です `Authorization: Bearer <token>` ヘッダー（ただし `/api/auth/*` および `/api/health`).

| 手法     | エンドポイント               | 説明                           |
| ------ | --------------------- | ---------------------------- |
| `GET`  | `/api/health`         | ヘルスチェック                      |
| `GET`  | `/api/system`         | システム情報（GPU、CPU、メモリ）          |
| `POST` | `/api/auth/signup`    | アカウント作成（初回実行時はセットアップトークンが必要） |
| `POST` | `/api/auth/login`     | ログインして JWT トークンを受け取る         |
| `POST` | `/api/auth/refresh`   | 期限切れのアクセストークンを更新する           |
| `GET`  | `/api/auth/status`    | 認証が初期化されているか確認する             |
| `POST` | `/api/train/start`    | 学習ジョブを開始する                   |
| `POST` | `/api/train/stop`     | 実行中の学習ジョブを停止する               |
| `POST` | `/api/train/reset`    | 学習状態をリセット                    |
| `GET`  | `/api/train/status`   | 現在の学習ステータスを取得                |
| `GET`  | `/api/train/metrics`  | 学習メトリクス（損失、学習率、ステップ）を取得      |
| `GET`  | `/api/train/stream`   | リアルタイムの学習進捗のSSEストリーム         |
| `GET`  | `/api/models/`        | 利用可能なモデルを一覧表示                |
| `POST` | `/api/inference/chat` | 推論用のチャットメッセージを送信             |
| `GET`  | `/api/datasets/`      | データセットの一覧表示 / 管理             |


---

# Agent Instructions: 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:

```
GET https://unsloth.ai/docs/jp/xin-zhe/studio/start.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
