guttedgarden / tiktoken
tiktoken 的 PHP 7.4 版本
1.0.0
2023-10-13 12:42 UTC
Requires
- php: >=7.4
This package is not auto-updated.
Last update: 2024-09-28 16:25:57 UTC
README
为 PHP 7.4 端口的 Yethee 的 tiktoken 库,没有使用 Symfony 包
安装
$ composer require guttedgarden/tiktoken
使用方法
use guttedgarden\Tiktoken\EncoderProvider; $provider = new EncoderProvider(); $encoder = $provider->getForModel('gpt-3.5-turbo-0301'); $tokens = $encoder->encode('Hello world!'); print_r($tokens); // OUT: [9906, 1917, 0] $encoder = $provider->get('p50k_base'); $tokens = $encoder->encode('Hello world!'); print_r($tokens); // OUT: [15496, 995, 0]
缓存
编码器使用外部词汇表,因此默认使用缓存以避免性能问题。
默认情况下,使用 临时文件目录。您可以通过环境变量 TIKTOKEN_CACHE_DIR
覆盖缓存目录或使用 EncoderProvider::setVocabCache()
use guttedgarden\Tiktoken\EncoderProvider; $encProvider = new EncoderProvider(); $encProvider->setVocabCache('/path/to/cache'); // Using the provider
禁用缓存
如果您有理由这样做,可以通过以下方式之一禁用缓存:
- 将环境变量
TIKTOKEN_CACHE_DIR
设置为空字符串。 - 程序化方式
use guttedgarden\Tiktoken\EncoderProvider; $encProvider = new EncoderProvider(); $encProvider->setVocabCache(null); // disable the cache
限制
- 不支持 GPT-2 的编码。
- 不支持特殊标记(如
<|endofprompt|>
)。