大規模言語モデル向けの Batch API は、多数の推論リクエストの非同期処理を可能にし、OpenAI API 標準と完全な互換性があります。
Batch API は、即時の推論結果が不要な場合に費用対効果の高いソリューションです。オンライン呼び出しよりも高いレート制限を提供し、24 時間という妥当な時間内に結果が提供されることを保証します。
この API は次の用途に最適です。
- 評価とデータ分析の実施。
- 大規模データセットの分類。
- オフラインモードでのドキュメント要約の生成。
サポートされているモデル:
クイックスタート
1. バッチファイルの準備
Batch API は入力として .jsonl 形式のファイルを使用し、各行は API 推論リクエストの詳細を表します。利用可能なエンドポイントには /v1/chat/completions と /v1/completions があります。
OpenAI API との互換性のため、endpoint パラメータを /v1/chat/completions または /v1/completions に設定してください。
各リクエストには、バッチ完了後に出力ファイル内で推論結果を特定するための一意の custom_id を含める必要があります。各行の body フィールド内のパラメータは、実際の推論リクエストパラメータとしてエンドポイントに送信されます。
単一のバッチ JSONL ファイル内のすべてのリクエストは、同じモデルを対象にする必要があります。1 つのバッチ内で異なるモデルへのリクエストを混在させないでください。
以下は 2 つのリクエストを含む入力ファイルの例です。
2. バッチ入力ファイルのアップロード
バッチ作成時に正確に参照できるように、バッチ入力ファイルをアップロードします。Files API を使用して .jsonl ファイルをアップロードし、purpose を batch に設定してください。ファイルは 15 日間保持されることに注意してください。
コード例
Python
Curl
ファイルのアップロードに成功した場合のサンプルレスポンス:
3. バッチの作成
入力ファイルが正常にアップロードされたら、アップロード済み File オブジェクトの ID を使用してバッチを開始できます。完了ウィンドウは 24h に固定されており、現在は変更できません。
コード例
Python
Curl
このリクエストは、以下の例に示すように、バッチに関するメタデータを含む Batch オブジェクトを返します。
4. バッチのステータス確認
最新のバッチ情報を取得するために、いつでもバッチのステータスを確認できます。
Batch オブジェクトのステータス列挙値は次のとおりです。
| ステータス | 説明 |
|---|
| VALIDATING | バッチを開始する前に入力ファイルを検証しています |
| PROGRESS | バッチは処理中です |
| COMPLETED | バッチ処理は正常に完了しました |
| FAILED | バッチ処理に失敗しました |
| EXPIRED | バッチが期限を超過しました |
| CANCELLING | バッチをキャンセルしています |
| CANCELLED | バッチはキャンセルされました |
コード例
Python
Curl
5. 結果の取得
バッチ推論が完了したら、Batch オブジェクトの output_file_id フィールドを使用して結果出力ファイルをダウンロードできます。
結果出力ファイルは、バッチ推論の終了から 30 日後に削除されるため、インターフェースを通じて速やかに取得してください。
コード例
Python
Curl
レスポンスは生のファイル内容を返します。バッチ出力ファイルでは、各行に次のようなレスポンスが含まれます。
制限事項
- 各バッチには最大 50,000 件のリクエストを含めることができます。
- バッチあたりの最大入力ファイルサイズは 100MB です。
エラー処理
バッチ処理中に発生したエラーは別のエラーファイルに記録され、error_file_id フィールドからアクセスできます。一般的なエラーコードは次のとおりです。
| エラーコード | 説明 | 解決策 |
|---|
| 400 | 無効なリクエスト形式 | JSONL 構文と必須フィールドを確認してください |
| 401 | 認証に失敗しました | API key を確認してください |
| 404 | バッチが見つかりません | batch ID を確認してください |
| 429 | レート制限を超過しました | リクエスト頻度を下げてください |
| 500 | サーバーエラー | お問い合わせください |
バッチの有効期限切れ
24 時間以内に完了しなかったバッチは EXPIRED 状態に移行します。未完了のリクエストはキャンセルされ、完了済みのリクエストは出力ファイルを通じて提供されます。料金は完了したリクエストによって消費されたトークンに対してのみ発生します。バッチは 24 時間以内に完了するよう最大限努めます。
すべての Batch API
- Create batch
- Retrieve batch
- Cancel batch
- List batch
- Upload file
- List files
- Retrieve file
- Delete file
- Retrieve file content