AI搜索开放平台支持通过API的方式调用文本稀疏向量服务,您可以使用下面服务将文本数据转化为稀疏向量形式表达,稀疏向量存储空间更小,常用于表达关键词和词频信息,可与稠密向量搭配进行混合检索,提升检索效果。
|
服务名称 |
服务ID |
服务描述 |
API调用QPS限制(含主账号与RAM子账号) |
|
OpenSearch文本稀疏向量服务-001 |
ops-text-sparse-embedding-001 |
|
50 说明 如需扩充QPS,请通过工单联系技术支持协助。 |
前提条件
获取身份鉴权信息
通过API调用AI搜索开放平台服务时,需要对调用者身份进行鉴权,如何获取鉴权信息请参见获取API-KEY。
获取服务调用地址
支持通过公网和VPC两种方式调用服务,详情请参见获取服务接入地址。
公共说明
-
请求body最大不能超过8MB。
请求方式
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/text-sparse-embedding/{service_id}
参数说明
-
host:调用服务的地址,支持通过公网和VPC两种环境调用API服务,可参见获取服务接入地址。
在控制台API Keys页面的访问域名区域可查看公网和私网API域名,域名格式为
http://<实例标识>.opensearch.aliyuncs.com(均支持HTTPS)。私网API域名适用于上海、杭州、深圳、北京、张家口、青岛区域的VPC环境。 -
workspace_name:工作空间名称,例如default。
-
service_id: 系统内置服务ID,例如ops-text-sparse-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 |
document |
|
return_token |
boolean |
否 |
是否返回分词的文本内容,取值:
默认值为false,不返回分词后的文本内容。 |
false |
返回参数
|
参数 |
类型 |
描述 |
示例值 |
|
request_id |
String |
系统对一次API调用赋予的唯一标识。 |
B4AB89C8-B135-****-A6F8-2BAB801A2CE4 |
|
latency |
Float/Int |
请求耗时,单位ms。 |
10 |
|
usage |
Object |
本次调用产生的计量信息。 |
"usage": { "token_count": 11 } |
|
usage.token_count |
Int |
Token数量。 |
11 |
|
result.sparse_emebddings |
List |
本次请求的算法输出内容,是一个由结构组成的数组,每一个数组中包含一个对应输入text的算法输出内容。 |
[ { "index": 0, "embedding": [{ "tokenId": 6, "weight": 0.10137939453125 }] }, { "index": 1, "embedding": [{ "tokenId": 9803, "weight": 0.1951904296875 }] } ] |
|
result.sparse_embeddings[].index |
Int |
对应请求文本在input中的序号。 |
0 |
|
result.sparse_embeddings[].embedding |
List |
稀疏向量化结果。 |
[ { "token":"test", "token_id": 900, "weight":0.423 }] |
|
result.sparse_embeddings[].embedding[].token |
String |
文本Token,请求参数中设置return_token为true时,返回该值。 |
"xxx" |
|
result.sparse_embeddings[].embedding[].token_id |
Int |
文本Token的ID。 |
123 |
|
result.sparse_embeddings[].embedding[].weight |
Float |
权重。 |
0.121 |
Curl请求示例
curl -XPOST -H"Content-Type: application/json"
"http://****-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/text-sparse-embedding/ops-text-sparse-embedding-001"
-H "Authorization: Bearer 您的API-KEY"
-d "{
\"input\": [
\"科学技术是第一生产力\",
\"opensearch产品文档\"
],
\"input_type\": \"query\",
\"return_token\": false
}"
响应示例
正常响应示例
{
"request_id": "75C50B5B-E79E-4930-****-F48DBB392231",
"latency": 22,
"usage": {
"token_count": 11
},
"result": {
"sparse_embeddings": [
{
"index": 0,
"embedding": [
{
"tokenId": 6,
"weight": 0.10137939453125
},
{
"tokenId": 163040,
"weight": 0.2841796875
},
{
"tokenId": 354,
"weight": 0.1431884765625
},
{
"tokenId": 5998,
"weight": 0.161376953125
},
{
"tokenId": 8550,
"weight": 0.2388916015625
},
{
"tokenId": 2017,
"weight": 0.1614990234375
}
]
},
{
"index": 1,
"embedding": [
{
"tokenId": 9803,
"weight": 0.1951904296875
},
{
"tokenId": 86250,
"weight": 0.317138671875
},
{
"tokenId": 5889,
"weight": 0.17529296875
},
{
"tokenId": 2564,
"weight": 0.11614990234375
},
{
"tokenId": 59529,
"weight": 0.1666259765625
}
]
}
]
}
}
异常响应示例
在访问请求出错的情况下,输出的结果中会通过code和message指明出错原因。
{
"request_id": "45C8C9E5-6BCB-****-80D3-E298F788512B",
"latency": 0,
"code": "InvalidParameter",
"message": "JSON parse error: Unexpected character ..."
}
状态码说明
请参见AI搜索开放平台状态码说明。