惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
J
Java Code Geeks
P
Proofpoint News Feed
Recent Announcements
Recent Announcements
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
雷峰网
雷峰网
D
DataBreaches.Net
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
V
Visual Studio Blog
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12)
4. Token(词元),5分钟彻底搞懂
老陈说编程 · 2026-04-30 · via 博客园_首页

Token(词元)是 AI 处理信息的最小单位。它既不是字,也不是词,而是由模型自行切分出来的 “文字碎片”。通常来说,1 个 Token 约等于 4 个字母,或 1~2 个汉字。

如果你习惯看视频,就看《4. Token(词元),看会动画敲下代码,就彻底搞懂了》,喜欢看文章就接着往下看。

image

 Token的优化过程如下

image

 大模型单次调用的总消耗 Token 由两部分组成:总消耗 Token = 输入 Token + 输出 Token。其中,输入 Token 的构成更为细致,包括当前用户提问 Token、系统提示词 Token、历史对话上下文 Token,以及消息格式开销 Token。

image

需要注意的是,Token 的实际切分由各模型厂商自研的 Tokenizer(分词器)独立完成,因此相同文本在不同模型上会产生不同的 Token 数量与序列。以上提及的换算比例等数据,均为行业通用估算参考。

image

 下面通过代码实战,带你彻底搞懂。首先打开命令行窗口,使用 pip 命令安装 transformers和PyTorch 开发库。

pip install transformers torch

安装完成后,我们便可以借助 transformers 库加载主流的分词器,直观地观察文本到 Token 的切分过程。以下是具体代码示例:

# 首先从 transformers 库中导入 AutoTokenizer 类,它能自动适配不同大模型的分词规则
from transformers import AutoTokenizer
 
# 接着从预训练权重加载 Qwen2 模型的分词器
# 注意: "Qwen2_tokenizer"是下载到本地自命名的分词器 ,下载地址见文章最后链接
tokenizer = AutoTokenizer.from_pretrained("Qwen2_tokenizer")
 
# 定义待处理的输入文本
text = "你好,我是cool。"
 
# ---------------------------------------------------------
# 第1步:分词 (Tokenization)
# ---------------------------------------------------------
# 使用 BPE算法将文本切分为“子词单元”
# 规则是:常见词为1个Token,复杂词会拆开,标点也算Token。
bpe_codes = tokenizer.tokenize(text)
# 先打印出来看一下结果
print(bpe_codes)
 
# 为了让分词结果可读,需要做一下处理
decoded_result = []
for bpe_code in bpe_codes:
    # 先将子词转换为模型词汇表中的ID
    id = tokenizer.convert_tokens_to_ids(bpe_code)
# 再将单个ID解码回文本并将结果存起来
decoded = tokenizer.decode([id])
    decoded_result.append(decoded)
 
# 输出最终的分词列表
print("分词结果:", decoded_result)
 
# ---------------------------------------------------------
# 第2步:向量化 (Numericalization)
# ---------------------------------------------------------
# 将字符串形式的 Token 列表转换为模型能处理的整数 ID 列表
# 这是大模型的“输入语言”(模型只认识数字,不认识文字)
token_ids = tokenizer.convert_tokens_to_ids(bpe_codes)
print("向量ID:", token_ids)
 
# ---------------------------------------------------------
# 第3步:统计 Token 数量
# ---------------------------------------------------------
# 计算 Token 总数
count = len(token_ids)
print("Token总数:", count)
 
# 将 ID 列表完整解码回原始文本
print("解码结果:", tokenizer.decode(token_ids))

Qwen2_tokenizer分词器下载:分词器