AI搜索开放平台支持通过API的方式调用文本向量服务,您可以使用下面服务将文本数据转化为稠密向量形式表达,可用于信息检索、文本分类、相似性比较等场景。
服务名称 | 服务ID | 服务描述 | API调用QPS限制(含主账号与RAM子账号) |
OpenSearch通用文本向量服务-001 | ops-text-embedding-001 |
| 50 说明 如需扩充QPS,请通过工单联系技术支持协助。 |
OpenSearch文本向量服务-中文-001 | ops-text-embedding-zh-001 |
| |
OpenSearch文本向量服务-英文-001 | ops-text-embedding-en-001 |
| |
OpenSearch通用文本向量服务-002 | ops-text-embedding-002 | 相比001模型支持更多语言,同时在Retrieval任务中表现更佳
|
前提条件
获取身份鉴权信息
通过API调用AI搜索开放平台服务时,需要对调用者身份进行鉴权,如何获取鉴权信息请参见获取API-KEY。
获取服务调用地址
支持通过公网和VPC两种方式调用服务,详情请参见获取服务接入地址。
请求说明
公共说明
请求body最大不能超过8MB。
请求方式
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/text-embedding/{service_id}
host:调用服务的地址,支持通过公网和VPC两种方式调用API服务,可参见获取服务接入地址。
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的数据类型
| 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搜索开放平台状态码说明。