Token计算

您可以通过本文档了解如何通过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服务,可参见获取服务接入地址

    AI apikey截图.png

  • 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。

  • system:表示系统级消息,只能用于对话历史的第一条(messages[0])。使用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搜索开放平台状态码说明