> ## Documentation Index
> Fetch the complete documentation index at: https://arkor-92aeef0e-eng-353.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Playground

> ベースモデルや完了ジョブの最終アダプタとチャットする。

# Playground

Playground（`#/playground`）はモデルを動作確認するための小さなチャット UI です。ラジオボタンで切り替える 2 モード:

* **ベースモデル。** クラウド API が `/v1/inference/chat` で受け付けるベースモデルとチャット。今日サポートされる値は 1 つ: `unsloth/gemma-4-e4b-it`。
* **アダプタ。** 完了ジョブの **最終** アダプタ（`{ kind: "final", jobId }`）とチャット。中間チェックポイントはここから選べません。

Playground はマウント時に `/api/jobs` を 1 度 fetch し、レスポンスを `status === "completed"` でフィルタします。Adapter ドロップダウンはバックエンドが返した順でそれらのジョブを並べます。自動リフレッシュはなく、モードを切り替えても再 fetch されません。新しい学習が終わったらドロップダウンに反映するため、ページをリロードする（あるいは `#/playground` から離れて戻り、再マウントする）必要があります。

## メッセージの送信

チャット面はあえて最小限です: `{ role, content }` メッセージのリスト、入力欄、Send ボタン。会話履歴はページローカルで、リロードでクリアされます。

送信すると Studio は `POST /api/inference/chat` を次のように呼びます:

```ts theme={null}
{
  messages: [...history, { role: "user", content: input }],
  stream: true,
  ...(mode === "base"
    ? { baseModel }
    : { adapter: { kind: "final", jobId } }),
}
```

レスポンスはトークンデルタの SSE ストリームです。Studio は各フレームをパースしてアシスタントメッセージにその場で追記するので、生成中にバブルが埋まっていきます。Send ボタンはストリーム進行中は無効です。

## このページがしないこと

* **中間チェックポイント。** ドロップダウンは完了ジョブのみリストし `kind: "final"` だけ送ります。学習中に推論したいなら SDK の [`onCheckpoint({ infer })`](/ja/sdk/callbacks) を使ってください。与えられる `infer` は今しがた到達したチェックポイントに紐づいています。
* **`temperature` / `topP` / `maxTokens`。** HTTP の形（[`InferArgs`](/ja/sdk/infer)）はこれらを受け付けますが、Playground は入力欄を提供しません。Studio は `messages` とモード固有のフィールドだけを送ります。これらのノブを試したい場合は SDK の `infer` を直接呼んでください。
* **System プロンプト。** 入力欄は `user` ロールのみ追加します。`system` 用のフィールドはありません。System プロンプトを試すなら `src/arkor/trainer.ts` を編集する（あるいはプログラムから `infer` を呼ぶ）。
* **会話のエクスポート／共有。** ページをリロードすると履歴は消えます。残したいなら手動でコピーしてください。
* **認証情報を意識したリストフィルタ。** Adapter ドロップダウンは現在の認証情報で `/api/jobs` が返すものをそのまま表示します。著者など他次元でフィルタしません。

## Playground を使う場面

* 固定プロンプトでベース vs アダプタの素早い前後比較。
* アプリケーションに組み込む前に、ファインチューンが何か役立つことをしたかの最初の動作確認。
* 同じマシーンで同僚に完成した学習をデモする。

これより構造的なもの（回帰スイート、複数アダプタ間のペア比較、本番 A/B）には Playground ではなく SDK と自前の評価コードに頼ってください。
