guanhui07 / tiktoken
tiktoken 的 PHP 版本
1.0.2
2024-08-23 08:49 UTC
Requires
- php: ^7.2
- symfony/service-contracts: ^2.0 || ^3.0
This package is auto-updated.
Last update: 2024-09-23 09:03:33 UTC
README
这是对 tiktoken 的移植。
安装
$ composer require guanhui07/tiktoken
使用方法
use Yethee\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 Yethee\Tiktoken\EncoderProvider; $encProvider = new EncoderProvider(); $encProvider->setVocabCache('/path/to/cache'); // Using the provider
禁用缓存
如果需要,您可以通过以下方式之一禁用缓存:
- 将环境变量
TIKTOKEN_CACHE_DIR
设置为空字符串。 - 编程方式
use Yethee\Tiktoken\EncoderProvider; $encProvider = new EncoderProvider(); $encProvider->setVocabCache(null); // disable the cache
限制
- 不支持 GPT-2 的编码。
- 不支持特殊令牌(如
<|endofprompt|>
)。