如何使用tiktoken估计LLM输入对应tokens数量
应用LLM解决问题时LLM输入窗口其实是受限的比如32k、128k、256k。实践中我们经常使用openai的tiktoken估算LLM输入转tokens后的量。这里基于网络资料示例tiktoken如何通过输入字符串粗略估计转化成tokens后的量。1 环境准备1.1 pip安装更新这里示例使用pip安装tiktoken示例如下pip install --upgrade tiktokenOpenAI会持续推出新模型和新编码。为了确保能较准确统计最新模型的 token 数建议定期将tiktoken库升级到最新版本。1.2 过程示例这里示例tiktoken统计过程。1获取编码器根据使用的模型选择对应的编码例如cl100k_base适用于GPT-4、GPT-3.5-turbo等。2编码字符串使用encode()方法将字符串转换为token列表。3统计token数用len()获取token列表的长度。2 代码示例2.1 代码示例以下是使用tiktoken统计tokens序列长度的代码示例。1模型名称获取编码输入为gpt-4、gpt-3.5-turbo、gpt-4o等。import tiktoken def count_tokens(text: str, model: str gpt-3.5-turbo) - int: 统计给定文本的token数量。 Args: text: 输入字符串 model: 模型名称默认为gpt-3.5-turbo Returns: token数量 # 根据模型获取对应的编码器 encoding tiktoken.encoding_for_model(model) # 将文本编码为tokens tokens encoding.encode(text) # 返回token个数 return len(tokens) # 示例用法 if __name__ __main__: input_text 你好世界Hello, world! token_count count_tokens(input_text) print(f字符串: {input_text}) print(fToken数量: {token_count})输出如下所示字符串: 你好世界Hello, world!Token数量: 112编码名称获取编码输入为o200k_base、cl100k_base等。import tiktoken def count_tokens(text: str, encoding_name: str cl100k_base) - int: 统计给定文本的token数量。 Args: text: 输入字符串 model: 模型名称默认为gpt-3.5-turbo Returns: token数量 # 直接根据编码名称获取对应的编码器 encoding tiktoken.get_encoding(encoding_name) # 将文本编码为tokens tokens encoding.encode(text) # 返回token个数 return len(tokens) # 示例用法 if __name__ __main__: input_text 你好世界Hello, world! token_count count_tokens(input_text) print(f字符串: {input_text}) print(fToken数量: {token_count})2.2 常用编码对照tiktoken库本身并不直接维护一个固定的默认模型列表而是维护了一套编码(Encodings)。每个编码对应一种分词方式而 OpenAI 的各种模型分别使用这些编码 。可通过tiktoken.encoding_for_model()根据模型名返回编码器输入为gpt-4o、gpt-4等模型名称。或者tiktoken.get_encoding()直接使用编码名称输入为cl100k_base等编码名称不是模型名称。下表整理了tiktoken主要支持的编码及其对应的 OpenAI 模型家族 编码名称适用模型家族典型模型示例(Examples)o200k_base最新GPT-4o系列及O1系列模型gpt-4o,gpt-4o-mini,o1,o3-minicl100k_baseGPT-4、GPT-3.5 Turbo系列及Embedding 模型gpt-4,gpt-4-turbo,gpt-3.5-turbo,text-embedding-ada-002p50k_base早期的Codex模型和文本补全模型text-davinci-003,code-davinci-002p50k_edit早期的编辑模型text-davinci-edit-001,code-davinci-edit-001r50k_base(或gpt2)非常早期的 GPT-3 模型及 GPT-2davinci,gpt-2由于我们使用的可能是deepseek或qwen模型使用tiktoken统计字符个数与实际可能有偏差但大部分情况偏差不会太大粗略估计LLM输入对应的tokens量应该是足够了。reference---tiktokenhttps://github.com/openai/tiktoken

相关新闻

错误:VirtualBox 7.2.6 need the Microsoft Visual C++ 2019 Redistributable Package being installed first

错误:VirtualBox 7.2.6 need the Microsoft Visual C++ 2019 Redistributable Package being installed first

win 10 安装 VirtualBox 7.2.6:需要首先安装 Visual C 2019 Redistributable Package MSI (c) (28:C4) [07:01:01:315]: 产品: Oracle VirtualBox 7.2.6 -- Oracle VirtualBox 7.2.6 needs the Microsoft Visual C 2019 Redistributable Package being installed f…

2026/7/4 17:29:44 阅读更多 →
基于Java springboot高校体育运动会比赛系统(源码+文档+运行视频+讲解视频)

基于Java springboot高校体育运动会比赛系统(源码+文档+运行视频+讲解视频)

文章目录 系列文章目录目的前言一、详细视频演示二、项目部分实现截图三、技术栈 后端框架springboot前端框架vue持久层框架MyBaitsPlus系统测试 四、代码参考 源码获取 目的 高校体育运动会比赛是展示学生体育风采的重要平台。基于Java Spring Boot框架开发的高校体育运动会…

