在发送字符串进行嵌入之前,你可以通过使用 OpenAI 的 tiktoken 分词器库 来估算它会使用多少个 token。
这尤其有用,因为嵌入模型(如 text-embedding-3-small)都有最大 token 上限,你需要确保不超出该范围。
如何使用 Tiktoken 统计 Token
你可以使用 tiktoken Python 包来计算一个字符串会生成多少个 token。
下面是一个示例代码片段:
import tiktoken
def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""返回文本字符串中的 token 数量。"""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens
# 示例用法
num_tokens = num_tokens_from_string("tiktoken is great!", "cl100k_base")
print(num_tokens)重要:
对于第三代嵌入模型(例如
text-embedding-3-small或text-embedding-3-large),应使用"cl100k_base"编码。不同模型可能需要不同的编码——如果不确定,请务必参考模型文档。
为什么统计 Token 很重要
如果你的字符串超过了模型的最大输入大小,你的 API 请求将会失败。
提前准确统计 token 数量可以让嵌入流程更顺畅,并避免处理过程中出现错误。
