本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
TwelveLabs Marengo Embed 3.0
该TwelveLabs Marengo Embed 3.0模型根据视频、文本、音频或图像输入生成增强的嵌入效果。最新版本提高了相似度搜索、聚类和其他机器学习任务的性能和准确性。
提供商 – TwelveLabs
模型 ID – twelvelabs.marengo-embed-3-0-v1:0
Marengo Embed 3.0 提供了几项关键增强功能:
扩展的视频处理能力-最多可处理 4 小时的视频和音频内容。文件容量最高可达 6 GB,是先前版本的两倍。这使得它非常适合分析完整的体育赛事、扩展的训练视频和完整的电影制作。
增强的运动分析-该模型提供了显著的改进。它可以更好地了解游戏动态、玩家动作和事件检测。
全球多语言支持-将语言功能从 12 种扩展到 36 种语言。这使全球组织能够建立统一的搜索和检索系统,在不同的地区和市场上无缝运行。
多模态搜索精度-在单个嵌入请求中合并图像和描述性文本。这将视觉相似性与语义理解相结合,从而提供更准确且与上下文相关的搜索结果。
减少嵌入尺寸-从 1024 减少到 512,这有助于降低存储成本。
TwelveLabs Marengo Embed 3.0 模型支持下表中列出的 Amazon Bedrock 运行时操作。
-
有关不同 API 方法的使用案例的更多信息,请参阅了解不同模型推理方法的使用案例。
-
有关模型类型的更多信息,请参阅 Amazon Bedrock 中推理的工作原理。
-
要查看模型列表 IDs 以及中支持的模型和AWS区域TwelveLabs Marengo Embed 3.0,请在表格中搜索模型Amazon Bedrock 中支持的根基模型。
-
有关推理配置文件的完整列表 IDs,请参阅支持推理配置文件的区域和模型。推理配置文件 ID 基于AWS区域。
-
注意
使用 InvokeModel 可为搜索查询生成嵌入。使用 StartAsyncInvoke 可为大规模资源生成嵌入。
以下配额适用于输入:
| 输入模态 | 最大值 |
|---|---|
| 文本 | 500 个代币 |
| Image | 每张图片 5 MB |
| 视频(S3) | 6 GB,时长 4 小时 |
| 音频(S3) | 6 GB,时长 4 小时 |
注意
如果您使用 base64 编码以内联方式定义音频或视频,请确保请求正文有效载荷不超过 Amazon Bedrock 的 25 MB 模型调用配额。
TwelveLabs Marengo Embed 3.0 请求参数
当您发出请求时,指定模型特定输入的字段因 API 操作而异:
-
InvokeModel— 在请求中
body。 -
StartAsyncInvoke— 在请求正文的
modelInput字段中。
模型输入的格式取决于输入模态:
展开以下各个部分,查看有关输入参数的详细信息:
嵌入的模态。
类型:字符串
是否必需:是
-
有效值:
text|image|text_image|audio|video
要嵌入的文本。
类型:字符串
必需:是(适用于兼容的输入类型)
-
兼容的输入类型:文本
包含有关媒体源的信息。
类型:对象
必需:是(如果是兼容的类型)
-
兼容的输入类型:图像、视频、音频
请求正文中 mediaSource 对象的格式取决于媒体是定义为 Base64 编码的字符串还是 S3 位置。
-
Base64 编码的字符串
{ "mediaSource": { "base64String": "base64-encoded string" } }-
base64String– 媒体的 Base64 编码的字符串。
-
-
S3 位置-指定 S3 URI 和存储桶所有者。
{ "s3Location": { "uri": "string", "bucketOwner": "string" } }-
uri- 包含媒体的 S3 URI。 -
bucketOwner— S3 存储桶所有者的AWS账户 ID。
-
指定要检索的嵌入的类型。
类型:列表
必需:否
列表成员的有效值:
-
visual— 视频中的视觉嵌入内容。 -
audio– 视频中的音频嵌入。 -
transcription— 转录文本的嵌入。
-
-
默认值:
视频:[“视觉”、“音频”、“转录”]
音频:[“音频”,“转录”]
-
兼容的输入类型:视频、音频
指定要检索的嵌入的范围。
类型:列表
必需:否
列表成员的有效值:
-
clip— 返回每个片段的嵌入内容。 -
asset— 返回整个资源的嵌入内容。
-
-
兼容的输入类型:视频、音频
剪辑中应开始处理的时间点(以秒为单位)。
类型:双精度
必需:否
最小值:0
默认值:0
-
兼容的输入类型:视频、音频
处理应结束的时间点(以秒为单位)。
类型:双精度
必需:否
最小值:起始秒 + 分段长度
最大值:媒体持续时间
默认值:媒体时长
-
兼容的输入类型:视频、音频
定义如何将媒体划分为片段以进行嵌入生成。
类型:对象
必需:否
-
兼容的输入类型:视频、音频
分割对象包含method字段和特定于方法的参数:
-
method— 要使用的分割方法。有效值:dynamic|fixed -
dynamic— 对于视频,使用镜头边界检测来动态划分内容。包含:-
minDurationSec— 每个片段的最短持续时间(以秒为单位)。类型:整数。射程:1-5。默认值:4。
-
-
fixed— 将内容分成持续时间相等的片段。包含:-
durationSec— 每个片段的持续时间(以秒为单位)。类型:整数。射程:1-10。默认值:6。
-
默认行为:
-
视频:使用动态分割和镜头边界检测。
-
音频:使用固定分段。内容尽可能均匀地分割,片段接近10秒。
推理请求的唯一标识符。
类型:字符串
必需:否
TwelveLabs Marengo Embed 3.0 响应
输出嵌入和关联元数据的位置取决于调用方法:
-
InvokeModel — 在响应正文中。
-
StartAsyncInvoke — 在中定义的 S3 存储桶中
s3OutputDataConfig,在异步调用任务完成后。
如果有多个嵌入向量,则输出将为一个对象列表,每个对象均包含一个向量及其关联的元数据。
输出嵌入向量的格式如下所示:
{ "data": { "embedding": [ 0.111, 0.234, ... ], "embeddingOption": ["visual", "audio", "transcription" (for video input) | "audio", "transcription" (for audio input)], "embeddingScope": ["asset" | "clip"], "startSec": 0, "endSec": 4.2 } }
嵌入以浮点数组的形式返回。
您在何处看到此响应取决于您使用的 API 方法:
-
InvokeModel — 出现在响应正文中。
-
StartAsyncInvoke — 出现在您在请求中指定的 S3 位置。响应返回一个
invocationArn。您可以使用它来获取有关异步调用的元数据。这包括状态和写入结果的 S3 位置。
展开以下各个部分,查看有关响应参数的详细信息:
输入的嵌入向量表示。
类型:双精度数列表
嵌入的类型。
类型:字符串
可能的值:
-
visual — 视频中的视觉嵌入内容。
-
音频-在视频中嵌入音频。
-
转录-转录文本的嵌入。
-
-
兼容的输入类型:视频、音频
指定要检索的嵌入的范围。
类型:字符串
您可以包含以下一个或多个值:
-
clip:返回每个片段的嵌入内容。
-
asset:返回整个资产的嵌入内容。
剪辑的起始偏移量。
类型:双精度
-
兼容的输入类型:视频、音频
片段的末端偏移量。不适用于文本、图像和文本图像嵌入。
类型:双精度
-
兼容的输入类型:视频、音频
TwelveLabs Marengo Embed 3.0 代码示例
此部分介绍如何通过 Python 将 TwelveLabs Marengo Embed 3.0 模型与不同的输入类型结合使用。这些示例演示了如何定义特定于模型的输入和运行模型调用。
注意
InvokeModel 支持文本、图像和带有图像交错输入的文本。对于视频和音频输入,请使用 StartAsyncInvoke。
按以下步骤操作来整合代码:
1. 定义特定于模型的输入
根据输入类型定义特定于模型的输入:
2. 使用模型输入运行模型调用
然后,添加与所选模型调用方法对应的代码片段。