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

Documentation Index

Fetch the complete documentation index at: https://arkor-92aeef0e-eng-736.mintlify.app/llms.txt

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

コールバック

SDK は学習がストリーミングされる間、5 つのタイミングでコールバックを発火します。started、log、checkpoint、completed、failed の 5 種類です。TypeScript から離れずに、メトリックスの転送、途中チェックポイントの評価、独自の通知などができます。
import { createTrainer } from "arkor";

const trainer = createTrainer({
  name: "support-bot-v1",
  model: "unsloth/gemma-4-E4B-it",
  dataset: { type: "huggingface", name: "arkorlab/triage-demo" },
  callbacks: {
    onStarted: ({ job }) => console.log("started", job.id),
    onLog: ({ step, loss }) => console.log("step", step, "loss", loss),
    onCheckpoint: async ({ step, infer }) => {
      const r = await infer({ messages: [{ role: "user", content: "Hi" }] });
      console.log("checkpoint", step, await r.text());
    },
    onCompleted: ({ job }) => console.log("done", job.id),
    onFailed: ({ error }) => console.error("failed", error),
  },
});

await trainer.start();
await trainer.wait();
5 つすべてオプションです。各コールバックは Promise を返してよく、SDK は次のイベントを発火する前にそれを await します。

よくある用途

  • メトリックスの転送: onLogsteploss を自前のパイプライン(PostHog、Datadog など)に送る。
  • 学習中の評価: onCheckpointinfer() を用意したプロンプトに対して呼び、サンプルをログに残せば、学習が正しい方向に向かっているか早めに判断できる。
  • 完了時の通知: onCompletedonFailed から Slack に投稿、メールを送る。
より詳しいレシピは 学習中の評価Early Stopping通知 を参照。

リファレンス

完全な型シグネチャー、コールバック内で throw すると通常の reject ではなく SSE 再接続をトリガーするルール、各コールバックのパラメーター一覧は コールバックリファレンス を参照してください。学習の概念的な流れは 実行ライフサイクル にあります。