agentscope.token

agentscope中的token模块

class TokenCounterBase[source]

基础:object

令牌计数基础类。

abstract async count(messages, **kwargs)[source]

统计通过给定模型和消息的令牌数量。

Parameters:
  • 消息列表 (列表[字典])

  • kwargs (任何)

Return type:

整数

class GeminiTokenCounter[source]

Base: TokenCounterBase

Gemini 令牌计数器类。

__init__(model_name, api_key, **kwargs)[source]

初始化 Gemini 令牌计数器。

Parameters:
  • model_name (str) – 要使用的Gemini模型名称,例如"gemini-2.5-flash"。

  • api_key (str) – Google Gemini的API密钥。

  • **kwargs – 将会传递给Gemini客户端的额外关键字参数。

Return type:

async count(messages, tools=None, **config_kwargs)[source]

计算gemini模型的token数量。

Parameters:
  • messages (list[dict])

  • tools (list[dict] | None)

  • config_kwargs (Any)

Return type:

整数

class OpenAITokenCounter[source]

基类: TokenCounterBase

OpenAI 令牌计数类。

__init__(model_name)[source]

初始化OpenAI的token计数器。

Parameters:

model_name (str) – 用于令牌计数的OpenAI模型的名称。

Return type:

async count(messages, tools=None, **kwargs)[source]

计算给定消息的标记数量。

注意

OpenAI尚未提供官方的使用工具统计tokens指南。如果您有任何想法,请在我们的GitHub仓库中提交issue。

Parameters:
  • messages (list[dict[str, Any]]) – 一个字典列表,其中必须包含rolecontent字段。

  • 工具集 (list[dict], 默认为 None)

  • kwargs (任何)

Return type:

整数

class AnthropicTokenCounter[source]

基础:object

Anthropic 标记计数类。

__init__(model_name, api_key, **kwargs)[source]

初始化 Anthropic 令牌计数器。

Parameters:
  • model_name (str) – 要使用的 Anthropic 模型名称,例如 “claude-2”。

  • api_key (str) – 用于Anthropic的API密钥。

  • kwargs (任何)

Return type:

async count(messages, tools=None, **kwargs)[source]

计算给定消息的token数量

注意

Anthropic 的令牌计数 API 需要将多模态数据转换为 base64 格式,

Parameters:
  • messages (list[dict]) – 一个字典列表,其中 rolecontent 字段为必填项。

  • tools (list[dict] | None, defaults to None) – 模型可使用的工具JSON模式。

  • **kwargs (Any) – 用于词元计数API的额外关键字参数。

Return type:

整数

class HuggingFaceTokenCounter[source]

基类:TokenCounterBase

Huggingface模型的令牌计数器。

__init__(pretrained_model_name_or_path, use_mirror=False, use_fast=False, trust_remote_code=False, **kwargs)[source]

初始化Huggingface 令牌计数器。

Parameters:
  • pretrained_model_name_or_path (str) – 预训练模型的名称或路径,将用于从Huggingface Hub下载分词器。

  • use_mirror (bool, 默认为 False) – 是否启用 HuggingFace 镜像,这对中国用户非常有用。

  • use_fast (bool, 默认为 False) – 将传递给分词器的参数。

  • trust_remote_code (bool, 默认为 False) – 将传递给分词器的参数。

  • **kwargs – 将被传递给分词器的额外关键字参数。

Return type:

async count(messages, tools=None, **kwargs)[source]

使用从 HuggingFace 集线器下载的分词器统计标记数量。

Parameters:
  • messages (list[dict]) – 消息字典的列表

  • tools (list[dict] | None, 默认为 None) – 工具的JSON模式,这些工具也将计入令牌(token)计数范围。

  • **kwargs (Any) – 传递给分词器的额外关键字参数,例如 chat_templatepadding 等。

Return type:

整数