ze / tokenizer-gpt3
PHP 包用于 GPT-3 使用的字节对编码 (BPE)。
v1.1
2023-02-28 03:52 UTC
Requires
- php: ^7.4.0
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^9.5.8
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 文件。