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

在尝试嵌入字符串前,如何判断它会有多少个 Token?

计算/估算嵌入的 Token 数

更新于:10 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:
"""Returns the number of tokens in a text string."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens

# Example usage
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 数可确保嵌入工作流更顺畅,并防止处理过程中出错。

---

这篇文章对你有帮助吗?