

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

# 为多模式内容创建知识库
<a name="kb-multimodal-create"></a>

您可以使用控制台或 API 创建多模式知识库。根据您的多式联运处理需求选择您的方法。

**重要**  
多模式支持仅在创建包含非结构化数据源的知识库时可用。结构化数据源不支持多模式内容处理。

------
#### [ Console ]

**从控制台创建多模式知识库**

1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS 管理控制台 然后，在 [https://console.aws.amazon.com/](https://console.aws.amazon.com/bedrock)bedrock 上打开 Amazon Bedrock 控制台。

1. 在左侧导航窗格中，选择**知识库**。

1. 在**知识库**部分中，选择**创建**，然后选择**带有向量存储的知识库**。

1. （可选）在**知识库详细信息**下方，更改默认名称并为知识库提供描述。

1. 在 **IAM 权限**下，选择一个能够向 Amazon Bedrock 授予对其他所需 AWS 服务的访问权限的 IAM 角色。您可以让 Amazon Bedrock 为您创建服务角色，也可以选择使用自己的自定义角色。有关多模式权限，请参阅[多模式内容的权限](kb-permissions.md#kb-permissions-multimodal)。

1. 选择 **Amazon S3** 作为您的数据源，然后选择 “**下一步**” 来配置您的数据源。
**注意**  
在创建知识库期间，您最多可以添加 5 个 Amazon S3 数据源。创建知识库后，可以添加其他数据源。

1. 提供包含您的多式联运内容的存储桶的 **S3 URI**，并根据需要配置包含前缀。包含前缀是一个文件夹路径，可用于限制要摄取的内容。

1. 在 “**分块和解析配置**” 下，选择您的解析策略：
   + **Bedrock 默认解析器：**推荐用于纯文本内容处理。该解析器处理常见的文本格式，同时忽略多模态文件。支持文本文档，包括 Word、Excel、HTML、Markdown、TXT 和 CSV 文件。
   + **基岩数据自动化 (BDA)：**将多模式内容转换为可搜索的文本表示形式。处理图像 PDFs、音频和视频文件以提取文本、生成视觉内容描述以及为音频和视频内容创建转录。
   + **基础模型解析器：**为复杂的文档结构提供高级解析功能。处理图像 PDFs、结构化文档、表格和视觉丰富的内容，以提取文本并生成视觉元素的描述。

1. 选择 “**下一步**”，然后选择您的嵌入模型和多模态处理方法。
   + **Amazon Nova 多模态嵌入 V1.0：选择** A **mazon Nova 嵌入 V1.0** 进行直接的视觉和音频相似度搜索。配置音频和视频区块持续时间（1-30 秒，默认为 5 秒），以控制内容的分段方式。
**注意**  
音频和视频分块参数是在嵌入模型级别配置的，而不是在数据源级别配置的。如果您为非多模态嵌入模型提供此配置，则会发生验证异常。配置音频和视频区块持续时间（默认值：5 秒，范围：1-30 秒），以控制内容的分段方式。较短的区块可以实现精确的内容检索，而较长的区块可以保留更多的语义上下文。
**重要**  
Amazon Nova 嵌入 v1.0 对在 audio/video 数据中搜索语音内容的支持有限。如果你需要支持语音，可以使用 Bedrock 数据自动化作为解析器。
   + **使用 BDA 进行文本嵌入：使用 BDA** 处理时选择文本嵌入模型（例如 Titan 文本嵌入 v2）。文本嵌入模型将检索限制为纯文本内容，但您可以通过选择 Amazon Bedrock 数据自动化或基础模型作为解析器来启用多模式检索。
**注意**  
如果你将 BDA 解析器与 Nova 多模态嵌入一起使用，Amazon Bedrock 知识库将首先使用 BDA 解析。在这种情况下，嵌入模型不会为图像、音频和视频生成原生多模态嵌入，因为 BDA 会将这些嵌入转换为文本表示。

1. 如果使用 Nova 多模态嵌入，请通过指定用于**存储已处理文件以供检索的 Amazon S3 存储桶来配置多模式存储目标**。知识库会将解析后的图像存储到单个 Amazon S3 存储桶中，其文件夹创建为.bda，便于访问。
**生命周期策略建议**  
使用 Nova 多模式嵌入时，Amazon Bedrock 会将瞬态数据存储在您的多模式存储目标中，并在处理完成后尝试将其删除。我们建议在临时数据路径上应用生命周期策略，以确保正确清理。有关详细说明，请参阅[使用 Amazon S3 生命周期策略管理临时数据](kb-multimodal-troubleshooting.md#kb-multimodal-lifecycle-policy)。

1. 在**矢量数据库**部分，选择矢量存储方法，并根据所选的嵌入模型配置适当的维度。

1. 选择**下一步**并查看知识库配置的详细信息，然后选择**创建知识库**。

------
#### [ CLI ]

**要创建多式联运知识库，请使用 AWS CLI**
+ 使用 Nova 多模态嵌入创建知识库。发送[https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)请求：

  ```
  aws bedrock-agent create-knowledge-base \
  --cli-input-json file://kb-nova-mme.json
  ```

  的内容`kb-nova-mme.json`（用您的特定配置替换占位符值）：

  ```
  {
      "knowledgeBaseConfiguration": {
          "vectorKnowledgeBaseConfiguration": {
              "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-multimodal-embeddings-v1:0",
              "supplementalDataStorageConfiguration": {
                  "storageLocations": [
                      {
                          "type": "S3",
                          "s3Location": {
                              "uri": "s3://<multimodal-storage-bucket>/"
                          }
                      }
                  ]
              }
          },
          "type": "VECTOR"
      },
      "storageConfiguration": {
          "opensearchServerlessConfiguration": {
              "collectionArn": "arn:aws:aoss:us-east-1:<account-id>:collection/<collection-id>",
              "vectorIndexName": "<index-name>",
              "fieldMapping": {
                  "vectorField": "<vector-field>",
                  "textField": "<text-field>",
                  "metadataField": "<metadata-field>"
              }
          },
          "type": "OPENSEARCH_SERVERLESS"
      },
      "name": "<knowledge-base-name>",
      "description": "Multimodal knowledge base with Nova Multimodal Embeddings"
  }
  ```

  替换以下占位符：
  + `<multimodal-storage-bucket>`-用于存储多模式文件的 S3 存储桶
  + `<account-id>`-您的 AWS 账户编号
  + `<collection-id>`- OpenSearch 无服务器集合 ID
  + `<index-name>`- OpenSearch 集合中的矢量索引名称（为所选嵌入模型配置了适当的尺寸）
  + `<vector-field>`-用于存储嵌入内容的字段名称
  + `<text-field>`-用于存储文本内容的字段名称
  + `<metadata-field>`-用于存储元数据的字段名称

------