文本稀疏向量

AI搜索开放平台支持通过API的方式调用文本稀疏向量服务,您可以使用下面服务将文本数据转化为稀疏向量形式表达,稀疏向量存储空间更小,常用于表达关键词和词频信息,可与稠密向量搭配进行混合检索,提升检索效果。

服务名称

服务ID

服务描述

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

OpenSearch文本稀疏向量服务-001

ops-text-sparse-embedding-001

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

  • 输入文本最大长度:8192token

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服务,可参见获取服务接入地址

    AI搜索开发API KEY.png

  • 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的数据类型,取值:

  • query

  • document

默认值为 document

document

return_token

boolean

是否返回分词的文本内容,取值:

  • true:返回

  • false:不返回

默认值为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搜索开放平台状态码说明