代币估算器集成 |Botpress Hub

令牌估算器

v0.2.0

# Tiktoken 估算器集成

使用 tiktoken 库估算文本的标记计数,为OpenAI 模型提供精确的标记计数。

功能

  • ** 精确的令牌计数**:使用官方 tiktoken 库提供精确的令牌估计值
  • 支持多种模型**:支持多种OpenAI 模型(gpt-3.5-turbo、gpt-4 等)。
  • 安全限制:可选安全限制检查,防止令牌超额
  • 零配置:无需设置 - 开箱即用
  • 错误处理***:优雅的错误处理,提供描述性信息

使用方法

估算令牌操作

集成提供了一个动作: `estimateTokens

输入参数:

  • 文本(必填):要估算标记的文本
  • model`(可选):用于标记化的OpenAI 模型(默认为 "gpt-3.5-turbo)
  • safetyLimit`(可选):令牌数量估算的安全限制。如果留空,则不会应用任何限制

输出:

  • tokenCount`:文本中标记的估计数量
  • tokenizerName:标记符名称:使用的标记符名称
  • model:标记化所基于的模型
  • limitExceeded:表示估计的标记数是否超过了安全限制(仅在提供 safetyLimit 时出现)

使用示例

基本用法:

文本:"你好,世界!"
模型: "gpt-3.5-turbo"gpt-3.5-turbo"

结果:
- tokenCount:4
- tokenizerName:"tiktoken
- 模型: "gpt-3.5-turbo"gpt-3.5-turbo"

有安全限制:

文本:"这是一段较长的文字,可能会超过我们的安全限制......"
型号:"GPT-3.5-TURBO"
安全限制: 10

结果:
- tokenCount:15
- tokenizerName:"tiktoken"
- 模型: "gpt-3.5-turbo"gpt-3.5-turbo
- limitExceeded: true

支持的模型

  • gpt-3.5-turbo 型号
  • `gpt-4
  • gpt-4-turbo
  • text-davinci-003
  • 文本-达文西-002
  • 代码-davinci-002
  • tiktoken支持的其他OpenAI 模型

建议的安全限制

在设置安全限制时,请考虑到您的实际 API 调用将包括用于系统提示、对话历史和生成响应的额外令牌。以下是保守的建议:

GPT.5-Turbo(4,096 个令牌限制)

  • 保守**:2,500 个令牌(留下 ~1,600 个用于系统提示 + 响应)
  • 中等**:3,000 个令牌(留下 ~1,100 个用于系统提示 + 响应)
  • 进步:3,500 个代币(留下 ~600 个用于系统提示 + 响应)

GPT(8 192 个令牌限制)

  • 保守**:5,000 个令牌(留下 ~3,200 个用于系统提示 + 响应)
  • 中等**:6,000 个令牌(留下 ~2,200 个用于系统提示 + 响应)
  • 进步:7,000 个代币(留下 ~1,200 个用于系统提示 + 响应)

GPT Turbo(128,000 个令牌限制)

  • 保守**:100,000 个令牌(留下 ~28,000 个用于系统提示 + 响应)
  • 中等**:110,000 个令牌(留下 ~18,000 个令牌用于系统提示 + 响应)
  • 进步:120,000 个代币(留下 ~8,000 个用于系统提示 + 响应)

注意:这些建议假定了典型的系统提示大小(200-800 个令牌)和所需的响应长度(500-2000 个令牌)。请根据具体使用情况进行调整。

错误处理

集成可处理各种错误情形:

  • 无效输入**:对于缺失或无效文本,返回清晰的错误信息
  • 空文本:对于空字符串,返回 0 标记
  • 不支持的模型**:对于 tiktoken 不支持的模型,返回错误信息。
  • ** 标记化错误**:优雅地处理 tiktoken 库错误
  • 安全限制警告**:当令牌数量超过安全限制时记录警告

效益

  • 成本优化:在调用应用程序接口前估算令牌成本
  • 速率限制**:通过安全限制管理令牌预算并防止超支
  • 工作流逻辑**:根据令牌计数和安全阈值启用条件逻辑
  • 透明度**:提供令牌使用模式的可见性
  • 主动监控**:设置安全限制,及早发现潜在的令牌超额情况