Skip to main content

Deployments

Deployment は学習済みアダプタ(または素のベースモデル)を専用のサブドメイン https://<slug>.arkor.app/v1/chat/completions に公開する仕組みです。OpenAI Chat Completions のワイヤーフォーマットで応答するので、OpenAI 互換のクライアント(公式 openai SDK、LangChain など)の baseURL を向けるだけで使えます。 CloudApiClient はこれらの deployment をプログラムで管理(作成、API キーのローテーション、削除)するための型付きエントリポイントです。Node.js スクリプトや自分のサーバーから呼べます。Studio ダッシュボードは作成 / トグル / キー管理といった共通操作をカバーしますが、いくつかの操作は今のところ SDK のみで可能です(既存 deployment の target 差し替え、デフォルト以外の run retention 設定、バルク操作のスクリプト化など)。今日のパリティ境界は Studio Endpoints ページ を参照してください。このページは SDK の表面を扱います。

SDK を使う場面

  • CI / IaC: 他のインフラと一緒に deployment をプロビジョニング。学習済み job の final アダプタが、1 ステップのスクリプトで「保存済みチェックポイント」から「ライブ URL」になります。
  • 独自ダッシュボード: 自前の管理 UI に deployment 管理を組み込む。
  • 一括操作: インシデント後に多数の deployment のキーをまとめて revoke + 再発行する、など。
日常の対話的な操作には Studio や今後の arkor endpoints CLI が向いています。SDK はそれらが乗っている下層レイヤーです。

セットアップ

CloudApiClient は SDK 全体で使う Credentials 型をそのまま受け取ります。OAuth のアクセストークン(arkor login 後)でも、匿名 CLI トークンでも構いません。両者で API 表面は同一です。渡す baseUrl は credentials が発行された control plane と一致している必要があります。staging で発行された OAuth トークンを本番の CloudApiClient に渡すとトークン自体は形式的に正しくても 401 になります。defaultArkorCloudApiUrl(credentials) は認証時に credentials に押された URL を読むので通常はこれが自動で揃います。古い credentials(URL を保存する前に作成されたもの)は本番 fallback に落ちるので、再 login か ARKOR_CLOUD_API_URL の明示設定が必要です。 deployment はすべて (orgSlug, projectSlug) スコープに属するので、毎回そのスコープを渡します:

Deployment を作成する

target は判別共用体です:
authMode"fixed_api_key"(クライアントが Authorization: Bearer … または x-api-key を送る)または "none"(URL がオープン。公開デモやモデル限定で使用)です。 runRetentionModerunRetentionDays は省略可。省略時はサーバーのデフォルト(days / 7 日)を使います。"unlimited" で無期限保持、"disabled" で永続化スキップ。 slug は [a-z0-9][a-z0-9-]*[a-z0-9](2-50 文字)に一致する必要があります。予約ラベル(wwwapiadmin など)はサーバーが 400 で拒否します。

API キーを発行する

平文は作成時のみ返されます。以降の listDeploymentKeys() ではラベルと表示用 prefix(ark_live_abcd1234…)だけが返り、フルキーは取得不可。紛失した場合は新規発行 → 旧キー revoke を行ってください。 キーの使い方:
リクエスト body の model フィールドは無視されます。deployment 側でターゲットが固定されているためです。OpenAI SDK は baseURLhttps://<slug>.arkor.app/v1 に向けるだけで動きます。

取得・一覧・更新・削除

updateDeployment は部分更新です。渡さなかったフィールドはそのまま残ります。URL 自体は slug で決まり変更不可。slug を変えたい場合は新規作成してください。

キーの管理

lastUsedAt は edge サービスが best-effort で更新します。トラフィック下で任意に遅延する可能性があり、edge インスタンス再起動を挟むと値が現れないこともあり、タイミング保証の対象には含まれません。あくまで近似値として扱い、「最近このキーが使われたか?」程度の用途に留めてください。

エラーハンドリング

非 2xx レスポンスは CloudApiError として throw されます:
主なステータス:

リファレンス

ランタイム export(値として import できるクラス): CloudApiClientCloudApiError 型のみの export(import type で import できるもの): CloudApiClientOptionsDeploymentTargetDeploymentAuthModeDeploymentRunRetentionModeDeploymentDtoDeploymentKeyDtoDeploymentScopeCreateDeploymentInputUpdateDeploymentInputCreateDeploymentKeyInputCreateDeploymentKeyResult