View a markdown version of this page

原生多模态处理 - Amazon Bedrock

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

原生多模态处理

通过原生多模式处理,托管的 Amazon Bedrock 知识库将每个文件直接发送到多模式嵌入模型。然后,该模型根据原始图像、音频和视频内容创建嵌入内容。

如果没有原生的多模态嵌入模型,知识库的工作方式会有所不同。首先,它会解析你的文件。然后,它将从中提取的文本分块。最后,它使用文本嵌入模型嵌入了这些块。

原生多模态处理会跳过解析和文本提取。因此,它保留了文本提取会丢失的视觉和音频细节。

要启用原生多模态处理,请在创建知识库时选择原生多模态嵌入模型。目前,TwelveLabs Marengo Embed 3.0(twelvelabs.marengo-embed-3-0-v1:0) 是唯一可以选择的模型。有关配置的说明,请参阅创建托管式知识库

原生多模态处理的工作原理

当您使用原生多模态嵌入模型配置知识库时,以下内容适用:

  • 仅支持解MULTI_MODAL_EMBEDDINGS析策略。您不能将原生多模态嵌入模型与其他解析策略结合使用。

  • 文件直接发送到嵌入模型。嵌入模型处理原始文件并根据其原生内容生成嵌入。

  • Text-based 不支持分块策略。由于您的文件未解析为文本,因此适用于文本的分块策略,例如默认分块和固定大小的分块,不适用。

  • 您可以为音频和视频配置分段。您可以选择知识库如何将音频和视频文件拆分为多个片段,而不是文本分块策略。使用modelConfiguration字段中的分段设置。有关更多信息,请参阅 创建托管式知识库

  • 仅支持模型支持的文件类型。使用原生多模态嵌入模型配置的知识库只能采集该模型接受的文件类型。有关TwelveLabs Marengo Embed 3.0支持的文件类型和其他设置,请参阅TwelveLabs Marengo 嵌入 3.0

  • 您必须提供多式联运存储目的地。为知识库提供 Amazon S3 位置以处理和采集您的内容。亚马逊 Bedrock 知识库会在您的存储桶中创建aws/前缀文件夹。使用与数据源存储桶不同的存储桶。有关服务角色所需的权限,请参阅您的多式联运存储目的地的权限

  • 仅支持 Retrieve API。您可以查询使用原生多模态嵌入模型进行Retrieve操作的知识库。不支持该RetrieveAndGenerate操作。

  • 查询必须是文本。您可以使用文本查询您的多模态内容。不支持图像查询。

有关该Retrieve操作为多模态结果返回的元数据以及如何获取匹配文件的详细信息,请参阅检索原生多模态知识库的响应

知识库如何调用嵌入模型

当您使用原生多模态嵌入模型时,您的知识库会同步和异步调用该模型。它在您提交查询时使用同步调用,在摄取您的内容时使用异步调用。您的服务角色需要两者的权限。有关要附加的策略的更多信息,请参阅访问 Amazon Bedrock 模型的权限

注意

在某些情况下 AWS 区域,该TwelveLabs Marengo Embed 3.0模型仅支持通过推理配置文件进行同步调用。异步调用仍使用按需模式。在这些区域中,在创建知识库时指定推理配置文件。然后,知识库使用推理配置文件和按需模型来处理您的内容。您的服务角色需要两者的权限。

要查看您TwelveLabs Marengo Embed 3.0使用的支持情况 AWS 区域 ,请参阅TwelveLabs Marengo 嵌入 3.0

使用 Amazon S3 生命周期策略管理临时数据

当 Amazon Bedrock 知识库处理您的内容时,它将瞬态数据存储在您的多模式存储目标中。处理完成后,它会尝试删除该数据。为确保数据过期,我们建议您对临时数据路径应用生命周期策略。

Console
使用控制台创建生命周期规则
  1. 打开 Amazon S3 控制台

  2. 导航到您为知识库配置的多模式存储目的地。

  3. 选择 管理” 选项卡,然后选择 “创建生命周期规则”

  4. 对于生命周期规则名称,输入Transient Data Deletion

  5. 在 “过滤器类型” 下,选择 “使用一个或多个过滤器限制此规则的范围”

  6. 在 P refix 中,输入知识库和数据源的瞬态数据路径。

    将以下前缀中的占位符值替换为您的实际标识符:

    aws/bedrock/knowledge_bases/knowledge-base-id/data-source-id/transient_data
    不要删除多模式内容

    不要将生命周期策略应用于整个存储桶或aws/前缀,因为这将删除您的多模态内容并可能导致处理失败。仅使用前面前缀示例中显示的临时数据路径。

  7. 生命周期规则操作下,选择使对象的当前版本过期

  8. 对于对象创建后的天数,输入1

  9. 选择 Create rule(创建规则)。

AWS CLI
要创建生命周期规则,请使用 AWS CLI
  1. 使用以下内容创建名lifecycle-policy.json为 JSON 文件,将占位符值替换为您的实际标识符:

    • knowledge-base-id— 您的知识库标识符

    • data-source-id— 您的数据源标识符

    { "Rules": [ { "ID": "TransientDataDeletion", "Status": "Enabled", "Filter": { "Prefix": "aws/bedrock/knowledge_bases/knowledge-base-id/data-source-id/transient_data" }, "Expiration": { "Days": 1 } } ] }
  2. 将生命周期政策应用于您的存储桶。amzn-s3-demo-bucket替换为您的多式联运存储桶的名称:

    aws s3api put-bucket-lifecycle-configuration \ --bucket amzn-s3-demo-bucket \ --lifecycle-configuration file://lifecycle-policy.json
  3. 验证生命周期策略是否已应用:

    aws s3api get-bucket-lifecycle-configuration \ --bucket amzn-s3-demo-bucket

有关 Amazon S3 生命周期策略的更多信息,请参阅 Amazon S3 用户指南中的管理对象生命周期