メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.arkor.ai/llms.txt

Use this file to discover all available pages before exploring further.

Studio は arkor dev 実行時に得られるローカル Web UI です。サインインする別サービスではありません。あなたのマシン上で起動し、同じ Arkor CLI プロセスと話し、dev サーバーを止めれば消えます。

Studio の役割

3 つの仕事:
  1. 学習を開始する。 “Run training” ボタンが内部で arkor start をスポーンし、ジョブをマネージドバックエンドに投入します。arkor start は既存の .arkor/build/index.mjs 成果物を実行し(無いときだけ自動ビルド)、Studio が成果物を新鮮に保つ仕組みは下記の dev ループのメモを参照してください。
  2. 学習を眺める。 ライブステータス付きのジョブ一覧、ストリーム到着とともに更新される loss チャート、学習イベントのテール。タブで開きっぱなしにして他の作業ができます。
  3. 完成モデルを試す。 Playground ページでベースモデルや任意の完了ジョブの最終アダプタを選んでチャットできます。中間チェックポイントは Playground からはロードしません。学習中の推論には onCheckpoint コールバックをトレーナーで使ってください。
dev ループのメモ: Studio の /api/manifest エンドポイントはリクエストごとにトレーナーをリビルド・再 import しますが(キャッシュバストクエリ付き、packages/arkor/src/studio/manifest.ts を参照)、UI が fetch するのは Run training ページがマウントされたときだけです。src/arkor/ を編集して同じ Run training ページに留まり続けると、次のクリックは既存の .arkor/build/index.mjs を再利用して古いコードで走ります。確実に新しいコードを取り込むには、編集とクリックの間にページをリロード(あるいはターミナルから pnpm exec arkor build)してください。

Studio が動く場所

arkor dev を起動すると CLI は次を行います:
  1. Hono サーバーを 127.0.0.1:4000 で起動(ポートは -p で変更可能)。
  2. 同一オリジンで Vite + React の SPA を提供し、UI はループバックの /api/* 経由で CLI と話します。
  3. 起動ごとに CSRF トークンを発行し(~/.arkor/studio-token にモード 0600 で保存)、すべてのリクエストにこのトークンを要求します。
サーバーはループバックにのみバインドし、ループバック以外の Host ヘッダのリクエストは拒否します。公開 URL もインバウンド接続もなく、トークンは arkor dev のたびにローテートされます。共有開発マシンでも学習データを露出する心配なく安全に Studio を動かせます。

マネージドバックエンドとの関係

Studio はあなたの CLI が何をしているかのビューアにすぎません。CLI が認証付き HTTPS でマネージドバックエンドと話し、Studio は CLI に(ループバック越しに)描画する内容を尋ねます。
Studio(ブラウザータブ)
   │  ループバック上の /api/*、CSRF トークン必須

arkor CLI(あなたのマシン)
   │  認証付き HTTPS

Arkor マネージドバックエンド(学習、推論)
この分離があるからこそ、ブラウザーに何もログインしなくても Studio が動きます。CLI は ~/.arkor/credentials.json で既に認証情報を持っており、Studio はローカルで動いている恩恵でそれを継承します。 ~/.arkor/credentials.json がない場合の処理はエントリポイントが決めます。arkor dev は起動時に匿名セッションをブートストラップし、必要に応じてアップグレードできるよう arkor login --oauth を案内する 1 行のヒントを出します。OAuth フローを自動で起動することはありません。例外は初回起動時に /v1/auth/cli/config 自体へ到達できないケースで、同じトランスポートエラーが再スローされて arkor dev は fail-fast で終了します(具体的な復旧手順は arkor dev を参照)。Studio サーバーの遅延ブートストラップ(認証情報が無い状態で /api/* リクエストが届いたとき)も同じ匿名フォールバックを行います。アカウントセッションを使いたい場合は、Studio をクリックする前(あるいは後)に別途 arkor login --oauth を実行してください。認証情報ファイルは共有なので、Studio は次のリクエストでアカウントセッションを拾います。

実際に見えるもの

現状のビューはあえて小さく保たれています:
  • Jobs。 ステータス、名前、作成時刻、ID。数秒ごとにポーリング。
  • Job 詳細。 loss チャート、ログのテール(直近のイベント)、ライブステータス。Server-Sent Events 経由でストリームされ、手動リロードなしで最新のままです。
  • Playground。 アダプタセレクタ(ベースモデル or 任意の完了ジョブの最終アダプタ)、チャット UI、ストリーミングレスポンス。呼び出しは CLI を経由して、その先のマネージド推論エンドポイントに届きます。Playground は完了済みジョブだけを並べます。学習中に中間チェックポイントで推論したい場合は、代わりに onCheckpoint コールバックを使ってください。
各ビュー(Run training、Job 詳細、Playground)のウォークスルーは Studio セクションにあります。

Studio を使うべきでない場面

Studio は開発ツールです。あなたのマシンで動き、ループバックのみで、arkor dev が立ち上がっている間だけ存在します。ファインチューン済みモデルのプロダクション利用では、Studio にユーザーを向けるのではなく、自分のアプリケーションコードから(あるいはサービング層から)infer を呼んでください。