

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

# 设置格式并上传批量推理数据
<a name="batch-inference-data"></a>

您必须将批量推理数据添加到在提交模型调用作业时要选择或指定的 S3 位置。S3 位置必须包含以下项目：
+ 至少一个定义模型输入的 JSONL 文件。一个包含 JSON 对象行的 JSONL。JSONL 文件必须以扩展名 .jsonl 结尾，并且为以下格式：

  ```
  { "recordId" : "alphanumeric string", "modelInput" : {JSON body} }
  ...
  ```

  每行都包含一个 JSON 对象，其中包含一个`recordId`字段和一个`modelInput`字段。`modelInput`JSON 对象的格式取决于您在[创建批量推理作业时选择的](batch-inference-create.md)模型调用类型。如果您使用`InvokeModel`类型（默认），则格式必须与您在`InvokeModel`请求中使用的模型的`body`字段相匹配（请参阅[基础模型的推理请求参数和响应字段](model-parameters.md)）。如果您使用`Converse`类型，则格式必须与 C [onverse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API 的请求正文相匹配。
**注意**  
如果您遗漏了 `recordId` 字段，Amazon Bedrock 会将其添加到输出中。
输出 JSONL 文件中记录的顺序，无法保证与输入 JSONL 文件中记录的顺序相匹配。
您可在创建[批量推理作业](batch-inference-create.md)时指定要使用的模型。
+ （如果您的输入内容包含 Amazon S3 位置）某些模型允许您将输入内容定义为 S3 位置。请参阅[Amazon Nova 的视频输入示例](#batch-inference-data-ex-s3)。
**警告**  
在提示 URIs 中使用 S3 时，所有资源必须位于相同的 S3 存储桶和文件夹中。该`InputDataConfig`参数必须指定包含所有链接资源（例如视频或图像）的文件夹路径，而不仅仅是单个`.jsonl`文件。请注意，S3 路径区分大小写，因此请确保与文件夹结构完全 URIs 匹配。

确保您的输入符合批量推理配额。您可以在 [Amazon Bedrock 服务配额](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#limits_bedrock)中搜索以下配额：
+ **每个批量推理作业的最小记录数** – 作业中所有 JSONL 文件的最小记录（JSON 对象）数量。
+ **每个批量推理作业每个输入文件的记录数** – 作业中单个 JSONL 文件内的最大记录（JSON 对象）数量。
+ **每个批量推理作业的记录数** – 作业中所有 JSONL 文件的最大记录（JSON 对象）数量。
+ **批量推理输入文件大小** – 作业中单个文件的最大大小。
+ **批量推理作业大小** – 所有输入文件的最大累计大小。

要更好地了解如何设置批量推理输入，请参阅以下示例：

## Anthropic Claude 3 Haiku 的文本输入示例
<a name="batch-inference-data-ex-text"></a>

如果您计划使用 Anthropic Claude 3 Haiku 模型的[消息 API](model-parameters-anthropic-claude-messages.md) 格式运行批量推理，则可以提供包含以下 JSON 对象行的 JSONL 文件：

```
{
    "recordId": "CALL0000001", 
    "modelInput": {
        "anthropic_version": "bedrock-2023-05-31", 
        "max_tokens": 1024,
        "messages": [ 
            { 
                "role": "user", 
                "content": [
                    {
                        "type": "text", 
                        "text": "Summarize the following call transcript: ..." 
                    } 
                ]
            }
        ]
    }
}
```

## Amazon Nova 的视频输入示例
<a name="batch-inference-data-ex-s3"></a>

如果您计划使用 Amazon Nova Lite 或 Amazon Nova Pro 模型对视频输入进行批量推理，则可以选择在 JSONL 文件中以字节为单位定义视频，或者提供 S3 位置。例如，您可能有一个 S3 存储桶，其路径为 `s3://batch-inference-input-bucket`，其中包含以下文件：

```
s3://batch-inference-input-bucket/
├── videos/
│   ├── video1.mp4
│   ├── video2.mp4
│   ├── ...
│   └── video50.mp4
└── input.jsonl
```

`input.jsonl` 文件中的示例记录如下所示：

```
{
    "recordId": "RECORD01",
    "modelInput": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "text": "You are an expert in recipe videos. Describe this video in less than 200 words following these guidelines: ..."
                    },
                    {
                        "video": {
                            "format": "mp4",
                            "source": {
                                "s3Location": {
                                    "uri": "s3://batch-inference-input-bucket/videos/video1.mp4",
                                    "bucketOwner": "111122223333"
                                }
                            }
                        }
                    }
                ]
            }
        ]
    }
}
```

创建批量推理作业时，必须在`InputDataConfig`参数`s3://batch-inference-input-bucket`中指定文件夹路径。Batch Inference 将处理此位置`input.jsonl`的文件以及任何引用的资源（例如`videos`子文件夹中的视频文件）。

以下资源提供了有关提交视频输入进行批量推理的更多信息：
+ 要了解如何在输入请求 URIs 中验证 Amazon S3，请参阅 [Amazon S3 网址解析博客](https://aws.amazon.com/blogs/devops/s3-uri-parsing-is-now-available-in-aws-sdk-for-java-2-x/)。
+ 有关如何使用 Nova 设置调用记录以实现视频理解的更多信息，请参阅[Amazon Nova视觉提示指南](https://docs.aws.amazon.com/nova/latest/userguide/prompting-vision-prompting.html)。

## 匡威输入示例
<a name="batch-inference-data-ex-converse"></a>

如果您在创建批量推理作业`Converse`时将模型调用类型设置为，则该`modelInput`字段必须使用 Converse API 请求格式。以下示例显示了 Converse 批量推理作业的 JSONL 记录：

```
{
    "recordId": "CALL0000001",
    "modelInput": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "text": "Summarize the following call transcript: ..."
                    }
                ]
            }
        ],
        "inferenceConfig": {
            "maxTokens": 1024
        }
    }
}
```

有关 Converse 请求正文中支持的字段的完整列表，请参阅 API 参考中的 [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html)。

以下主题介绍如何为某个身份设置 S3 访问权限和批量推理权限，使得该身份能够执行批量推理。