一、token计算
编码(encode)是指将文本映射为token的数字列表,解码(decode)是指将token的数字列表转化为文本。
给定一个文本字符串(例如"tiktoken is great!"
)和编码算法方式cl100k_base
, 可以分词为["t", "ik", "token", " is", " great", "!"]
,再根据词典查出数字列表[122,232,5343,3424,5456,12446]
。
注意,各大模型一般都提供了计算token数的工具,可在调用模型前先计算token。原因:
- 避免token过长,引发错误
- 可用来预估自己的花费
1.1 OpenAI
gpt系列都可用tiktoken实现token计算
import tiktoken
# 具体tokenizer模型
enc = tiktoken.get_encoding("o200k_base")
assert enc.decode(enc.encode("hello world")