機能の概要
OpenAI互換Files APIは、ファイルをアップロードするために使用されます。現在、バッチタスクでファイルを入力するためにpurpose=batchをサポートしています。現在、Alibaba Cloud Qwenシリーズモデルのみをサポートしています。
前提条件
purpose=batchの場合、JSONL形式(.jsonl)のBatch入力ファイルを準備する必要があります。ファイルの各行は独立したJSONオブジェクトであり、1回のバッチリクエストを表します。準備要件は以下のとおりです:
各行は有効なJSONオブジェクトでなければならず、行と行は改行文字で区切られている必要があります。
JSONLファイルでは、モデルが異なることによるバッチタスク処理の異常を避けるため、同じ
modelを使用することを推奨します。各行のJSONオブジェクトには以下のフィールドが含まれます:
フィールド説明custom_id カスタムリクエストIDであり、バッチ結果で対応するリクエストとレスポンスをマッチングするために使用されます。同一ファイル内で重複してはなりません。 method リクエストメソッド。現在は POSTのみをサポートしています。url リクエストパス。例: /v1/chat/completions。body リクエストボディには、 modelやmessagesなどのパラメータが含まれ、その形式は対応するChat Completionインターフェースのリクエストボディと一致します。
以下はtest_model.jsonlファイルの例です:
{"custom_id":"1","method":"POST","url":"/v1/chat/completions","body":{"model":"batch-test-model","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"こんにちは!何かお手伝いできますか?"}]}}
{"custom_id":"2","method":"POST","url":"/v1/chat/completions","body":{"model":"batch-test-model","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"What is 2+2?"}]}}
呼び出しの説明
インターフェース制約
- 呼び出し元はAPIキーを保有している必要があります。詳細については、AI APIキーの管理をご参照ください。
- このAPIは汎用的なFiles APIであり、多様な用途でのファイルアップロードをサポートしています。
リクエストパス
POST {BASE_URL}/api/v1/files
リクエストヘッダー
パラメータ名 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|
| Authorization | はい | Bearer {token} | 認証情報 |
| Content-Type | いいえ | multipart/form-data | リクエストボディの形式 |
リクエストパラメータ
Pathパラメータ
なし
Queryパラメータ
なし
Bodyパラメータ
パラメータ名 |
型 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| file | string | はい | - | ファイルの内容 |
| purpose | string | はい | batch | ファイルの用途。現在、batch(バッチタスク入力ファイル)をサポートしています |
レスポンス結果
レスポンスパラメータ
パラメータ名 |
型 |
説明 |
|---|---|---|
| success | boolean | リクエストが成功したかどうか |
| code | string | 戻りコード |
| message | string | 返されるメッセージ |
| data | object | 業務上の戻りデータ |
dataフィールドの説明
パラメータ名 |
型 |
説明 |
|---|---|---|
| id | string | ファイルの一意のID |
| object | string | オブジェクトタイプ。例:file |
| bytes | integer | ファイルサイズ(バイト) |
| created_at | integer | ファイル作成時刻のタイムスタンプ |
| filename | string | ファイル名 |
| purpose | string | ファイルの用途 |
リクエスト例
curl --request POST '{BASE_URL}/api/v1/files' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: multipart/form-data' \
--form 'file=@"/path/to/test_model.jsonl"' \
--form 'purpose="batch"'
レスポンス例
{
"success": true,
"code": "200",
"message": "successful",
"data": {
"id": "file-123456",
"object": "file",
"bytes": 1024,
"created_at": 1712736000,
"filename": "your_file.jsonl",
"purpose": "batch"
}
}