分词是处理自然语言处理 (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 将文本编码为标记,您首先需要获取编码对象。初始化它有两种方法。首先,您可以使用标记器的名称来执行此操作:
<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中文网其他相关文章!

本文探讨了“人工智能代理机构衰败”日益增长的关注 - 我们独立思考和决定的能力逐渐下降。 这对于越来越自动化世界的业务领袖尤其至关重要

有没有想过像Siri和Alexa这样的AI代理商是如何工作的?这些智能系统在我们的日常生活中变得越来越重要。本文介绍了反应模式,这种方法通过结合推理来增强AI代理

芝加哥大学校长Paul Alivisatos在一月份达沃斯论坛上接受德勤Nitin Mittal采访时表示:“我认为人工智能工具正在改变大学生的学习机会。我们坚信以核心课程培养学生,但越来越多的人也希望获得计算和统计思维的视角。” 他认为,人们将不得不成为人工智能的创造者和共同创造者,这意味着学习和其他方面都需要适应一些重大变化。 数字智能与批判性思维 乔治·华盛顿大学的Alexa Joubin教授在Phys.org发表的一篇文章中,将人工智能描述为人文科学的“启发式工具”,并探讨了它如何改变

Langchain是用于构建复杂AI应用程序的强大工具包。 它的代理体系结构特别值得注意,使开发人员能够创建能够独立推理,决策和行动的智能系统。这个咨询

径向基函数神经网络(RBFNNS):综合指南 径向基函数神经网络(RBFNN)是利用径向基础功能激活的强大类型的神经网络体系结构。 它们独特的结构使

脑部计算机界面(BCIS)将大脑直接连接到外部设备,将大脑冲动转化为没有身体运动的动作。 该技术利用植入传感器捕获大脑信号,将其转换为数字订票

这一“带有数据的领先”情节以Ines Montani,爆炸AI的联合创始人兼首席执行官Ines Montani,以及Spacy and Prodigy的共同开发者。 INE提供了有关这些工具发展的专家见解,爆炸的独特商业模式以及TR

本文探讨了检索增强发电(RAG)系统以及AI代理如何增强其功能。 传统的抹布系统虽然可用于利用自定义企业数据,但仍受诸如缺乏实时dat之类的限制


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版
好用的JavaScript开发工具