多模态向量

多模态向量(multi-modal-embedding) 基于Qwen2-VL多模态大型语言模型(MLLMs)训练的多模态向量服务,支持单一模态及多模态组合输入,能够高效处理文本、图像及组合类型的数据。

服务名称

模型ID(service_id)

维度

服务描述

API调用QPS限制(含主账号与RAM子账号)

M2-Encoder-多模态向量模型

ops-m2-encoder

768

中英双语多模态服务,基于60亿图文对数据(其中30亿为中文数据,30亿为英文数据)在BM-6B基础上训练而成。该模型支持图文跨模态检索(包括文本搜索图片和图片搜索文本),以及图片分类任务。

说明

不支持同一个doc同时输入textimage

10

说明

如需扩充QPS,请通过工单联系技术支持协助。

M2-Encoder-Large-多模态向量模型

ops-m2-encoder-large

1024

中英双语多模态服务,相比 m2-encoder 模型拥有更大的参数量,达到 1B(10亿参数),从而在多模态任务处理中具备更强的表达能力和性能表现。

说明

不支持同一个doc同时输入textimage

GME多模态向量-Qwen2-VL-2B

ops-gme-qwen2-vl-2b-instruct

1536

基于 Qwen2-VL 多模态大型语言模型(MLLMs) 训练的多模态向量服务,支持单一模态及多模态组合输入,能够高效处理文本、图像及组合类型的数据。

前提条件

  • 获取身份鉴权信息

    通过API调用AI搜索开放平台服务时,需要对调用者身份进行鉴权,如何获取鉴权信息请参见获取API-KEY

  • 获取服务调用地址

    支持通过公网和VPC两种方式调用服务,详情请参见获取服务接入地址

请求说明

公共说明

请求body最大不能超过8MB。

请求方式

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/multi-modal-embedding/{service_id} 

  • host:调用服务的地址,支持通过公网和VPC两种方式调用API服务,可参见获取服务接入地址

    AI apikey截图.png

  • workspace_name:工作空间名称,例如default。

  • service_id: 系统内置服务id,例如ops-m2-encoder。

请求参数

Header参数

API-KEY认证

参数

类型

必填

描述

示例值

Content-Type

String

请求类型:application/json

application/json

Authorization

String

API-Key

Bearer OS-d1**2a

Body参数

参数

类型

必填

描述

示例值

input

List[ContentObject]

支持多条信息输入,每次请求最多 32条。

[
  {
    "text":"科学技术是第一生产力"
  },
  {
    "image":"http://***/a.jpg"
  }
]

ContentObject

参数

类型

是否必填

描述

示例值

text

String

文本信息

{
  "text":"文本输入"
}

image

String

图片信息,支持URL、OSS路径或者base64 encode后的信息

  • 如果是URL,则必须是可以访问的。

  • 图片使用BASE64数据:将编码后的BASE64数据传递给image参数,格式为data:image/{format};base64,{base64_image},其中:

    image/{format}:本地图像的格式。请根据实际的图像格式,例如图片为jpg格式,则设置为image/jpeg。

    base64_image:图像的BASE64数据。

{
  "image":"http://xxxxx/a.jpg"
}

or

{
  "image":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCB..."
}

返回参数

参数

类型

描述

示例值

result.embeddings

List

本次请求的算法输出内容,是一个由结构组成的数组,每一个数组中包含一个对应的输入 text 的算法输出内容。

[
    {
      "index": 0,
      "embedding": [0.003143,0.009750,省略,-0.017395]
    },
    {}
]

result.embeddings[].index

Int

对应请求文本在input中的序号。

0

result.embeddings[].embedding

List[Double]

向量化结果。

[0.003143,0.009750,省略,-0.017395]

Curl请求示例

curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 您的API-KEY" \
"http://****-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/multi-modal-embedding/ops-m2-encoder" \
-d '{
"input":[
  {
    "image":"http://***/a.jpg"
  }
]
}'

响应示例

正常响应示例

{
    "request_id": "B4AB89C8-B135-****-A6F8-2BAB801A2CE4",
    "latency": 38,
    "usage": {
        "image":1,
        "token_count":28
    },
    "result": {
        "embeddings": [
            {
                "index": 0,
                "embedding": [
                   -0.033447265625,
                   0.10577392578125,
                   -0.0015211105346679688,
                   -0.044189453125,
                    ...
                   0.004688262939453125,
                   -4.5239925384521484E-5
                ]
            }
        ]
    }
}

异常响应示例

在访问请求出错的情况下,输出的结果中会通过codemessage指明出错原因。

{
    "request_id": "651B3087-8A07-****-B931-9C4E7B60F52D",
    "latency": 0,
    "code": "InvalidParameter",
    "message": "JSON parse error: Cannot deserialize value of type `InputType` from String \"xxx\""
}

状态码说明

请参见AI搜索开放平台状态码说明