# 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 库错误 - 安全限制警告**:当令牌数量超过安全限制时记录警告 ## 效益 - **成本优化**:在调用应用程序接口前估算令牌成本 - 速率限制**:通过安全限制管理令牌预算并防止超支 - 工作流逻辑**:根据令牌计数和安全阈值启用条件逻辑 - 透明度**:提供令牌使用模式的可见性 - 主动监控**:设置安全限制,及早发现潜在的令牌超额情况