OpenAI
页面内容为机器翻译。查看英文原文

在尝试为字符串生成嵌入之前,如何判断它会有多少个 token?

计算/估算嵌入的 token 数量

更新于:13 days ago

在发送字符串进行嵌入之前,你可以通过使用 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-smalltext-embedding-3-large),应使用 "cl100k_base" 编码。

  • 不同模型可能需要不同的编码——如果不确定,请务必参考模型文档。


为什么统计 Token 很重要

  • 如果你的字符串超过了模型的最大输入大小,你的 API 请求将会失败。

  • 提前准确统计 token 数量可以让嵌入流程更顺畅,并避免处理过程中出现错误。


有用链接

这篇文章对你有帮助吗?