> ## Documentation Index
> Fetch the complete documentation index at: https://arkor-92aeef0e-eng-615.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 つ: `gemma-4-E4B-it`（[サポートしているモデル](/ja/models) を参照）。
* **アダプター。** 完了済みジョブの **最終** アダプター（`{ kind: "final", jobId }`）とチャット。中間チェックポイントはここから選べません。

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

## メッセージの送信

チャット UI はあえて最小限です。`{ 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` を呼ぶ）。
* **会話のエクスポート／共有。** ページをリロードすると履歴は消えます。残したいなら手動でコピーしてください。
* **認証情報を意識したリストフィルター。** アダプターのドロップダウンは現在の認証情報で `/api/jobs` が返すものをそのまま表示します。著者など他次元でフィルターしません。

## Playground を使う場面

* 固定プロンプトでベース vs アダプターの素早い前後比較。
* アプリケーションに組み込む前に、ファインチューンが意味のある効果を発揮したかの最初の動作確認。
* 同じ環境でチームメンバーに完成した学習をデモする。

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