首页 >科技周边 >人工智能 >tiktoken教程:Openai&#x27的Python图书馆用于令牌文本

tiktoken教程:Openai&#x27的Python图书馆用于令牌文本

Jennifer Aniston
Jennifer Aniston原创
2025-03-05 10:30:11870浏览

Tiktoken Tutorial: OpenAI's Python Library for Tokenizing Text

分词是处理自然语言处理 (NLP) 任务时的基本步骤。它涉及将文本分解成更小的单元,称为标记,这些单元可以是单词、子词或字符。

高效的分词对于语言模型的性能至关重要,使其成为各种 NLP 任务(如文本生成、翻译和摘要)中的一个重要步骤。

Tiktoken 是 OpenAI 开发的一个快速高效的分词库。它提供了一个强大的解决方案,用于将文本转换为标记,反之亦然。其速度和效率使其成为处理大型数据集和复杂模型的开发人员和数据科学家的绝佳选择。

本指南专为开发人员、数据科学家以及任何计划使用 Tiktoken 并需要包含示例的实用指南的人员而设计。

OpenAI 基础知识

开始使用 OpenAI API 及更多功能!

立即开始开始使用 Tiktoken

要开始使用 Tiktoken,我们需要在 Python 环境中安装它(Tiktoken 也适用于其他编程语言)。可以使用以下命令完成此操作:

<code>pip install tiktoken</code>

您可以在以下 GitHub 存储库中查看 Tiktoken 开源 Python 版本的代码。

要导入库,我们运行:

<code>import tiktoken</code>

编码模型

Tiktoken 中的编码模型决定了将文本分解成标记的规则。这些模型至关重要,因为它们定义了文本的分割和编码方式,从而影响语言处理任务的效率和准确性。不同的 OpenAI 模型使用不同的编码。

Tiktoken 提供了三种针对不同用例优化的编码模型:

  • o200k_base:最新 GPT-4o-Mini 模型的编码。
  • cl100k_base:较新 OpenAI 模型(如 GPT-4 和 GPT-3.5-Turbo)的编码模型。
  • p50k_base:Codex 模型的编码,这些模型用于代码应用程序。
  • r50k_base:不同版本的 GPT-3 的较旧编码。

所有这些模型都可用于 OpenAI 的 API。请注意,API 提供的模型比这里列出的要多得多。幸运的是,Tiktoken 库提供了一种简单的方法来检查应将哪个编码与哪个模型一起使用。

例如,如果我需要知道 text-embedding-3-small 模型使用什么编码模型,我可以运行以下命令并获得答案作为输出:

<code>pip install tiktoken</code>

我们得到作为输出。在我们直接使用 Tiktoken 之前,我想提到 OpenAI 有一个标记化 Web 应用程序,您可以在其中查看不同的字符串是如何标记化的——您可以在这里访问它。还有一个第三方在线标记器 Tiktokenizer,它支持非 OpenAI 模型。

将文本编码为标记

要使用 Tiktoken 将文本编码为标记,您首先需要获取编码对象。初始化它有两种方法。首先,您可以使用标记器的名称来执行此操作:

<code>import tiktoken</code>

或者,您可以运行前面提到的 encoding_for_model 函数以获取特定模型的编码器:

<code>print(tiktoken.encoding_for_model('text-embedding-3-small'))</code>

现在,我们可以运行编码对象的 encode 方法来编码字符串。例如,我们可以按照以下方式编码“我爱 DataCamp”字符串——这里我使用 cl100k_base 编码器:

<code>encoding = tiktoken.get_encoding("[标记器名称]")</code>

我们得到[40, 3021, 2956, 34955]作为输出。

将标记解码为文本

要将标记解码回文本,我们可以在编码对象上使用 .decode() 方法。

让我们解码以下标记[40, 4048, 264, 2763, 505, 2956, 34955]:

<code>encoding = tiktoken.encoding_for_model("[模型名称]")</code>

这些标记解码为“我从 DataCamp 学到了很多东西”。

实际用例和技巧

除了编码和解码之外,我还想到了另外两个用例。

成本估算和管理

在向 OpenAI API 发送请求之前了解标记计数可以帮助您有效地管理成本。由于 OpenAI 的计费基于处理的标记数量,因此预标记文本允许您估算 API 使用成本。以下是如何使用 Tiktoken 计算文本中的标记:

<code>print(encoding.encode("我爱 DataCamp"))</code>

我们只需通过检查数组的长度来查看我们获得了多少个标记。通过提前了解标记数量,您可以决定是否缩短文本或调整使用情况以保持预算内。

您可以在本关于使用 Python 中的 tiktoken 库估算 GPT 成本的教程中阅读更多关于此方法的信息。

输入长度验证

当使用来自 API 的 OpenAI 模型时,您受到输入和输出最大标记数的限制。超过这些限制会导致错误或输出被截断。使用 Tiktoken,您可以验证输入长度并确保它符合标记限制。

结论

Tiktoken 是一个开源分词库,它提供针对 OpenAI 语言模型量身定制的速度和效率。

了解如何使用 Tiktoken 编码和解码文本及其各种编码模型,可以极大地增强您使用大型语言模型的工作。

获得顶级 AI 认证

证明您可以有效且负责任地使用 AI。获得认证,获得聘用

以上是tiktoken教程:Openai&#x27的Python图书馆用于令牌文本的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn