您可以通過本文檔瞭解如何通過API計算您在調用AI搜尋開放平台服務時使用的Token數目 。
Token計算
在語言模型中,Token是指將輸入的文本分割成的最小單位。Token可以是一個單詞、一個片語、一個標點符號、一個字元等,不同模型可能有自己的切分方法,字元數目和Token數目不一定一一對應,例如在AI搜尋開放平台中:
“蘋果”對應1個Token“測試案例”對應3個Token“OpenSearch”對應2個Token
AI搜尋開放平台提供的大模型服務均基於使用者輸入和輸出的Token數目進行計量和計費,您可以通過Token計算API計算服務調用預計產生的費用。
已支援模型列表
以下模型支援使用Token計算服務擷取Token數目。
模型分類 | 服務ID(service_id) |
OpenSearch SFT大模型 | ops-qwen-turbo |
通義千問大模型 | qwen-turbo qwen-plus qwen-max |
Http調用介面
前提條件
擷取身份鑒權資訊
通過API調用AI搜尋開放平台服務時,需要對調用者身份進行鑒權,如何擷取鑒權資訊請參見擷取API-KEY。
擷取服務調用地址
支援通過公網和VPC兩種方式調用服務,詳情請參見擷取服務接入地址。
公用說明
請求body最大不能超過8MB。
請求方式
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/text-generation/{service_id}/tokenizerhost:調用服務的地址,支援通過公網和VPC兩種方式調用API服務,可參見擷取服務接入地址。

workspace_name:工作空間名稱,例如default。
service_id: 系統內建服務id,例如ops-qwen-turbo。
請求參數
Hearder參數
API-KEY認證
參數 | 類型 | 必填 | 描述 | 樣本值 |
Content-Type | String | 是 | 請求類型:application/json | application/json |
Authorization | String | 是 | API-Key | Bearer OS-d1**2a |
Body參數
messages | List | 是 | 使用者與模型的對話歷史。list中的每個元素形式為{"role":角色, "content": 內容},角色當前可選值:system、user、assistant。
| [{"role": "user", "content": "測試token計算介面"}] |
返回參數
參數 | 類型 | 描述 | 樣本 |
request_id | String | 系統對一次API調用賦予的唯一標識。 | 310032DA-****-46CC-94D1-0FE789BAE3A7 |
latency | Float/Int | 請求耗時,單位ms。 | 10 |
usage | Object | 本次調用產生的計量資訊。 | "usage":{"input_tokens":4} |
usage.input_tokens | Integer | 使用者輸入文本轉換成Token後的長度。 | 4 |
result.token_ids | List<Integer> | 本次輸入文本對應的token_ids。 | [81705,5839,100768,107736] |
result.tokens | List<String> | 本次輸入文本對應的tokens。 | ["測試","token","計算","介面"] |
Curl請求樣本
curl -XPOST -H "Content-Type:application/json"
"http://****-shanghai.opensearch.aliyuncs.com/v3/openapi/workspaces/default/text-generation/ops-qwen-turbo/tokenizer"
-H "Authorization: Bearer 您的API-KEY"
-d "{
\"messages\":[
{
\"role\":\"user\",
\"content\":\"測試token計算介面\"
}
]}"響應樣本
正確響應樣本
{
"request_id":"9d197d47-d6b5-****-964e-12b893c47a8b",
"latency":11,
"usage":{
"input_tokens":4
},
"result":{
"token_ids":[81705,5839,100768,107736],
"tokens":["測試","token","計算","介面"]
}
}異常響應樣本
在訪問請求出錯的情況下,輸出的結果中會通過code和message指明出錯原因。
{
"request_id":"388476DB-C4D4-****-A7A6-7594F92885FA",
"latency":0,
"code":"InvalidParameter",
"message":"Messages must be end with role[user]."
}狀態代碼說明
請參見AI搜尋開放平台狀態代碼說明。