让 Amazon Bedrock 知识库理解视频:用 Marengo 3.0 做多媒体语义搜索

2026-09-11 31 预计阅读时间: 1 分钟
来源: aws.amazon.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:11 分钟

过去,知识库检索通常围绕 PDF、网页和纯文本展开。现在,TwelveLabs Marengo Embed 3.0 已在 Amazon Bedrock Knowledge Bases 中正式可用,应用可以用自然语言搜索视频、图片和音频内容,而不必先为每种媒体单独搭建一套索引服务。

这项能力的价值不只是"给视频加个向量"。它把媒体内容纳入了知识库的检索链路:数据进入存储桶后,经过解析和向量化,应用再用一个问题检索与语义最相关的媒体片段。

Marengo 3.0 适合解决什么问题

传统关键词搜索很容易错过这样的内容:

  • 用户搜索"有人在仓库里演示叉车安全检查",但视频标题只有一个编号;
  • 用户想找"海浪拍打黑色礁石的镜头",描述并没有明确写在文件名中;
  • 支持团队需要定位一段讲解故障排查的录音或培训视频。

Marengo 3.0 的定位是多媒体嵌入模型。结合 Amazon Bedrock Knowledge Bases 后,开发者可以把视频、图片和音频作为知识源的一部分,并通过自然语言查询这些内容。具体的文件格式、大小限制、区域可用性和知识库配置选项,应以当前 AWS 控制台和服务文档为准。

这里有一个重要边界:向量检索返回的是语义上相关的结果,不等于它已经完成了精确的时间码级事实核验。对合规审计、医疗判断或安全控制等场景,仍应保留原始媒体、人工复核和必要的转录或元数据。

一条典型的媒体检索链路

可以把流程拆成四步:

  1. 准备媒体源:把视频、图片或音频放入 Amazon S3,并按照项目需要划分目录。
  2. 创建知识库:在 Amazon Bedrock Knowledge Bases 中选择支持 Marengo 3.0 的配置,并连接数据源和向量存储。
  3. 同步数据:让知识库读取数据源、处理媒体并生成可检索的表示。
  4. 执行查询:应用把自然语言问题发送给 Retrieve API,再根据返回的相关结果展示媒体、片段或交给生成模型总结。

在实际项目中,S3 路径最好承载稳定的业务元数据,例如部门、项目、拍摄日期和访问级别。这样可以在语义相关性之外,再叠加过滤条件和权限控制。不要把"检索到了"直接等同于"当前用户有权查看"。

创建知识库时要关注的配置

在控制台中创建或更新知识库时,可以重点检查下面几项:

  • 模型与区域:确认 Marengo Embed 3.0 在目标 AWS 区域可用,并完成相应的模型访问配置。
  • 数据源同步:新文件不会自动代表已经进入可检索索引;完成首次同步或增量同步后再进行验收。
  • 向量存储:确认所选向量数据库、索引维度和知识库集成方式由当前 Bedrock 配置支持。
  • 权限:为知识库服务角色授予读取 S3、访问向量存储以及调用所需模型的最小权限。
  • 媒体元数据:在对象键、伴随 JSON 或数据源字段中保存业务标识,便于后续过滤和审计。

如果是第一次验证,建议只放入一小批媒体:几段主题明显不同的视频、若干图片和一两个音频文件。先确认查询能区分内容,再扩大数据规模。

可复制的 Retrieve API 查询

下面的 AWS CLI 示例假设你已经完成知识库创建、数据源同步,并且拥有对应的知识库 ID。把 KB_ID 和查询文本替换成自己的值后即可改造使用。该命令调用 Bedrock Agent Runtime 的检索接口,返回与问题相关的结果和元数据。

export AWS_REGION=us-east-1
export KB_ID=xxxxxxxxxx

