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

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.

createTrainer

import { createTrainer } from "arkor";

export const trainer = createTrainer({
  name: "support-bot-v1",
  model: "unsloth/gemma-4-E4B-it",
  dataset: { type: "huggingface", name: "arkorlab/triage-demo" },
  lora: { r: 16, alpha: 16 },
  maxSteps: 100,
});
createTrainerstart / wait / cancel メソッドを持つ Trainer オブジェクトを返します(トレーナー制御 を参照)。この関数は TrainerInput のクライアント側バリデーションを しません: TypeScript が型付きフィールドをコンパイル時にチェックし、それ以外は start() 実行時にクラウド API へ転送されます。不正な値は構築時のクライアント側 throw ではなく、学習中にバックエンドエラーとして現れます。

必須フィールド

フィールド補足
namestringジョブ名。Studio とマネージドバックエンドに表示。
modelstringベースモデル ID。今日のキュレートテンプレートは unsloth/gemma-4-E4B-it を使用。
datasetDatasetSourceHuggingFace データセット名 or blob URL。

型付きオプションフィールド

ファーストクラスの TypeScript 型を持ち、安全に使えます:
フィールドデフォルト効果
loraLoraConfigバックエンドのデフォルトLoRA / QLoRA のノブ(ralphamaxLength?loadIn4bit?)。
maxStepsnumberバックエンドのデフォルト学習ステップ数の上限。
numTrainEpochsnumberバックエンドのデフォルトデータセット周回数(maxSteps の代替)。
learningRatenumberバックエンドのデフォルトオプティマイザのステップサイズ。
batchSizenumberバックエンドのデフォルトデバイスごとの学習バッチサイズ。
optimstringバックエンドのデフォルトオプティマイザ名。
lrSchedulerTypestringバックエンドのデフォルト学習率スケジュール(例: linearcosine)。
weightDecaynumberバックエンドのデフォルト正則化の重み。
dryRunbooleanfalseスモークテスト(下記参照)。
callbacksPartial<TrainerCallbacks>{}ライフサイクルコールバック を参照。
abortSignalAbortSignalなしローカルの wait() を停止。バックエンドのジョブはキャンセル しませんトレーナー制御 を参照。

LoraConfig

interface LoraConfig {
  r: number;            // LoRA ランク(よくある値は 8 / 16 / 32)
  alpha: number;        // LoRA alpha(多くは 2 × r)
  maxLength?: number;   // このトークン数を超えるサンプルは切り詰める
  loadIn4bit?: boolean; // ベースモデルを 4-bit でロード(QLoRA)
}
lora を完全に省略するとバックエンドのデフォルトになります。同梱テンプレートが使う出発点は r: 16, alpha: 16 です。

dryRun

createTrainer({
  name: "smoke",
  model: "unsloth/gemma-4-E4B-it",
  dataset: { type: "huggingface", name: "arkorlab/triage-demo" },
  dryRun: true,
});
dryRun: true はバックエンドにデータセットを切り詰め、ステップ数を制限してパイプラインの全段階(データロード、chat-template のレンダ、学習ループ、チェックポイントアップロード、イベントストリーム)を走らせるよう指示します。それでも GPU 時間は使います、ただしずっと少なく。CI や、初めてコールバックを組んでいるときに便利です。完全に課金回避するための手段ではありません。

上級: 転送フィールド

これらは unknown として型付けされ、クラウド API にそのまま転送されます(packages/arkor/src/core/trainer.ts:100-108)。SDK のファーストクラス型付けが追いつく前にバックエンドが新フィールドを公開できるよう、入力形に予約されています。
フィールド状況
warmupStepsloggingStepssaveStepsevalStepsそのまま転送。バックエンドの想定形を既に知っている場合のみ使用してください。
trainOnResponsesOnlyそのまま転送。
datasetFormatdatasetSplitそのまま転送。HuggingFace ソースには専用 dataset フィールドの split を優先してください。
これらのフィールドは明示的に 安定ではありません: バックエンド契約はリリース間で変わり得て、渡す値にコンパイル時チェックもありません。上記の型付きフィールドを優先し、他で賄えないときだけ手を出してください。

まだないもの

  • マルチトレーナープロジェクト。createArkor は単一の trainer を受け付けます。配列形はありません。2 つ目のトレーナーを登録するには、エクスポートをランタイムで切り替えるか、API がその形を獲得するのを待つことになります。