rajentrivedi / tokenizer-x
TokenizerX 计算给定提示所需令牌
Requires
- php: ^8.1
- illuminate/console: ^9.52.16 || ^10.28.0 || ^11.0
- illuminate/contracts: ^10.0 || ^11.0
- illuminate/support: ^9.52.16 || ^10.28.0 || ^11.0
- spatie/laravel-package-tools: ^1.14.0
- yethee/tiktoken: ^0.5.1
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.0 || ^8.0 || ^9.0 ||^10.0
- nunomaduro/larastan: ^2.9.2
- orchestra/testbench: ^7.33.0 || ^8.13.0 || ^9.0.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
TokenizerX 支持 Laravel 11 和 Laravel 10。
安装
composer require rajentrivedi/tokenizer-x
TokenizerX
TokenizerX 是一个 Laravel 扩展包,旨在简化应用程序中的令牌化流程。通过最新更新,TokenizerX 现在支持最新的 GPT-4 模型,提供高级自然语言处理能力。
它在请求 OpenAI REST API 之前计算给定提示所需的令牌。此扩展包有助于确保用户不超过 OpenAI API 令牌限制,并生成准确响应。
要访问 OpenAI Rest API,您可以考虑使用漂亮的 Laravel 扩展包 OpenAI PHP。
支持的 OpenAI 模型
- gpt-4o
- gpt-4
- gpt-3.5-turbo
- text-davinci-003
- text-davinci-002
- text-davinci-001
- text-curie-001
- text-babbage-001
- text-ada-001
- davinci
- curie
- babbage
- ada
- code-davinci-002
- code-davinci-001
- code-cushman-002
- code-cushman-001
- davinci-codex
- cushman-codex
- text-davinci-edit-001
- code-davinci-edit-001
- text-embedding-ada-002
- text-similarity-davinci-001
- text-similarity-curie-001
- text-similarity-babbage-001
- text-similarity-ada-001
- text-search-davinci-doc-001
- text-search-curie-doc-001
- text-search-babbage-doc-001
- text-search-ada-doc-001
- code-search-babbage-code-001
- code-search-ada-code-001
支持的编码
- r50k_base
- p50k_base
- p50k_edit
- cl100k_base
安装
您可以通过 composer 安装此扩展包
composer require rajentrivedi/tokenizer-x
用法
默认情况下,扩展包将考虑 GPT-3 模型
use Rajentrivedi\TokenizerX\TokenizerX; TokenizerX::count("how are you?");
如果您想要特定 OpenAI 模型的令牌计数,可以从上述支持的模型列表中传递模型作为第二个参数。
use Rajentrivedi\TokenizerX\TokenizerX; TokenizerX::count("how are you?", "gpt-4");
您还可以从文件中读取文本
TokenizerX::count(file_get_contents('path_to_file'));
请确保在程序读取文件时文件中的文本不发生变化,这可能是由于编码引起的。您可以使用以下方法检查生成的令牌 ID
TokenizerX::tokens(file_get_contents('path_to_file'));
这将返回生成的令牌数组并比较这些令牌 ID 与 OpenAI Tokenizer
您还可以使用 OpenAI Tokenizer 来双重检查扩展包生成的令牌计数。
支持
如果您觉得 TokenizerX 有帮助,并希望支持其持续发展,您可以通过给我买一杯咖啡来贡献!您的支持有助于维护和改进 Laravel 社区的扩展包。
测试
composer test
更新日志
有关最近更改的更多信息,请参阅 更新日志。
贡献
有关详细信息,请参阅 贡献指南。
安全漏洞
有关如何报告安全漏洞,请参阅 我们的安全策略。
⭐ Star the Repository ⭐
如果您觉得这个项目有用或有趣,请友好地请求您在 GitHub 上给它一个 ⭐ 星。您的支持将鼓励并激励我继续改进和维护此项目。
通过关注仓库,您可以表达对开发此开源项目所投入工作的赞赏。这也有助于增加其可见性,使其更容易被其他开发者访问,并可能吸引贡献者。
要给 ⭐ 星标,只需单击仓库页面右上角的 星标 按钮。
致谢
许可证
TokenizerX 使用以下技术开发:
MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件。