本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用批次 API 提交一OpenAI批提示
您可以使用建立批次 OpenAI API 搭配 Amazon Bedrock 模型來執行批次推論任務。 OpenAI
您可以透過下列方式呼叫OpenAI建立批次 API:
選取主題以進一步了解:
OpenAI 批次 API 支援的模型和區域
您可以使用OpenAI建立批次 API 搭配 Amazon Bedrock 和支援這些OpenAI模型的 AWS 區域中支援的所有模型。如需支援的模型和區域的詳細資訊,請參閱 Amazon Bedrock 中支援的基礎模型。
使用OpenAI批次 API 的先決條件
若要查看使用OpenAI批次 API 操作的先決條件,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
- OpenAI SDK
-
- HTTP request
-
建立OpenAI批次任務
如需OpenAI建立批次 API 的詳細資訊,請參閱 OpenAI 文件中的下列資源:
形成請求
形成批次推論請求時,請注意下列 Amazon Bedrock 特定欄位和值:
尋找產生的結果
建立回應包含批次 ID。批次推論任務的結果和錯誤記錄會寫入包含輸入檔案的 S3 資料夾。結果將位於與批次 ID 同名的資料夾中,如下列資料夾結構所示:
---- {batch_input_folder}
|---- {batch_input}.jsonl
|---- {batch_id}
|---- {batch_input}.jsonl.out
|---- {batch_input}.jsonl.err
若要查看使用不同方法OpenAI建立批次 API 的範例,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
- OpenAI SDK (Python)
-
若要使用 OpenAI SDK 建立批次任務,請執行下列動作:
-
匯入 OpenAI SDK 並使用下列欄位設定用戶端:
-
base_url
– 將 Amazon Bedrock 執行期端點字首為 /openai/v1
,格式如下:
https://${bedrock-runtime-endpoint}
/openai/v1
-
api_key
– 指定 Amazon Bedrock API 金鑰。
-
default_headers
– 如果您需要包含任何標頭,您可以將它們作為索引鍵/值對包含在此物件中。或者,您可以在進行特定 API 呼叫extra_headers
時,在 中指定標頭。
-
搭配用戶端使用 batches.create() 方法。
在執行下列範例之前,請取代下列欄位中的預留位置:
-
api_key – 使用實際 API 金鑰取代 $AWS_BEARER_TOKEN_BEDROCK
。
-
X-Amzn-BedrockRoleArn – 將 arn:aws:iam::123456789012:role/BatchServiceRole
取代為您設定的實際批次推論服務角色。
-
input_file_id – 將 s3://amzn-s3-demo-bucket/openai-input.jsonl
取代為您上傳批次 JSONL 檔案的實際 S3 URI。
此範例會在 中呼叫OpenAI建立批次任務 API,us-west-2
並包含一段中繼資料。
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK", # Replace with actual API key
default_headers={
"X-Amzn-Bedrock-RoleArn": "arn:aws:iam::123456789012:role/BatchServiceRole" # Replace with actual service role ARN
}
)
job = client.batches.create(
input_file_id="s3://amzn-s3-demo-bucket/openai-input.jsonl", # Replace with actual S3 URI
endpoint="/v1/chat/completions",
completion_window="24h",
metadata={
"description": "test input"
},
extra_headers={
"X-Amzn-Bedrock-ModelId": "openai.gpt-oss-20b-1:0",
}
)
print(job)
- HTTP request
-
若要使用直接 HTTP 請求建立聊天完成,請執行下列動作:
-
使用 POST 方法,並將 Amazon Bedrock 執行期端點字首指定為 的 URL/openai/v1/batches
,格式如下:
https://${bedrock-runtime-endpoint}
/openai/v1/batches
-
在 Authorization
標頭中指定您的 AWS 登入資料或 Amazon Bedrock API 金鑰。
在執行下列範例之前,請先取代下列欄位中的預留位置:
-
授權 – 使用實際 API 金鑰取代 $AWS_BEARER_TOKEN_BEDROCK
。
-
X-Amzn-BedrockRoleArn – 將 arn:aws:iam::123456789012:role/BatchServiceRole
取代為您設定的實際批次推論服務角色。
-
input_file_id – 將 s3://amzn-s3-demo-bucket/openai-input.jsonl
取代為您上傳批次 JSONL 檔案的實際 S3 URI。
下列範例會在 中呼叫建立聊天完成 API,us-west-2
並包含一個中繼資料:
curl -X POST 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK' \
-H 'Content-Type: application/json' \
-H 'X-Amzn-Bedrock-ModelId: openai.gpt-oss-20b-1:0' \
-H 'X-Amzn-Bedrock-RoleArn: arn:aws:iam::123456789012:role/BatchServiceRole' \
-d '{
"input_file_id": "s3://amzn-s3-demo-bucket/openai-input.jsonl",
"endpoint": "/v1/chat/completions",
"completion_window": "24h",
"metadata": {"description": "test input"}
}'
擷取OpenAI批次任務
如需OpenAI擷取批次 API 請求和回應的詳細資訊,請參閱擷取批次。
當您提出請求時,您可以指定要取得資訊的批次任務 ID。回應會傳回批次任務的相關資訊,包括您可以在 S3 儲存貯體中查詢的輸出和錯誤檔案名稱。
若要查看使用不同方法OpenAI擷取批次 API 的範例,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
- OpenAI SDK (Python)
-
若要使用 OpenAI SDK 擷取批次任務,請執行下列動作:
-
匯入 OpenAI SDK 並使用下列欄位設定用戶端:
-
base_url
– 將 Amazon Bedrock 執行期端點字首為 /openai/v1
,格式如下:
https://${bedrock-runtime-endpoint}
/openai/v1
-
api_key
– 指定 Amazon Bedrock API 金鑰。
-
default_headers
– 如果您需要包含任何標頭,您可以將它們作為索引鍵/值對包含在此物件中。或者,您可以在進行特定 API 呼叫extra_headers
時,在 中指定標頭。
-
搭配用戶端使用 batches.retrieve() 方法,並指定要擷取資訊的批次 ID。
在執行下列範例之前,請取代下列欄位中的預留位置:
此範例會在 ID 為 batch_abc123
的批次任務us-west-2
上呼叫 中的OpenAI擷取批次任務 API。
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)
job = client.batches.retrieve(batch_id="batch_abc123") # Replace with actual ID
print(job)
- HTTP request
-
若要使用直接 HTTP 請求擷取批次任務,請執行下列動作:
-
使用 GET 方法,並將 Amazon Bedrock 執行期端點字首指定為 的 URL/openai/v1/batches/${batch_id}
,格式如下:
https://${bedrock-runtime-endpoint}
/openai/v1/batches/batch_abc123
-
在 Authorization
標頭中指定您的 AWS 登入資料或 Amazon Bedrock API 金鑰。
在執行下列範例之前,請先取代下列欄位中的預留位置:
下列範例會在 ID 為 batch_abc123
的批次任務us-west-2
上呼叫 中的OpenAI擷取批次 API。
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
列出OpenAI批次任務
如需OpenAI列出批次 API 請求和回應的詳細資訊,請參閱列出批次。回應會傳回批次任務的相關資訊陣列。
當您提出請求時,您可以包含查詢參數來篩選結果。回應會傳回批次任務的相關資訊,包括您可以在 S3 儲存貯體中查詢的輸出和錯誤檔案名稱。
若要查看使用OpenAI列出批次 API 搭配不同方法的範例,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
- OpenAI SDK (Python)
-
若要使用 OpenAI SDK 列出批次任務,請執行下列動作:
-
匯入 OpenAI SDK 並使用下列欄位設定用戶端:
-
base_url
– 將 Amazon Bedrock 執行期端點字首為 /openai/v1
,格式如下:
https://${bedrock-runtime-endpoint}
/openai/v1
-
api_key
– 指定 Amazon Bedrock API 金鑰。
-
default_headers
– 如果您需要包含任何標頭,您可以將它們作為索引鍵/值對包含在此物件中。或者,您可以在進行特定 API 呼叫extra_headers
時,在 中指定標頭。
-
搭配用戶端使用 batches.list() 方法。您可以包含任何選用參數。
在執行下列範例之前,請取代下列欄位中的預留位置:
此範例會在 中呼叫OpenAI列出批次任務 API,us-west-2
並指定傳回 2 個結果的限制。
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)
job = client.batches.retrieve(batch_id="batch_abc123") # Replace with actual ID
print(job)
- HTTP request
-
若要列出具有直接 HTTP 請求的批次任務,請執行下列動作:
-
使用 GET 方法,並將 Amazon Bedrock 執行期端點字首指定為 的 URL/openai/v1/batches
,格式如下:
https://${bedrock-runtime-endpoint}
/openai/v1/batches
您可以包含任何選用的查詢參數。
-
在 Authorization
標頭中指定您的 AWS 登入資料或 Amazon Bedrock API 金鑰。
在執行下列範例之前,請先取代下列欄位中的預留位置:
下列範例會呼叫 中的OpenAI清單批次 API,us-west-2
並指定 2 個結果要傳回的限制。
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
取消OpenAI批次任務
如需OpenAI取消批次 API 請求和回應的詳細資訊,請參閱取消批次。回應會傳回已取消批次任務的相關資訊。
當您提出請求時,您可以指定要取消的批次任務 ID。
若要查看搭配不同方法使用OpenAI取消批次 API 的範例,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
- OpenAI SDK (Python)
-
若要使用 OpenAI SDK 取消批次任務,請執行下列動作:
-
匯入 OpenAI SDK 並使用下列欄位設定用戶端:
-
base_url
– 將 Amazon Bedrock 執行期端點字首為 /openai/v1
,格式如下:
https://${bedrock-runtime-endpoint}
/openai/v1
-
api_key
– 指定 Amazon Bedrock API 金鑰。
-
default_headers
– 如果您需要包含任何標頭,您可以將它們作為索引鍵/值對包含在此物件中。或者,您可以在進行特定 API 呼叫extra_headers
時,在 中指定標頭。
-
搭配用戶端使用 batches.cancel() 方法,並指定要擷取資訊的批次 ID。
在執行下列範例之前,請取代下列欄位中的預留位置:
此範例會在 ID 為 batch_abc123
的批次us-west-2
任務上呼叫 中的OpenAI取消批次任務 API。
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)
job = client.batches.cancel(batch_id="batch_abc123") # Replace with actual ID
print(job)
- HTTP request
-
若要使用直接 HTTP 請求取消批次任務,請執行下列動作:
-
使用 POST 方法,並將 Amazon Bedrock 執行期端點字首指定為 的 URL/openai/v1/batches/${batch_id}
/cancel
,格式如下:
https://${bedrock-runtime-endpoint}
/openai/v1/batches/batch_abc123
/cancel
-
在 Authorization
標頭中指定您的 AWS 登入資料或 Amazon Bedrock API 金鑰。
在執行下列範例之前,請先取代下列欄位中的預留位置:
下列範例會在 ID 為 batch_abc123
的批次任務us-west-2
上呼叫 中的OpenAI取消批次 API。
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123/cancel' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'