文本稀疏向量
AI搜索開放平臺(tái)支持通過(guò)API的方式調(diào)用文本稀疏向量服務(wù),您可以使用下面服務(wù)將文本數(shù)據(jù)轉(zhuǎn)化為稀疏向量形式表達(dá),稀疏向量存儲(chǔ)空間更小,常用于表達(dá)關(guān)鍵詞和詞頻信息,可與稠密向量搭配進(jìn)行混合檢索,提升檢索效果。
服務(wù)名稱 | 服務(wù)ID | 服務(wù)描述 |
OpenSearch文本稀疏向量服務(wù)-001 | ops-text-sparse-embedding-001 |
|
前提條件
獲取身份鑒權(quán)信息
通過(guò)API調(diào)用AI搜索開放平臺(tái)服務(wù)時(shí),需要對(duì)調(diào)用者身份進(jìn)行鑒權(quán),如何獲取鑒權(quán)信息請(qǐng)參見獲取API-KEY。
獲取服務(wù)調(diào)用地址
支持通過(guò)公網(wǎng)和VPC兩種方式調(diào)用服務(wù),詳情請(qǐng)參見獲取服務(wù)接入地址。
公共說(shuō)明
請(qǐng)求body最大不能超過(guò)8MB。
請(qǐng)求方式
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/text-sparse-embedding/{service_id}
參數(shù)說(shuō)明
host:調(diào)用服務(wù)的地址,支持通過(guò)公網(wǎng)和VPC兩種環(huán)境調(diào)用API服務(wù),可參見獲取服務(wù)接入地址。
workspace_name:工作空間名稱,例如default。
service_id: 系統(tǒng)內(nèi)置服務(wù)ID,例如ops-text-sparse-embedding-001。
請(qǐng)求參數(shù)
Header參數(shù)
API-KEY認(rèn)證
參數(shù) | 類型 | 必填 | 描述 | 示例值 |
Content-Type | String | 是 | 請(qǐng)求類型:application/json | application/json |
Authorization | String | 是 | API-Key | Bearer OS-d1**2a |
Body參數(shù)
參數(shù) | 類型 | 必填 | 描述 | 示例值 |
input | Array/String | 是 | 支持多條文本輸入,每次請(qǐng)求最多 32 條;每一條的長(zhǎng)度取決于選擇的模型。不支持空字符串。 | ["科學(xué)技術(shù)是第一生產(chǎn)力","opensearch產(chǎn)品文檔"] |
input_type | String | 否 | 指明input的數(shù)據(jù)類型,取值:
默認(rèn)值為 document | document |
return_token | boolean | 否 | 是否返回分詞的文本內(nèi)容,取值:
默認(rèn)值為false,不返回分詞后的文本內(nèi)容。 | false |
返回參數(shù)
參數(shù) | 類型 | 描述 | 示例值 |
request_id | String | 系統(tǒng)對(duì)一次API調(diào)用賦予的唯一標(biāo)識(shí)。 | B4AB89C8-B135-****-A6F8-2BAB801A2CE4 |
latency | Float/Int | 請(qǐng)求耗時(shí),單位ms。 | 10 |
usage | Object | 本次調(diào)用產(chǎn)生的計(jì)量信息。 | "usage": { "token_count": 11 } |
usage.token_count | Int | Token數(shù)量。 | 11 |
result.sparse_emebddings | List | 本次請(qǐng)求的算法輸出內(nèi)容,是一個(gè)由結(jié)構(gòu)組成的數(shù)組,每一個(gè)數(shù)組中包含一個(gè)對(duì)應(yīng)輸入text的算法輸出內(nèi)容。 | [ { "index": 0, "embedding": [{ "tokenId": 6, "weight": 0.10137939453125 }] }, { "index": 1, "embedding": [{ "tokenId": 9803, "weight": 0.1951904296875 }] } ] |
result.sparse_embeddings[].index | Int | 對(duì)應(yīng)請(qǐng)求文本在input中的序號(hào)。 | 0 |
result.sparse_embeddings[].embedding | List | 稀疏向量化結(jié)果。 | [ { "token":"test", "token_id": 900, "weight":0.423 }] |
result.sparse_embeddings[].embedding[].token | String | 文本Token,請(qǐng)求參數(shù)中設(shè)置return_token為true時(shí),返回該值。 | "xxx" |
result.sparse_embeddings[].embedding[].token_id | Int | 文本Token的ID。 | 123 |
result.sparse_embeddings[].embedding[].weight | Float | 權(quán)重。 | 0.121 |
Curl請(qǐng)求示例
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\": [
\"科學(xué)技術(shù)是第一生產(chǎn)力\",
\"opensearch產(chǎn)品文檔\"
],
\"input_type\": \"query\",
\"return_token\": false
}"
響應(yīng)示例
正常響應(yīng)示例
{
"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
}
]
}
]
}
}
異常響應(yīng)示例
在訪問(wèn)請(qǐng)求出錯(cuò)的情況下,輸出的結(jié)果中會(huì)通過(guò)code和message指明出錯(cuò)原因。
{
"request_id": "45C8C9E5-6BCB-****-80D3-E298F788512B",
"latency": 0,
"code": "InvalidParameter",
"message": "JSON parse error: Unexpected character ..."
}
狀態(tài)碼說(shuō)明
請(qǐng)參見AI搜索開放平臺(tái)狀態(tài)碼說(shuō)明。