亚马逊AWS官方博客

TwelveLabs 视频理解模型现已在 Amazon Bedrock 中推出

今年年初,我们预先宣布即将在 Amazon Bedrock 中推出 TwelveLabs 视频理解模型。而现在,TwelveLabs 视频理解模型现已在 Amazon Bedrock 中正式推出。TwelveLabs 模型可用于精确、可靠地搜索视频、对场景执行分类、进行总结以及提取洞察。

TwelveLabs 推出了 Marengo,这款视频嵌入模型可以熟练地执行搜索和分类等任务,还推出了 Pegasus,这款视频语言模型能够根据视频数据来生成文本。这些模型在 Amazon SageMaker HyperPod 上接受了训练,实现了突破性的视频分析能力,可提供文本摘要、元数据生成和创意优化功能。

借助 Amazon Bedrock 中的 TwelveLabs 模型,您可以利用自然语言视频搜索功能来查找特定的时刻,比如“向我展示比赛的第一次触地得分”或者“找到主角们第一次见面的场景”,然后立即跳转到这些精确的时刻。您还可以通过生成描述性文本(例如标题、主题、话题标签、摘要、章节或重点内容)来构建应用程序,以便理解视频内容,从而发现洞察和关联,而无需使用预定义的标签或类别。

例如,您可以在客户反馈中找到反复出现的主题,或者发现以前未曾显现的产品使用模式。无论您拥有几百小时还是数千小时的视频内容,现在都可以将整个库转换成可搜索的知识资源,同时保持企业级安全性和高性能。

使用这些模型,您可以改造各行各业的视频工作流。媒体制作人和编辑人员可以立即找到特定的场景或对话,这意味着您可以专注于讲故事,而不是筛选数小时的镜头。营销团队正在快速对内容进行个性化以便让不同的受众产生共鸣,从而简化广告工作流,安全团队正在利用这项技术来发现多个视频源中的模式,以便主动识别潜在风险。

开始使用 Amazon Bedrock 中的 TwelveLabs 模型

如果您是第一次使用 TwelveLabs 模型,在开始之前,请转到 Amazon Bedrock 控制台,然后在左下方的导航窗格中选择模型访问权限。要访问最新的 TwelveLabs 模型,请申请对 TwelveLabs 中的 Marengo Embed 2.7Pegasus 1.2 的访问权限。

要使用 Amazon Bedrock 中的 TwelveLabs 模型,请在左侧导航窗格中选择测试下方的聊天/文本平台。选择选择模型,接下来选择 TwelveLabs 作为类别,选择 Pegasus 作为模型,然后选择应用

要搜索视频或从视频中生成文本,您应将视频上传到 Amazon Simple Storage Service(Amazon S3)存储桶中,或者输入 Base64 格式的视频字符串。

我将使用一个由 Amazon Nova Reel 生成的示例视频以及如下提示:“一只可爱的浣熊正在水下弹奏吉他”。

输入您上传的视频的 S3 URI 以及 S3 存储桶拥有者,然后运行您的提示:“按时间轴向我介绍视频”。

您可以获得如下模型响应:

视频首先显示一个水下场景,其中包含沙质海床和摇曳的海藻,营造出了宁静的氛围。在大约第 5 秒处,出现了一只浣熊,带着古怪的表情向镜头游了过来。在第 10 秒,人们会看到这只浣熊正在海床上游泳。随后,在第 11 秒到第 13 秒,焦点转向一群正在海床上悠哉悠哉地游泳的锦鲤。

在第 14 秒,场景过渡到一把摆放在海床上的夏威夷四弦琴,镜头放大,以便突出显示四弦琴的细节。这只浣熊在第 20 秒再次出现,被锦鲤簇拥着游泳,在第 23 秒,它开始弹奏四弦琴。在第 29 到第 41 秒,这只浣熊继续演奏四弦琴,锦鲤们在它周围游来游去,让水下环境变得既生机勃勃又多彩缤纷。

在第 42 到第 49 秒,人们会看到这只浣熊在弹奏四弦琴,锦鲤们在它周围游来游去。在第 50 秒到第 54 秒的视频结尾处,一个画面显示了“视频由 Amazon Novo Reel 1.1 生成”和“已在 Amazon Bedrock 中推出”,然后在第 55 秒到第 57 秒显示了 AWS 徽标。

使用 Amazon Bedrock Converse API 可以轻松将 TwelveLabs 模型集成到您的应用程序中,此 API 为对话式人工智能交互提供了统一的接口。

下面是一个有关如何将适用于 Python 的 AWS SDK(Boto3)与 TwelveLabs Pegasus 模型结合使用的示例:

import boto3
import json
import os

AWS_REGION = "us-east-1"
MODEL_ID = "twelvelabs.pegasus-1-2-v1:0"
VIDEO_PATH = "sample.mp4"

def read_file(file_path: str) -> bytes:
    """在二进制模式下读取一个文件。"""
    try:
        with open(file_path, 'rb') as file:
            return file.read()
    except Exception as e:
        raise Exception(f"Error reading file {file_path}: {str(e)}")

bedrock_runtime = boto3.client(
    service_name="bedrock-runtime",
    region_name=AWS_REGION
)

request_body = {
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "inputPrompt": "向我介绍视频",
                    "mediaSource: {
                        "base64String": read_file(VIDEO_PATH)
                    }
                },
            ],
        }
    ]
}

response = bedrock_runtime.converse(
    modelId=MODEL_ID,
    messages=request_body["messages"]
)

print(response["output"]["message"]["content"][-1]["text"])

TwelveLabs Marengo Embed 2.7 模型可以从输入的视频、文本、音频或图像中生成向量嵌入。这些嵌入可用于相似度搜索、集群以及其他机器学习(ML)任务。此模型支持通过 Bedrock AsyncInvokeModel API 进行异步推理。

对于视频来源,您可以使用 AsyncInvokeModel API 来请求适用于 TwelveLabs Marengo Embed 2.7 模型的 JSON 格式。

{
    "modelId": "twelvelabs.marengo-embed-2.7",
    "modelInput": {
        "inputType": "video",
        "mediaSource": {
            "s3Location": {
                "uri": "s3://your-video-object-s3-path",
                "bucketOwner": "your-video-object-s3-bucket-owner-account"
            }
        }
    },
    "outputDataConfig": {
        "s3OutputDataConfig": {
            "s3Uri": "s3://your-bucket-name"
        }
    }
}

您可以获得传送到指定 S3 位置的响应。

{
    "embedding": [0.345, -0.678, 0.901, ...],
    "embeddingOption": "visual-text",
    "startSec": 0.0,
    "endSec": 5.0
}

为帮助您开始使用,请查看面向多种使用案例和编程语言的多个代码示例。要了解更多信息,请访问 AWS 文档中的 TwelveLabs Pegasus 1.2TwelveLabs Marengo Embed 2.7

现已推出

TwelveLabs 模型现已在 Amazon Bedrock 中全面推出:Marengo 模型已在美国东部(弗吉尼亚州北部)、欧洲地区(爱尔兰)和亚太地区(首尔)等区域推出,Pegasus 模型已在美国西部(俄勒冈州)和欧洲地区(爱尔兰)等区域推出,可以从美国和欧洲区域进行跨区域推理。请查看完整区域列表,以了解未来的更新。要了解更多信息,请访问 Amazon Bedrock 中的 TwelveLabs 产品页面和 Amazon Bedrock 定价页面。

立即在 Amazon Bedrock 控制台中试用 TwelveLabs 模型,并向 AWS re:Post for Amazon Bedrock 或通过您常用的 AWS Support 联系人发送反馈。

Channy


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。