Skip to main content

バッチ推論

Alibaba Cloud Model Studio CLI で非同期バッチ推論タスクを作成、追跡、ダウンロードするためのコマンドリファレンス。

bl batch は CSV を Batch JSONL に変換し、Chat または Embedding の非同期バッチタスクを作成、進捗を追跡、タスクをキャンセルし、結果ファイルとエラーファイルをダウンロードします。ファイルベースの非同期バッチタスクは、同期の単一リクエスト bl text chat --batch とは別に使用します。
batch convert はローカルで実行され、認証は不要です。タスクの作成、照会、キャンセル、ダウンロードにはモデル API Key が必要です。Batch の可用性と制限はモデルとサービスによって異なります。
任意のコマンドに --help を追加すると、パラメータの詳細を確認できます(例:bl batch create --help)。このページのコマンド詳細は bl 2.8.0 で検証しています。

クイックスタート

bl batch convert --file input.csv --model qwen-plus --output-file input.jsonl
bl batch create --file input.jsonl
bl batch get --batch-id <batch-id> --follow
bl batch download --batch-id <batch-id> --csv

タスク管理

bl batch convert

UTF-8 CSV をローカルで Batch JSONL に変換します。認証は不要です。 使用法
bl batch convert --file <csv> --model <model> --output-file <jsonl> [flags]
パラメータ型必須説明
--file <csv>stringはいヘッダー付きの UTF-8 CSV
--output-file <jsonl>stringはいローカル JSONL の出力パス
--model <model>stringはいすべてのレコードに使用するモデル
--id-column <name>stringいいえID 列(デフォルト:custom_id)
--input-column <name>stringいいえ入力列(デフォルト:content)
--system <text>stringいいえ共通のシステムプロンプト(Chat のみ)
--body-file <json>stringいいえ共通のリクエスト本文パラメータ(model、messages、input を除く)
--endpoint </v1/chat/completions|/v1/embeddings|/v1/chat/ds-test>stringいいえBatch エンドポイント。ローカル JSONL から推測
--forceswitchいいえ既存の出力ファイルを置き換える(ファイル単位でアトミック)
例:CSV を Chat JSONL に変換する
bl batch convert --file input.csv --model qwen-plus --output-file input.jsonl
例:CSV を Embedding JSONL に変換する
bl batch convert --file input.csv --model text-embedding-v4 --endpoint /v1/embeddings --output-file vectors.jsonl
  • サポートされるのはテキストと Embedding のフィールドマッピングのみです。マルチモーダルまたは複数ターンの入力は JSONL を直接作成してください。
  • ID は常に文字列として扱われます。表計算ソフトで CSV を読み込む際は ID 列をテキストに設定し、先頭のゼロを保持してください。
  • dry-run はビジネス API を呼び出さず、ビジネスファイルも書き込みません。

bl batch create

入力ファイルをアップロードまたは参照して、非同期 Batch タスクを作成します。API Key 認証が必要です。 使用法
bl batch create (--file <jsonl> | --input-file-id <source> --endpoint <path>) [flags]
パラメータ型必須説明
--file <jsonl>stringいいえローカル Batch JSONL(--input-file-id とは排他)
--input-file-id <source>stringいいえファイル ID、OSS HTTPS URL、または oss:region:bucket/path
--completion-window <24h|7d>stringいいえ完了ウィンドウ:24~336 時間(デフォルト:24h)
--name <text>stringいいえタスク名(最大 100 文字)
--description <text>stringいいえタスクの説明(最大 200 文字)
--callback-url <url>stringいいえ完了コールバック。現在は中国(北京)リージョンのみドキュメント化
--metadata <KEY=VALUE>arrayいいえカスタムタスクメタデータ(繰り返し可能)
--endpoint </v1/chat/completions|/v1/embeddings|/v1/chat/ds-test>stringいいえBatch エンドポイント。ローカル JSONL から推測
例:タスク作成をプレビューする
bl batch create --file input.jsonl --name eval-1 --dry-run
例:ファイル ID からタスクを作成する
bl batch create --input-file-id file-batch-xxx --endpoint /v1/chat/completions
例:7 日間の完了ウィンドウで OSS パスを参照する
bl batch create --input-file-id oss:ap-southeast-1:my-bucket/input.jsonl --endpoint /v1/chat/completions --completion-window 7d
Chat JSONL の例:
{"custom_id":"req-001","method":"POST","url":"/v1/chat/completions","body":{"model":"qwen-plus","messages":[{"role":"user","content":"Introduce yourself"}]}}
Embedding JSONL の例:
{"custom_id":"req-001","method":"POST","url":"/v1/embeddings","body":{"model":"text-embedding-v4","input":"Introduce yourself","encoding_format":"float"}}
  • ローカル入力の上限:50,000 リクエスト、500 MiB、1 行あたり 6 MiB。1 MiB を超える行には警告が表示されます。
  • batch-test-model は 100 リクエスト、1 MiB に制限されています。
  • リモート参照には認証と有効な URL が必要です。CLI は検証のためにファイルをダウンロードしません。
  • 作成に成功すると、完了を待たずにタスク ID が返されます。失敗時に POST の再生やアップロード済みファイルのクリーンアップは行われません。