aws bedrock-agent-runtime retrieve \
  --region "$AWS_REGION" \
  --knowledge-base-id "$KB_ID" \
  --retrieval-query '{"text":"Find the video segment showing a technician checking a forklift before operation"}' \
  --retrieve-configurations '{"vectorSearchConfiguration":{"numberOfResults":5}}'

如果查询对象是中文,可以直接使用中文问题:

aws bedrock-agent-runtime retrieve \
  --region "$AWS_REGION" \
  --knowledge-base-id "$KB_ID" \
  --retrieval-query '{"text":"查找演示叉车作业前安全检查的视频片段"}' \
  --retrieve-configurations '{"vectorSearchConfiguration":{"numberOfResults":5}}' \
  --output json

命令中的 numberOfResults 不是越大越好。结果太多会增加后续处理成本,也可能把相似但不够准确的媒体带进上下文。可以从 5 或 10 开始,用一组人工标注的问题评估召回率和误召回率,再调整数量。

在应用中消费检索结果

应用通常不会把 Retrieve 返回的原始 JSON 原样交给用户,而是抽取位置、来源和元数据,生成可点击的结果卡片。下面是一个使用 boto3 的最小示例;它假设 AWS 凭证已通过环境变量、配置文件或 IAM 角色提供。

import os
import boto3

client = boto3.client("bedrock-agent-runtime", region_name=os.environ.get("AWS_REGION", "us-east-1"))

response = client.retrieve(
    knowledgeBaseId=os.environ["KB_ID"],
    retrievalQuery={"text": "查找展示仓库安全检查流程的视频"},
    retrievalConfiguration={
        "vectorSearchConfiguration": {
            "numberOfResults": 5
        }
    },
)

for index, item in enumerate(response.get("retrievalResults", []), start=1):
    print(f"[{index}] score={item.get('score')}")
    print("content:", item.get("content", {}).get("text", ""))
    print("location:", item.get("location"))
    print("metadata:", item.get("metadata", {}))
    print()

示例中的结果结构和媒体位置字段可能随服务配置、SDK 版本及数据源类型变化。上线前应针对实际返回值做 schema 适配,不要把示例中的字段结构当成所有媒体类型都完全相同。

如果应用还需要回答"这段视频讲了什么",可以采用检索增强生成模式:先用 Retrieve 找到候选媒体和元数据,再将允许使用的文本描述、转录内容或经过处理的片段交给生成模型。媒体检索负责缩小范围,生成模型负责组织答案;两者的权限和日志应分开设计。

评估时不要只问“能不能搜到”

媒体搜索的验收集至少应覆盖三类问题:

  • 直接描述:问题明确描述画面、声音或事件。
  • 同义改写:用不同说法表达同一个目标,检查语义检索是否稳定。
  • 负面查询:查询一个库中不存在的场景,观察系统是否会返回看似相近的内容。

对每个问题记录期望媒体、实际排名、用户是否点击,以及最终答案是否引用了正确来源。还应测试重复文件、低质量素材、背景噪声、多人说话和跨语言查询。一个能在演示数据上工作的索引,不一定能在真实媒体库中保持同样效果。

落地清单与取舍

Marengo 3.0 适合把媒体搜索从文件名和标签,推进到内容语义层面。采用前可以按下面的清单检查:

  • [ ] 目标区域支持所需模型和知识库能力;
  • [ ] S3 数据组织、知识库服务角色和访问权限已明确;
  • [ ] 首次同步和增量同步都有可观测性;
  • [ ] 已准备包含正例和负例的评估问题集;
  • [ ] 检索结果与用户权限做了独立校验;
  • [ ] 对原始媒体、转录、向量和查询日志制定了保留策略;
  • [ ] 对误检、漏检和生成模型幻觉保留人工复核路径。

最稳妥的起步方式不是一次导入全部媒体,而是选一组业务价值明确、权限边界清楚的内容,先打通同步、检索和结果展示,再根据评估数据决定是否扩大规模。


相关推荐