创建批量推理作业 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建批量推理作业

注意

批量推理目前为预览版,可能会发生变化。批量推理目前只能通过 API 使用。通过以下 SDK 访问批处理 API。

我们建议您创建一个虚拟环境来使用 SDK。由于最新的软件开发工具包中没有批量推理 API,因此我们建议您在安装带有批量推理 API 的版本之前,先从虚拟环境中卸载最新版本的 SDK。有关指导性示例,请参阅代码示例

Request format
POST /model-invocation-job HTTP/1.1 Content-type: application/json { "clientRequestToken": "string", "inputDataConfig": { "s3InputDataConfig": { "s3Uri": "string", "s3InputFormat": "JSONL" } }, "jobName": "string", "modelId": "string", "outputDataConfig": { "s3OutputDataConfig": { "s3Uri": "string" } }, "roleArn": "string", "tags": [ { "key": "string", "value": "string" } ] }
Response format
HTTP/1.1 200 Content-type: application/json { "jobArn": "string" }

要创建批量推理作业,请发送 CreateModelInvocationJob 请求。提供以下信息:

  • roleArn 中提供有权运行批量推理的角色的 ARN。

  • inputDataConfig 中提供包含输入数据的 S3 存储桶的信息,在 outputDataConfig 中提供要在其中写入信息的存储桶的信息。

  • modelId 中提供用于推理的模型的 ID(请参阅 Amazon Bedrock 基本模型 ID(按需吞吐量) )。

  • jobName 中提供作业名称。

  • (可选)在 tags 中提供要附加到作业的任何标签。

响应会返回 jobArn,您可以将其用于其他与批量推理相关的 API 调用。

您可以使用 GetModelInvocationJobListModelInvocationJobs API 检查作业的 status

作业状态为 Completed 后,您可以从您在 outputDataConfig 的请求中指定的 S3 存储桶中的文件中提取批量推理作业的结果。S3 存储桶包含以下文件:

  1. 包含模型推理结果的输出文件。

    • 如果输出的是文本,Amazon Bedrock 会为每个输入 JSONL 文件生成一个输出 JSONL 文件。输出文件包含模型针对每个输入的输出,格式如下。在推理出现错误的任何行中,error 对象都会替换 modelOutput 字段。modelOutput JSON 对象的格式与您在 InvokeModel 响应中使用的模型的 body 字段相匹配。有关更多信息,请参阅 根基模型的推理参数

      { "recordId" : "11 character alphanumeric string", "modelInput": {JSON body}, "modelOutput": {JSON body} }

      以下示例显示了可能的输出文件。

      { "recordId" : "3223593EFGH", "modelInput" : {"inputText": "Roses are red, violets are"}, "modelOutput" : {'inputTextTokenCount': 8, 'results': [{'tokenCount': 3, 'outputText': 'blue\n', 'completionReason': 'FINISH'}]}} { "recordId" : "1223213ABCD", "modelInput" : {"inputText": "Hello world"}, "error" : {"errorCode" : 400, "errorMessage" : "bad request" }}
    • 如果输出的是图像,Amazon Bedrock 会为每张图像生成一个文件。

  2. 包含批量推理作业摘要的 manifest.json.out 文件。

    { "processedRecordCount" : number, "successRecordCount": number, "errorRecordCount": number, "inputTextTokenCount": number, // For embedding/text to text models "outputTextTokenCount" : number, // For text to text models "outputImgCount512x512pStep50": number, // For text to image models "outputImgCount512x512pStep150" : number, // For text to image models "outputImgCount512x896pStep50" : number, // For text to image models "outputImgCount512x896pStep150" : number // For text to image models }