多模态向量生成处理器
细分项 | 注意与前提 |
|---|---|
费用 | 调用算子前,您需先了解使用算子时的模型调用费用,详情请参见大模型调用计费。 |
鉴权(API Key) | 调用算子前,您需要先生成算子调用的API Key,并建议将API Key配置为环境变量,便于更安全地调用算子,详情请参见获取 API Key 并配置。 |
BaseURL | 调用算子前,您需要先根据您当前使用的LAS服务所在地域,了解算子调用的BaseURL,用于配置算子调用路径参数取值。 |
POST https://operator.las.cn-beijing.volces.com/api/v1/embeddings/multimodal
调用该算子进行图文向量化。
参数 | 类型 | 必填 | 示例值 | 说明 |
|---|---|---|---|---|
model | string | 是 | doubao-embedding-vision | 模型名称,仅支持 doubao-embedding-vision |
input | list of object | 是 | 需要向量化的内容列表。具体信息请参考 多模态向量化 API 请求参数里的input参数 | |
encoding_format | string | 否 | float | embedding 返回的格式。取值范围: |
dimensions | integer | 否 | 2048 | 用于指定输出的向量维度。此参数仅doubao-embedding-vision-250615及后续版本支持。 |
instructions | string | 否 | 推理提示词,用户传入时直接使用,未传入时按输入模态生成默认值。详情请参见配置instructions 。 | |
sparse_embedding | object | 否 | 稀疏向量开关配置,仅纯文本输入支持配置此字段。取值范围:
|
参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
id | string | 021743575029461acbe49a31755bec77b2f09448eb15fa9a88e47 | 本次请求的唯一标识 。 |
model | string | doubao-embedding-vision-250615 | 本次请求实际使用的模型名称和版本。 |
created | integer | 1743575029 | 本次请求创建时间的 Unix 时间戳(秒)。 |
object | string | list | 固定为 list。 |
data | embedding_result | 本次请求的算法输出内容。 | |
embedding | list of float | 对应内容的向量化结果。 | |
sparse_embedding | list of object | 稀疏向量,仅sparse_embedding.type="enabled"时返回;每个成员为 | |
object | string | embedding | 固定为 |
usage | token_usage | 本次请求的 token 用量。 | |
prompt_tokens | integer | 13987 | 输入内容 token 数量。 |
total_tokens | integer | 20000 | 本次请求消耗的总 token 数量(输入 + 输出)。 |
prompt_tokens_details | tokens_details | 输入的内容使用 token 量的细节信息。 | |
text_tokens | integer | 187 | 输入内容中,文本内容对应的 token 量,以及视频内容时间轴产生的 token 量。 |
image_tokens | integer | 13800 | 输入内容中,图片内容以及视频内容抽帧图片对应的 token 量。 |
curl --location "https://operator.las.cn-beijing.volces.com/api/v1/embeddings/multimodal" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $LAS_API_KEY" \ --data '{ "model": "doubao-embedding-vision-250615", "encoding_format": "float", "input": [ { "type": "image_url", "image_url": { "url": "https://las-ai-cn-beijing-baseline.tos-cn-beijing.volces.com/operator_cards_serving/public/baseline/doubao_embedding_vision/cat_ip_adapter.jpeg" } }, { "type": "text", "text": "图片里有什么" } ] }'
{ "id": "021764041607868c64dcafb5669f61b8aa56083c290255748bdbb", "created": "1764041608", "model": "doubao-embedding-vision-250615", "object": "list", "data": { "object": "embedding", "embedding": [ 0.0002918243408203125, -0.0189208984375, -0.003814697265625, 0.058349609375, -0.002838134765625, 0.032958984375, "..." ] }, "usage": { "prompt_tokens": 1335, "total_tokens": 1335, "prompt_tokens_details": { "text_tokens": 23, "image_tokens": 1312 } } }
输入列名 | 说明 |
|---|---|
media_datas | 传入待处理的图片或视频数据、文本数据。图片或视频数据支持传入base64编码或url、bytes;文本数据支持传入文本数据。输入文本数据,则对文本数据进行向量化。 |
text_contents | 图文向量化场景下,通过media_datas字段传入图片或者视频,通过text_contents字段传入文本数据。 输入给模型的文本内容,需要满足一下条件 单条文本以 utf-8 编码,长度不超过 100,000 字节。 单条文本不超过模型的最大输入 token 数为 8k。 |
返回模型处理后的向量化数组。类型为list[float]
如参数没有默认值,则为必填参数
参数名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
model | str | doubao-embedding-vision | |
version | str or None | 模型版本 输入模型对应的版本信息。示例 250115 | |
api_key | str or None | ||
multimodal_type | str | image | 媒体内容类型 指定处理的是图像还是视频,默认是 image。可选值: - image: 图片 - video: 视频 - text: 文本 |
image_format | str | jpeg | 图片编码格式 支持格式有:JPEG、PNG、WEBP、BMP、TIFF、ICO、DIB、ICNS、SGI、JPEG2000。其中,TIFF、 SGI、ICNS、JPEG2000 格式图片。 |
video_format | str | mp4 | 视频编码格式 配置视频格式,默认是mp4。支持的视频格式:MP4、AVI、MOV。 可以参考官网文档给定的格式。 |
source_type | str | url | 数据来源类型 指定媒体数据的来源格式,默认 url。可选值: - binary: 原始二进制数据 - base64: Base64编码数据 - url: 网络资源地址(支持 http/https/tos) |
encoding_format | str or None | embedding的编码格式 支持的编码格式有: float、base64 | |
dimensions | int | 2048 | embedding的维度 用于指定输出的向量维度。此参数仅doubao-embedding-vision-250615及后续版本支持,历史版本可以参见向量降维. 取值范围: 1024 或 2048。默认值 2048 |
request_timeout | int | 1200 | 超时时间 单次请求的超时时间(秒) |
max_concurrency | int | 100 | 并发数 每个进程的最大并发数. |
下面的代码展示了如何使用 daft访问火山方舟图像向量化模型进行向量化计算。
from __future__ import annotations import os import daft from daft import col from daft.las.functions.ark_llm.doubao_embedding_vision import DoubaoEmbeddingVision from daft.las.functions.udf import las_udf if os.getenv("DAFT_RUNNER", "native") == "ray": import logging import ray def configure_logging(): logging.basicConfig( level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S.%s".format(), ) logging.getLogger("tracing.span").setLevel(logging.WARNING) logging.getLogger("daft_io.stats").setLevel(logging.WARNING) logging.getLogger("DaftStatisticsManager").setLevel(logging.WARNING) logging.getLogger("DaftFlotillaScheduler").setLevel(logging.WARNING) logging.getLogger("DaftFlotillaDispatcher").setLevel(logging.WARNING) ray.init(dashboard_host="0.0.0.0", runtime_env={"worker_process_setup_hook": configure_logging}) daft.context.set_runner_ray() daft.set_execution_config(min_cpu_per_task=0) if __name__ == "__main__": # 需配置环境变量 LAS_API_KEY : LAS_API_KEY 通过在 LAS 服务页面上创建获取 tos_dir_url = os.getenv("TOS_DIR_URL", "las-cn-beijing-public-online.tos-cn-beijing.volces.com") samples = { "image_path": [ f"https://{tos_dir_url}/public/shared_image_dataset/cat_ip_adapter.jpeg" ], "text": ["猫"], } df = daft.from_pydict(samples) # 计算图片和文本的向量化数据 df = df.with_column( "embeeding_for_image_text", las_udf( DoubaoEmbeddingVision, construct_args={ "image_format": "jpeg", }, )(col("image_path"), col("text")), ) # 计算图片向量化数据 df = df.with_column( "embeeding_for_image", las_udf( DoubaoEmbeddingVision, construct_args={ "image_format": "jpeg", }, )(col("image_path")), ) # 计算文本向量化数据 df = df.with_column( "embeeding_for_text", las_udf( DoubaoEmbeddingVision, construct_args={ "multimodal_type": "text", }, )(col("text")), ) df.show() # 输出(每次大模型推理结果可能不同) # ╭────────────────────────────────┬────────┬────────────────────────────────┬────────────────────────────────┬────────────────────────────────╮ # │ image_path ┆ text ┆ embeeding_for_image_text ┆ embeeding_for_image ┆ embeeding_for_text │ # │ --- ┆ --- ┆ --- ┆ --- ┆ --- │ # │ String ┆ String ┆ List[Float32] ┆ List[Float32] ┆ List[Float32] │ # ╞════════════════════════════════╪════════╪════════════════════════════════╪════════════════════════════════╪════════════════════════════════╡ # │ https://las-public-data-qa.to… ┆ 猫 ┆ [0.010437012, -0.009399414, -… ┆ [0.0076293945, -0.014404297, … ┆ [0.019165039, 0.007598877, -0… │ # ╰────────────────────────────────┴────────┴────────────────────────────────┴────────────────────────────────┴────────────────────────────────╯