TwelveLabs Marengo Embed 2.7
TwelveLabs Marengo Embed 2.7 模型可从视频、文本、音频或图像输入生成嵌入。这些嵌入可用于相似性搜索、聚类及其他机器学习任务。
提供商 – TwelveLabs
模型 ID – twelvelabs.marengo-embed-2-7-v1:0
TwelveLabs Marengo Embed 2.7 模型支持下表中列出的 Amazon Bedrock 运行时操作。
-
有关不同 API 方法的使用案例的更多信息,请参阅了解不同模型推理方法的使用案例。
-
有关模型类型的更多信息,请参阅 Amazon Bedrock 中推理的工作原理。
-
要查看模型 ID 列表以及支持 TwelveLabs Marengo Embed 2.7 的模型和 AWS 区域,请在 Amazon Bedrock 中支持的根基模型的表中搜索模型。
-
有关推理配置文件 ID 的完整列表,请参阅支持推理配置文件的区域和模型。推理配置文件 ID 基于 AWS 区域。
-
注意
使用 InvokeModel 可为搜索查询生成嵌入。使用 StartAsyncInvoke 可为大规模资源生成嵌入。
以下配额适用于输入:
| 输入模态 | 最大值 |
|---|---|
| 文本 | 77 个令牌 |
| 图像 | 5MB |
| 视频(S3) | 2 GB |
| 音频(S3) | 2 GB |
注意
如果您使用 base64 编码以内联方式定义音频或视频,请确保请求正文有效载荷不超过 Amazon Bedrock 的 25 MB 模型调用配额。
TwelveLabs Marengo Embed 2.7 请求参数
当您发出请求时,指定模型特定输入的字段因 API 操作而异:
-
InvokeModel – 在请求
body中。 -
StartAsyncInvoke – 在请求正文的
modelInput字段中。
模型输入的格式取决于输入模态:
展开以下各个部分,查看有关输入参数的详细信息:
嵌入的模态。
类型:字符串
必需:是
-
有效值:
video|text|audio|image
要嵌入的文本。
类型:字符串
必需:是(适用于兼容的输入类型)
-
兼容的输入类型:文本
指定平台如何截断文本。
类型:字符串
必需:否
有效值:
-
end– 截断文本的结尾。 -
none– 如果文本超过限制,则返回错误
-
默认值:end
-
兼容的输入类型:文本
包含有关媒体源的信息。
类型:对象
必需:是(如果是兼容的类型)
-
兼容的输入类型:图像、视频、音频
请求正文中 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-text- 已针对文本搜索优化的视觉对象嵌入。 -
visual-image- 已针对图像搜索优化的视觉对象嵌入。 -
audio– 视频中的音频嵌入。
-
默认值:[“visual-text”、“visual-image”、“audio”]
-
兼容的输入类型:视频、音频
剪辑中应开始处理的时间点(以秒为单位)。
类型:双精度
必需:否
最小值:0
默认值 — 0
-
兼容的输入类型:视频、音频
从 startSec 时间点起算,经过该时长(以秒为单位)后,处理应停止。
类型:双精度
必需:否
有效值:0 - 媒体时长
默认值:媒体时长
-
兼容的输入类型:视频、音频
例如:
-
startSec:5
-
lengthSec:20
-
结果:剪辑的处理时间为 0:05 至 0:20。
模型应为每个剪辑生成嵌入的时长。
类型:双精度
必需:否
取值参数:2 - 10。必须大于或等于
minClipSec。默认值:取决于媒体类型:
-
视频:通过镜头边界检测动态划分剪辑。
-
音频:均匀划分剪辑,每个剪辑时长尽可能接近 10 秒。例如:
-
50 秒的剪辑将被划分为 5 个 10 秒的片段。
-
16 秒的剪辑将被划分为 2 个 8 秒的片段。
-
-
-
兼容的输入类型:视频、音频
注意:必须大于或等于
minClipSec。
设置每个剪辑的最小值(以秒为单位)。
类型:int
必需:否
取值参数:范围:1-5
默认值:4
-
兼容的输入类型:视频
注意:必须小于或等于
useFixedLengthSec。
TwelveLabs Marengo Embed 2.7 响应
输出嵌入和关联元数据的位置取决于调用方法:
-
InvokeModel - 位于响应正文中。
-
StartAsyncInvoke - 在异步调用作业完成后,位于
s3OutputDataConfig中定义的 S3 存储桶中。
如果有多个嵌入向量,则输出将为一个对象列表,每个对象均包含一个向量及其关联的元数据。
输出嵌入向量的格式如下所示:
{ "embedding": ["string"], "embeddingOption": "visual-text" | "visual-image" | "audio", "startSec":double, "endsec":double}
展开以下各个部分,查看有关响应参数的详细信息:
输入的嵌入向量表示。
类型:双精度数列表
嵌入的类型。
类型:字符串
可能的值:、、、、、。
-
visual-text- 已针对文本搜索优化的视觉对象嵌入。 -
visual-image- 已针对图像搜索优化的视觉对象嵌入。 -
audio– 视频中的音频嵌入。
-
-
兼容的输入类型:视频
剪辑的起始偏移量。
类型:双精度
-
兼容的输入类型:视频、音频
剪辑的结束偏移量(以秒为单位)。
类型:双精度
-
兼容的输入类型:视频、音频
TwelveLabs Marengo Embed 2.7 代码示例
此部分介绍如何通过 Python 将 TwelveLabs Marengo Embed 2.7 模型与不同的输入类型结合使用。
注意
目前,InvokeModel 仅支持文本和图像输入。
按以下步骤操作来整合代码:
1. 定义特定于模型的输入
根据输入类型定义特定于模型的输入:
2. 使用模型输入运行模型调用
然后,添加与所选模型调用方法对应的代码片段。