bl batch get

Batch タスクの詳細を取得し、必要に応じて進捗を追跡します。API Key 認証が必要です。 使用法
bl batch get --batch-id <id> [--follow] [--interval <seconds>] [--poll-timeout <seconds>]
パラメータ型必須説明
--batch-id <id>stringはいBatch タスク ID
--followswitchいいえ終了状態までポーリング(Ctrl-C はローカルポーリングのみ停止)
--interval <seconds>numberいいえ照会間隔(最小 60 秒、デフォルト:65 秒、--follow のみ)
--poll-timeout <seconds>numberいいえポーリングの合計時間予算(デフォルト:無制限、--follow のみ)
例:タスクを終了まで追跡する
bl batch get --batch-id batch_xxx --follow
  • 単一の get は、タスクの状態に関係なく、照会に成功すると終了コード 0 で終了します。
  • --follow では、終了コード 0 は完了(失敗行を含む場合あり)、1 は失敗、期限切れ、またはキャンセル、5 はクライアントタイムアウト、130 は Ctrl-C を意味します。
  • finalizing と cancelling は終了状態ではありません。
  • 進捗は stderr に、最終結果は stdout に出力されます。
  • 再試行されるのは転送エラー、タイムアウト、HTTP 429/5xx のみで、最大 3 回です。
  • サーバーの保持期間は限られているため、結果は速やかにダウンロードしてください。

bl batch list

Batch タスクを 1 ページずつ一覧表示します。API Key 認証が必要です。 使用法
bl batch list [filters] [--after <id>] [--limit <n>]
パラメータ型必須説明
--limit <n>numberいいえページサイズ:1~100(デフォルト:20)
--after <id>stringいいえ前ページの last_id
--name <text>stringいいえタスク名フィルタ
--input-file-id <id>arrayいいえ入力ファイルフィルタ(繰り返し可能、最大 20)
--status <status>arrayいいえタスク状態フィルタ(繰り返し可能):validating、in_progress、finalizing、completed、failed、expired、cancelling、cancelled
--created-after <yyyyMMddHHmmss>stringいいえこの API タイムスタンプより後に作成
--created-before <yyyyMMddHHmmss>stringいいえこの API タイムスタンプより前に作成
例:完了したタスクと失敗したタスクを一覧表示する
bl batch list --status completed --status failed --limit 20
  • data、last_id、has_more を返します。次のページでは last_id を --after に渡します。
  • API タイムスタンプはタイムゾーン変換されません。

bl batch cancel

Batch タスクのキャンセルをリクエストします。API Key 認証が必要です。 使用法
bl batch cancel --batch-id <id>
パラメータ型必須説明
--batch-id <id>stringはいBatch タスク ID
例:タスクのキャンセルをリクエストする
bl batch cancel --batch-id batch_xxx
  • キャンセルが受け付けられても cancelling が返される場合があり、キャンセル済みを意味しません。batch get --follow で確認してください。
  • すでに実行されたリクエストには引き続き課金されます。ファイルは削除されません。

bl batch download

元の結果またはエラーファイルをダウンロードし、必要に応じて CSV をエクスポートします。API Key 認証が必要です。 使用法
bl batch download --batch-id <id> [--out-dir <path>] [--csv] [--force]
パラメータ型必須説明
--batch-id <id>stringはいBatch タスク ID
--out-dir <path>stringいいえ出力ディレクトリ(デフォルト:./batch-results/<batch-id>/)
--csvswitchいいえresult.csv も生成(損失のある表示用投影)
--forceswitchいいえ既存の出力ファイルを置き換える(ファイル単位でアトミック)
例:結果をダウンロードして CSV をエクスポートする
bl batch download --batch-id batch_xxx --out-dir ./out --csv
  • JSONL が正規の結果です。CSV は choices[0].message.content、Embedding データ、response.request_id、status_code、使用量、error.code / error.message のみを読み取ります。
  • CSV にはツール呼び出しと追加の候補が含まれず、数式のようなテキストはテキストとして扱われます。ID をインポートする際はテキストとして扱い、先頭のゼロを保持してください。
  • 元の入力順序は保証されません。
  • ファイルはディレクトリ単位ではなくファイル単位でアトミックに公開されます。CSV の生成に失敗した場合、ダウンロード済みの JSONL は保持されます。--force を付けて再実行すると復旧できます。

関連コマンド

同期の単一リクエストには bl text chat --batch を使用します。非同期タスクは作成されません。テキストチャットとオムニを参照してください。