2026/5/17 1:32:26 阅读更多 →
LeetCode 1888 使二进制字符串交替的最少翻转次数

LeetCode 1888 使二进制字符串交替的最少翻转次数

LeetCode 1888 使二进制字符串交替的最少翻转次数 题目描述 给你一个二进制字符串 s,你可以进行两种操作: 翻转任意一个字符(0 变 1,1 变 0)。将字符串的第一个字符移动到末尾(即旋转)。 你可以…

2026/7/4 8:25:31 阅读更多 →

最新新闻

编程启蒙|Scratch 转 Python 系列第 3 天完整教程

编程启蒙|Scratch 转 Python 系列第 3 天完整教程

本篇是零基础 Python 自学系列 Scratch 转 Python 第 3 天笔记,适合纯小白入门,内容包含实操代码、详细讲解与配套练习题,全程 Scratch 积木代码 Python 双向对照教学。 一、昨日内容复盘(Scratch 转 Python Day2 for 循环与 ra…

2026/7/5 13:36:11 阅读更多 →
玄鹿电竞:用技术重构游戏服务体验,驱动专业护航

玄鹿电竞:用技术重构游戏服务体验,驱动专业护航

在《三角洲行动》的战场中,你是否曾因“老六蹲撤”“摸金翻车”“任务卡关”而遗憾?玄鹿电竞以技术为引擎,打造全链路专业护航平台,从下单、匹配、服务到售后,用数字化架构重构游戏服务体验,让“稳撤满载”…

2026/7/5 13:34:10 阅读更多 →
18、<简单>寻找距离2的幂最近的数字

18、<简单>寻找距离2的幂最近的数字

#include <iostream> using namespace std;int main() {int n;cout << "请输入整数n&#xff1a;";cin >> n;// 先找到小于等于n的最大2的幂 lowint low 1;while (low * 2 < n){low * 2;}int high low * 2; // 大于n的最小2的幂int dis_low …

2026/7/5 13:32:10 阅读更多 →
抖店违规检测工具使用步骤:上架前 3 类素材(主图 / 标题 / 详情)风险筛查指南

抖店违规检测工具使用步骤:上架前 3 类素材(主图 / 标题 / 详情)风险筛查指南

全网通用电商商品违规检测最全教程&#xff1a;新手小白零门槛避坑指南很多电商创业新手、副业小白做店铺运营时&#xff0c;最容易踩的坑就是商品违规。不管是做抖音、抖音小店、微信小店、微信小商城、视频号小店、拼多多、小红书、淘宝等全平台电商&#xff0c;绝大多数新手…

2026/7/5 13:30:10 阅读更多 →
3分钟免费激活Windows系统:KMS_VL_ALL_AIO智能激活工具完全指南

3分钟免费激活Windows系统:KMS_VL_ALL_AIO智能激活工具完全指南

3分钟免费激活Windows系统&#xff1a;KMS_VL_ALL_AIO智能激活工具完全指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活而烦恼吗&#xff1f;每次开机看到那个烦人的激…

2026/7/5 13:30:10 阅读更多 →
奇迹 MU 剑与翼手游官网下载:奇迹 MU 剑与翼最新官方下载渠道

奇迹 MU 剑与翼手游官网下载:奇迹 MU 剑与翼最新官方下载渠道

奇迹 MU 剑与翼手游官网下载&#xff1a;奇迹 MU 剑与翼最新官方下载渠道 《奇迹 MU 剑与翼》又名复古 1.03H 奇迹正版、卓越打金奇迹手游&#xff0c;由安徽游昕联合忆往游戏正版运维复刻的经典魔幻 MMORPG。游戏完整还原原版奇迹端游 1.03H 全部内容&#xff0c;勇者大陆、仙…

2026/7/5 13:28:09 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools&#xff1a;5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里&#xff0c;参与了关于混合后量子密码学的讨论&#xff0c;应付端点攻击找茬的人&#xff0c;还参与留言板讨论后&#xff0c;发现“威胁模型”对多数人仍是陌生概念&#xff0c;且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”&#xff1a;我理解的渗透测试到底是什么&#xff1f;每次看到新闻里说某个大公司的数据被“黑”了&#xff0c;或者某个网站被攻击导致服务瘫痪&#xff0c;你是不是和我一样&#xff0c;心里会冒出两个念头&#xff1a;一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools&#xff1a;5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里&#xff0c;参与了关于混合后量子密码学的讨论&#xff0c;应付端点攻击找茬的人&#xff0c;还参与留言板讨论后&#xff0c;发现“威胁模型”对多数人仍是陌生概念&#xff0c;且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”&#xff1a;我理解的渗透测试到底是什么&#xff1f;每次看到新闻里说某个大公司的数据被“黑”了&#xff0c;或者某个网站被攻击导致服务瘫痪&#xff0c;你是不是和我一样&#xff0c;心里会冒出两个念头&#xff1a;一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