You need to enable JavaScript to run this app.
AI 数据湖服务

AI 数据湖服务

复制全文
多模态向量化
图文 embedding(豆包系列模型)
复制全文
图文 embedding(豆包系列模型)

算子介绍

描述

多模态向量生成处理器

核心功能

  • 多模态向量化支持:支持图像/视频与文本的联合向量生成,实现跨模态检索能力,参考文档
  • 输入格式自适应:
    • 原生支持图像/视频的base64编码、二进制数据、URL等输入格式
    • 自动处理媒体格式转换(JPEG/PNG/MP4/AVI等)
  • 模型名称:doubao-embedding-vision

输入输出规范

  • 输入格式:
    • 图片/视频数据/文本数据:string类型,支持base64编码/url地址
  • 输出格式:
    • 默认模式:float数组类型的向量表示

注意与前提

细分项

注意与前提

费用

调用算子前,您需先了解使用算子时的模型调用费用,详情请参见大模型调用计费

鉴权(API Key)

调用算子前,您需要先生成算子调用的API Key,并建议将API Key配置为环境变量,便于更安全地调用算子,详情请参见获取 API Key 并配置

BaseURL

调用算子前,您需要先根据您当前使用的LAS服务所在地域,了解算子调用的BaseURL,用于配置算子调用路径参数取值。
详情请参见获取 Base URL,下文中的调用示例仅作为参考,实际调用时需替换为您对应地域的路径取值。

API调用

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 返回的格式。取值范围: floatbase64null。默认为 float

dimensions

integer

2048

用于指定输出的向量维度。此参数仅doubao-embedding-vision-250615及后续版本支持。
取值范围:10242048 。默认为 2048

instructions

string

推理提示词,用户传入时直接使用,未传入时按输入模态生成默认值。详情请参见配置instructions

sparse_embedding

object

稀疏向量开关配置,仅纯文本输入支持配置此字段。取值范围:

  • type="disabled":仅输出稠密向量,不输出稀疏向量;
  • type="enabled":同时输出稠密向量和稀疏向量。

返回数据

参数

类型

示例值

说明

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"时返回;每个成员为 {"index": 维度索引, "value": 非零值} 结构,仅返回非零元素。

object

string

embedding

固定为 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 量。
为保证模型效果,当图片或视频传入时,会生成少量的预设文本 token,产生额外的 text_tokens。

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
        }
    }
}

Daft 调用

算子参数

输入

输入列名

说明

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… │
    # ╰────────────────────────────────┴────────┴────────────────────────────────┴────────────────────────────────┴────────────────────────────────╯
最近更新时间:2026.01.29 20:16:09
这个页面对您有帮助吗?
有用
有用
无用
无用