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服务,可参见获取服务接入地址。
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搜索开放平台状态码说明。