> 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/jp/xin-zhe/studio/start.md).

# Unsloth Studioを始める

Unsloth Studio は、コードを書かずに LLM をファインチューニングできる、ローカルのブラウザベース GUI です。モデルの読み込み、データセットの整形、ハイパーパラメータ設定、リアルタイムの学習監視を行う、洗練されたインターフェースでトレーニングパイプラインを包み込みます。

<a href="https://unsloth.ai/docs/new/studio/start#unsloth-quickstart" class="button secondary" data-icon="bolt">Unsloth</a><a href="/pages/511d3548745f95b53d7c4df809a4aeb55f219840#data-recipes-quickstart" class="button secondary" data-icon="hat-chef">データレシピ</a><a href="/pages/511d3548745f95b53d7c4df809a4aeb55f219840#export-quickstart" class="button secondary" data-icon="box-isometric">エクスポート</a><a href="/pages/511d3548745f95b53d7c4df809a4aeb55f219840#chat-quickstart" class="button secondary" data-icon="comment-dots">チャット</a>

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

まず、ローカルインストールまたはクラウドオプションのいずれかを使って Unsloth Studio を起動します。 [インストール手順](/docs/jp/xin-zhe/studio/install.md) お使いの環境向けの手順に従うか、または私たちの [無料 Colab](/docs/jp/xin-zhe/studio.md#google-colab-notebook) ノートブックを使用してください。ローカル環境では、次を実行します:

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

{% columns %}
{% column width="50%" %}
お好みのブラウザを開き、次へ移動してください `http://127.0.0.1:8888`。新しいパスワードを作成する必要があります。

**HTTPS と Cloudflare を使って Unsloth を安全に起動します。** Unsloth は、無料の Cloudflare トンネルを介して HTTPS で Unsloth を起動する安全な方法を提供するようになりました。以下を使用してください（Windows、Mac、Linux で動作します）：

```bash
unsloth studio --secure
```

{% endcolumn %}

{% column width="50%" %}

<figure><img src="/files/79cedf6108cf3b33fc2bf54636ff7219055e7c21" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

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

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

* **ダウンロード + 実行** GGUF、ファインチューニング済みアダプター、safetensors など、あらゆるモデルを
* [**比較** 異なるモデル](#model-arena) の出力を並べて表示
* **アップロード** プロンプト内に文書、画像、音声を
* [**調整** 推論](#generation-settings) 設定: temperature、top-p、top-k、system prompt など

<figure><img src="/files/2a447379d050711909bc3d46c63b1becf93d1b34" alt="" width="563"><figcaption></figcaption></figure>

Unsloth Studio でモデルを実行する方法についての詳細なチュートリアル / ガイドはこちらです:

{% content-ref url="/pages/ca5ab7d9f589ffe0771972c3c3b4665342eb3baf" %}
[Studio Chat](/docs/jp/xin-zhe/studio/chat.md)
{% endcontent-ref %}

### モデル読み込みガイド

API を使用する前に、 **読み込むモデルを** で **Unsloth。** を開いてください **モデルを選択** チャットページの左上にあるドロップダウン。

<figure><img src="/files/e29038cb1426e393aee3cb144c904bc7a9438f27" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
別のページにいますか？左サイドバーを使って、 `New Chat` をクリックし、チャットページに戻ります。
{% endhint %}

{% columns %}
{% column width="50%" %}

#### モデルを選択

検索バーを使って、Unsloth に読み込みたいモデルを見つけます。

おすすめモデルを閲覧したり、Hugging Face モデルを直接検索したり、カスタムモデルディレクトリを設定したりできます。

ローカルで学習・エクスポートしたモデルは、\`Fine-tuned\` タブから読み込めます。
{% endcolumn %}

{% column width="50%" %}

<figure><img src="/files/0a5379e254290c2a6816ade800ca656c5c05b1e8" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}

#### GGUF の選択

モデルリポジトリには複数の量子化版があります。利用可能な RAM / VRAM に最も適した量子化を選択してください。\
\
このガイドでは `unsloth/gemma-4-26B-A4B-it-GGUF` を使用し、推奨の `UD-Q4_K_XL` バリアント
{% endcolumn %}

{% column %}

<figure><img src="/files/d04a0206841c05f2c8edaac6f5e15643ef36b204" alt="" width="375"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

#### モデルのダウンロード

{% columns %}
{% column %}
使用したいモデルを検索してから、 **それをクリックして** ダウンロードと読み込みを開始します。

モデルのバリアントを選択すると、Unsloth はモデルのダウンロードを開始し、メモリに読み込みます。

読み込みが完了すると、次の確認が表示されます:
{% endcolumn %}

{% column %}

<figure><img src="/files/07a05ae7b7f92a987aa2ecfd691821a2fca4454f" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/e2de1693e3883bb9a20005ce5450e8d9c7b6014f" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

モデルが読み込まれ、使用可能になりました。これで Unsloth でモデルと直接チャットするか、次のようなツールに接続できます [Claude Code](/docs/jp/ji-ben/claude-code.md) と [Codex](/docs/jp/ji-ben/codex.md).

<figure><img src="/files/2c86177fef09b636c736623bc2c2908ac9873309" alt=""><figcaption></figcaption></figure>

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

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

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

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

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

| 種類       | ユースケース         |
| -------- | -------------- |
| **テキスト** | チャット、指示追従、補完   |
| **視覚**   | 画像 + テキスト（VLM） |
| **音声**   | 音声 / 音声理解      |
| **埋め込み** | 文埋め込み、検索       |

#### **学習方法**

3 つの方法があり、ピル型セレクターで切り替えます:

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

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

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

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

**Hugging Face トークン**

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

### 2. データセット

{% columns %}
{% column %}
2 つのタブを切り替えて、データの取得元を選択します:

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

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

Unsloth にデータの解釈と整形方法を指示します:
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="/files/e37537bf0dfb4f8ae7ca470093ff75de8df66a6b" 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** チャートが学習中に有効になります。
* **データセットスライス** - 必要に応じて、行範囲（開始インデックス / 終了インデックス）に学習を制限して、素早い実験ができます。

**列マッピング**

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

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

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

{% content-ref url="/pages/dac5c97d7a208c227b8115ec72133012ad2d0113" %}
[Hyperparameters Guide](/docs/jp/meru/fine-tuning-llms-guide/lora-hyperparameters-guide.md)
{% endcontent-ref %}

| パラメータ       | デフォルト  | 注記                             |
| ----------- | ------ | ------------------------------ |
| **最大ステップ数** | `0`    | `0` は、代わりに Epoch を使用することを意味します |
| **コンテキスト長** | `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 つの追加チェックボックスが表示されます。ファインチューニングする対象:

| 視覚層 | 言語層 | Attention モジュール | MLP モジュール |
| --- | --- | --------------- | --------- |

**トレーニングハイパーパラメータ**

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

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

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

{% endtab %}

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

| パラメータ        | デフォルト   |
| ------------ | ------- |
| LR スケジューラ    | linear  |
| ウォームアップステップ  | 5       |
| 勾配チェックポイント   | unsloth |
| ランダムシード      | 3407    |
| 保存ステップ       | 0       |
| 評価ステップ       | 0       |
| パッキング        | false   |
| 完成文で学習       | false   |
| {% endtab %} |         |

{% tab title="ログ記録" %}

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

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

### 4. トレーニングと設定

右下のカードには 3 つの設定管理ボタンと **トレーニング開始** ボタンがあります。

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

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

#### 読み込み画面

{% columns %}
{% column %}
をクリックすると **トレーニング開始**、バックエンドがすべてを準備している間、全画面オーバーレイが表示されます。

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

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

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

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

### トレーニング進捗と可観測性

最初のトレーニングステップに到達すると、オーバーレイは閉じ、ライブのトレーニング画面が表示されます。進捗バーが 100% に達すると、ファインチューニング प्रक्रियाは完了です。経過時間とトークンを確認できます。&#x20;

<div data-with-frame="true"><figure><img src="/files/365d55312a52058cd3a5189623ed1d15fb5da521" alt="" width="563"><figcaption></figcaption></figure></div>

{% columns %}
{% column %}

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

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

* **Epoch** - 現在の小数 Epoch（例: `Epoch 1.23`)
* **進捗バー** - ステップベースで、パーセンテージ付き
* **主要メトリクス**:
  * **損失** - 学習損失を小数点以下 4 桁まで
  * **LR** - 現在の学習率を科学表記で
  * **勾配ノルム** - 勾配ノルム
  * **モデル** - 学習中のモデル
  * **手法** - `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="/files/b477cf173cc2f2028f6042e912e1725e1fd24a6a" 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="/files/12f37c07105b36227109f5f130db6d653593662a" 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="/files/f9a04bb425dc69db4380708f7eb09dd7bf7abd98" 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](/docs/jp/xin-zhe/studio/data-recipe.md) は、PDF や CSV ファイルなどの文書をアップロードし、使用可能なデータセットに変換できます。グラフノードのワークフローを通じて、データセットを視覚的に作成・編集します。

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

<div data-with-frame="true"><figure><img src="/files/1e242ab6bcf04c0b9f709e28e6dc6e17fca1b887" 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. 進捗と出力をグラフ上または **実行** ビューで詳細を確認します。
8. 結果のデータセットを **Unsloth** で選択して、モデルをファインチューニングします。

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

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

<div data-with-frame="true"><figure><img src="/files/071df4d7ccfb914388b3b68951f429aef026c82f" alt="" width="563"><figcaption></figcaption></figure></div>

Unsloth Studio でモデルをエクスポートする方法についての詳細なチュートリアル / ガイドはこちらです:

{% content-ref url="/pages/a58a8ab897451539e1493312c6a640b4d5ee40b7" %}
[Model Export](/docs/jp/xin-zhe/studio/export.md)
{% endcontent-ref %}

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

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

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

こちらは、Unsloth を始めるための 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/    # メインのスタジオワークスペース
    │   │   │   ├── 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`  | トレーニング指標を取得（損失、LR、ステップ）       |
| `GET`  | `/api/train/stream`   | リアルタイムのトレーニング進捗をSSEストリームで配信   |
| `GET`  | `/api/models/`        | 利用可能なモデルを一覧表示                 |
| `POST` | `/api/inference/chat` | 推論用のチャットメッセージを送信              |
| `GET`  | `/api/datasets/`      | データセットを一覧表示 / 管理              |


---

# 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/jp/xin-zhe/studio/start.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.
