您可以通过本文档了解如何通过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}/tokenizer
host:调用服务的地址,支持通过公网和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搜索开放平台状态码说明。