本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Batch API 提交OpenAI一批提示
您可以使用使用 Amazon Bedrock OpenAI 模型OpenAI创建批处理 API 来运行批量推理作业。
您可以通过以下方式调用OpenAI创建批处理 API:
选择一个主题以了解更多信息:
OpenAI批处理 API 支持的型号和区域
您可以对 Amazon Bedrock 和支持这些OpenAI模型的 AWS 地区支持的所有型号使用OpenAI创建批处理 API。有关支持的机型和地区的更多信息,请参阅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
要查看使用不同方法的 C OpenAI reate batch 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 — 替换$AWS_BEARER_TOKEN_BEDROCK
为实际的 API 密钥。
-
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 密钥。
在运行以下示例之前,请先替换以下字段中的占位符:
-
授权-$AWS_BEARER_TOKEN_BEDROCK
替换为实际的 API 密钥。
-
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 为的批处理作业中us-west-2
调用OpenAI检索批处理作业 API batch_abc123
。
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 为的批处理作业中us-west-2
调用OpenAI检索批处理 API batch_abc123
。
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。
要查看使用不同方法的 C OpenAI ancel batch 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 为的批处理作业us-west-2
上调用 “OpenAI取消批处理作业 API” batch_abc123
。
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 为的批处理作业中us-west-2
调用OpenAI取消批处理 API batch_abc123
。
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123/cancel' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'