在上一篇文章中,我们知道了,ChatOpenAI
对象调用
invoke
方法返回的的信息中, 包含了输入的 token
数量以及输出的 token
数量。
那么它到底是怎么计算的呢?
titoken
tiktoken
是 OpenAI 开发的开源的快速 token 切分器。
跟人类不一样,GPT 都是以 token 的形式来阅读文本的。而不同数量的 token,消耗的资源是不一样的,同样的,花费的 RMB 也是不一样的。
另一方面,我们也可以通过计算输入的 token
数量来了解是否太长而超出了模型处理能力。
使用 tiktoken
可以快速的计算出文本的 token 数量:
1 | import tiktoken |
输出:
1 | [27317, 19368, 18184, 7305, 226, 87502, 41127, 14558, 29172, 84844, 35287, 31944, 12870, 228, 9554, 5486, 31540, 15355, 102, 77413, 9554, 30177, 40526, 34208, 48915, 34048, 43167, 13153, 3922, 31540, 11883, 35304, 78935, 26892, 4178, 22365, 1811] |
不同模型的上下文长度及价格
参考文档:
- 零一万物:https://platform.lingyiwanwu.com/docs
- OpenAI:https://platform.openai.com/docs/models
- 智谱清言:https://open.bigmodel.cn/dev/howuse/model