文本向量

AI搜索开放平台支持通过API的方式调用文本向量服务,您可以使用下面服务将文本数据转化为稠密向量形式表达,可用于信息检索、文本分类、相似性比较等场景。

服务名称

服务ID

服务描述

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

OpenSearch通用文本向量服务-001

ops-text-embedding-001

  • 支持语种:多语言(40+)

  • 输入文本最大长度:300

  • 输出向量维度:1536

50

说明

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

OpenSearch文本向量服务-中文-001

ops-text-embedding-zh-001

  • 支持语种:中文

  • 输入文本最大长度:1024

  • 输出向量维度:768

OpenSearch文本向量服务-英文-001

ops-text-embedding-en-001

  • 支持语种:英文

  • 输入文本最大长度:512

  • 输出向量维度:768

OpenSearch通用文本向量服务-002

ops-text-embedding-002

相比001模型支持更多语言,同时在Retrieval任务中表现更佳

  • 支持语种:提供多语言(100+)

  • 输入文本最大长度:8192

  • 输出向量维度:1024

前提条件

  • 获取身份鉴权信息

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

  • 获取服务调用地址

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

请求说明

公共说明

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

请求方式

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/text-embedding/{service_id} 

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

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

  • service_id: 系统内置服务id,例如ops-text-embedding-001。

请求参数

Header参数

API-KEY认证

参数

类型

必填

描述

示例值

Content-Type

String

请求类型:application/json

application/json

Authorization

String

API-Key

Bearer OS-d1**2a

Body参数

参数

类型

必填

描述

示例值

input

Array/String

输入内容,支持多条文本输入,每次请求最多 32 条,每一条的长度取决于选择的模型。不支持空字符串。

["科学技术是第一生产力","opensearch产品文档"]

input_type

String

input的数据类型

  • query

  • document,默认值

document

返回参数

参数

类型

描述

示例值

request_id

String

系统对一次API调用赋予的唯一标识。

B4AB89C8-B135-****-A6F8-2BAB801A2CE4

latency

Float/Int

请求耗时,单位ms。

10

usage

Object

本次调用产生的计量信息。

"usage": {

"token_count": 3072

}

usage.token_count

Int

Token数量。

3072

result.embeddings

List

输出embedding内容,是一个由结果组成的数组。

[{

"index": 0,

"embedding": [0.003143,0.009750,...,-0.017395]

},

{}]

result.embeddings[].index

Int

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

0

result.embeddings[].embedding

List(Float)

向量化结果。

[0.003143,0.009750,省略,-0.017395]

Curl请求示例

curl -XPOST -H"Content-Type: application/json" 
"http://****-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/text-embedding/ops-text-embedding-001" 
-H "Authorization: Bearer 您的API-KEY" 
-d "{
    \"input\": [
          \"科学技术是第一生产力\", 
          \"opensearch产品文档\"
    ], 
    \"input_type\": \"query\"
}"

响应示例

正常响应示例

{
    "request_id": "B4AB89C8-B135-****-A6F8-2BAB801A2CE4",
    "latency": 38,
    "usage": {
        "token_count": 3072
    },
    "result": {
        "embeddings": [
            {
                "index": 0,
                "embedding": [
                    -0.02868066355586052,
                    0.022033605724573135,
                    -0.0417383536696434,
                    -0.044081952422857285,
                    0.02141784131526947,
                    -8.240503375418484E-4,
                    -0.01309406291693449,
                    -0.02169642224907875,
                    -0.03996409475803375,
                    0.008053945377469063,
                    ...
                    -0.05131729692220688,
                    -0.016595875844359398
                ]
            }
        ]
    }
}

异常响应示例

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

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

状态码说明

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