ze/tokenizer-gpt3

PHP 包用于 GPT-3 使用的字节对编码 (BPE)。

v1.1 2023-02-28 03:52 UTC

This package is auto-updated.

Last update: 2024-09-28 07:21:34 UTC


README

此项目是从 Gioni06/GPT3Tokenizer 分支出来的。
仅对 PHP 7.4 兼容性进行了一些修改。

这是 GPT-3 标准化程序的 PHP 版本。它基于 原始 Python 实现Nodejs 实现

GPT-2 和 GPT-3 使用字节对编码技术将文本转换为整数序列,然后作为模型的输入。当您与 OpenAI API 交互时,您可能需要在将文本发送到 API 之前计算给定文本中的标记数量。

如果您想了解更多信息,请阅读 Hugging Face 的 标准化程序摘要

安装

composer require ze/tokenizer-gpt3

使用配置类

$defaultConfig = new Gpt3TokenizerConfig();

$customConfig = new Gpt3TokenizerConfig();
$customConfig
    ->vocabPath('custom_vocab.json') 
    ->mergesPath('custom_merges.txt')
    ->useCache(false)

关于缓存的说明

标准化程序将尝试使用 apcu 进行缓存,如果不可用,则使用纯 PHP array。在处理长文本时,使用缓存将提供更好的性能。默认启用缓存。

编码文本

$config = new Gpt3TokenizerConfig();
$tokenizer = new Gpt3Tokenizer($config);
$text = "This is some text";
$tokens = $tokenizer->encode($text);
// [1212,318,617,2420]

解码文本

$config = new Gpt3TokenizerConfig();
$tokenizer = new Gpt3Tokenizer($config);
$tokens = [1212,318,617,2420]
$text = $tokenizer->decode($tokens);
// "This is some text"

计算文本中的标记数量

$config = new Gpt3TokenizerConfig();
$tokenizer = new Gpt3Tokenizer($config);
$text = "This is some text";
$numberOfTokens = $tokenizer->count($text);
// 4

许可证

本项目使用 Apache License 2.0 许可证。有关更多信息,请参阅 LICENSE 文件。