一江山水的随笔

当前位置:首页 - 技术 - 正文

Enjoy life!

先说结论:AI按Token收费,不是按字数

你调用GPT-4、文心一言等大模型时,计费单位是Token,不是字数。比如GPT-4 Turbo:输入$0.01/1K Token,输出$0.03/1K Token。中文一个Token大约1.5个字,英文一个Token约0.75个词。所以中文用户更"吃亏"点。

Token到底是什么?

Token是大模型处理文本的最小单位。模型不会直接读"你好吗",而是先拆成Token序列。比如:你好,取决于分词器。

OpenAI的GPT系列用BPE(Byte Pair Encoding)算法,字节对编码。先统计字符频率,逐步合并常见对,最终生成词表。中文因为字符多,单个字常是独立Token,英文单词可能拆成子词。

示例对比

  • 英文:"Hello, world!" → ["Hello", ",", " world", "!"] → 4 Tokens
  • 中文:"你好世界" → ["你好", "世界"] → 2 Tokens(如果词表有)或 ["你", "好", "世", "界"] → 4 Tokens

实际中,常见中文词如"我们"、"可以"可能是一个Token,但生僻字或罕见词会拆开。所以中文Token数≈字数×0.6~1.5,平均1.3左右。

为什么中文Token更贵?

因为分词效率低。英文一个单词平均1.2个Token,中文一个字平均1.5个Token。同样1000字,英文约800 Token,中文约1500 Token,费用差一倍。但模型能力一样,所以中文用户要多花钱。

另外,标点、空格也算Token。比如", "是一个Token(逗号+空格)。

如何估算Token数量?

几个经验公式:

  • 中文:Token数 ≈ 字数 × 1.3
  • 英文:Token数 ≈ 单词数 × 1.2
  • 代码:Token数 ≈ 字符数 × 0.4

也可以用在线工具:OpenAI Tokenizer(https://platform.openai.com/tokenizer)或各大平台的API直接返回usage字段。

节省Token的实用技巧

既然按Token收费,省钱就是省Token。下面是我总结的几个有效方法。

1. 精简提示词,去掉废话

不要写"请用中文回答,请详细解释",直接说"中文回答,详细"。比如:

差:"你好,我想请问一下,你能不能帮我写一封邮件?内容是关于感谢客户的,语气要诚恳,字数在200字左右。谢谢!"

好:"写一封感谢客户的邮件,200字,诚恳语气。"

节省约30% Token。

2. 使用Few-shot压缩

Few-shot示例会占用大量Token。如果示例太长,可以压缩成短格式。比如:

原示例:

输入:今天天气怎么样?输出:晴天,25度。

压缩后:

输入:天气?输出:晴,25度。

只要模型能理解格式,尽量缩短示例。

3. 用缩写和符号

比如:

  • "因为" → "∵"
  • "所以" → "∴"
  • "例如" → "e.g."
  • "用户" → "U"

但别过度,确保模型能识别。我在写System Prompt时常用:U: ... A: ...代替User: ... Assistant: ...

4. 控制输出长度

max_tokens参数限制输出。比如回答"是/否"的问题,设max_tokens=5即可。避免模型生成多余内容。

5. 合并多次请求

如果需要多次调用,尽量把多个问题放在一次Prompt里,让模型按结构回答。比如:

问题1:... 回答1:
问题2:... 回答2:

这样只消耗一次上下文Token,而不是每次重新输入历史。

总结:Token就是钱,省Token就是省钱

理解Token概念后,你会发现很多优化空间。尤其中文用户,建议用工具估算Token,并养成精简提示的习惯。最后推荐一个免费Token计数工具:TikToken,支持多种模型。

记住:少废话,多干活,Token就省下来了。

本文来源:一江山水的随笔

本文地址:https://blog.298.name/post/198.html

主要内容:Token是什么?大模型按什么收费?省Token技巧大揭秘

版权声明:如无特别注明,转载请注明本文地址!

下一篇

博主有点懒,啥也没写!
想找什么搜索会更快哦!
站点信息
  • 文章总数:171
  • 页面总数:1
  • 分类总数:4
  • 标签总数:170
  • 评论总数:61
  • 浏览总数:1643341
控制面板
您好,欢迎到访网站!
  查看权限
Top