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.
Cookbook
Arkor はアルファ版です。フレームワークの公開面はあえて小さく抑えてあります: トレーナー 1 つ、マニフェストスロット 1 つ、いくつかのライフサイクルコールバック。その小ささを価値あるものにしているのは、そのすべてがあなたの TypeScript コード という点です。TS で表現できるものは何でも学習に組み込めて、プロダクトの他の部分と同じエディタ・型・レビューの流儀でやっていけます。 このセクションは、実際にやり始めると最初に出てくるパターンを集めたものです。各レシピは今日の公開 SDK の中だけで完結します: ロードマップ API も、内部 import も、ランタイムをフォークする必要もありません。レシピ一覧
| レシピ | 何を示すか | ベース |
|---|---|---|
| 学習中の評価 | チェックポイントごとに固定プロンプトで半学習済みモデルをサニティチェックし、学習完了前に確認する。 | onCheckpoint({ infer }) |
| loss 発散時の early stopping | loss 曲線が悪い方向に進んだら学習を自動 abort し、バックエンドの GPU も止める。 | onLog、AbortSignal、trainer.cancel() |
| Slack / Discord 通知 | 完了時 / 失敗時に webhook を叩く、トレーナーファイルから出ずに。 | onCompleted / onFailed、fetch |
| プログラムからの学習実行(CLI なし) | arkor dev / arkor start を介さず、Next.js API ルート、cron ワーカー、CI から学習を駆動する。 | runTrainer、Trainer.start / wait |
| スターターテンプレートのカスタマイズ | スキャフォールドされたテンプレートを起点として扱う。データセット、ハイパラ、コールバック、ベースモデルを変える。 | createTrainer、DatasetSource |
始める前にコールバックの例外について 1 つだけ
下記の 3 つのレシピはライフサイクルコールバック内にロジックを置きます。ランタイムはコールバックから throw されたエラーを catch して SSE 再接続ループに送り(SDK § ライフサイクルコールバック)、maxReconnectAttempts のデフォルトは無制限です。実用上、コールバック内の throw は黙ってリトライされ得ます。
ここのレシピは決定的に動かすために単純な慣例を使います:
- 状態変更は外側の変数経由で。 throw の代わりに
AbortController、クロージャのフラグ、返した Promise を使う。 - 副作用はコールバック内で
try / catchでガード。 Slack 投稿が失敗したらログだけ残して継続し、外に漏らさない。
このセクションが扱わないこと
- 本番デプロイ。 今日 Arkor はマネージド GPU 上でしか動かず、
createArkorのdeployスロットは型上の予約フィールドで実装はありません。サービング系のレシピはその表面が出てきたら追加されます。 - プロジェクトごとの複数トレーナー。
createArkorは単一のtrainerを受け付けます。複数を一緒に走らせるのはマニフェストパターンではなくプログラム駆動パターンです(該当レシピ参照)。 - バックエンドが受け付ける以外のカスタムベースモデル。
modelフィールドはクラウド API にそのまま転送されます。今日のキュレートパスは Gemma です。レシピはそれ以外のモデルがエンドツーエンドで動くようなふりをしません。