fourkitchens / tiktoken
PHP版本的tiktoken
dev-master
2024-06-12 03:51 UTC
Requires
- php: ^8.1
- symfony/service-contracts: ^2.5 || ^3.0
Requires (Dev)
- doctrine/coding-standard: ^12.0
- mikey179/vfsstream: ^1.6.11
- phpbench/phpbench: ^1.2
- phpunit/phpunit: ^10.5.20
- psalm/plugin-phpunit: ^0.19.0
- vimeo/psalm: 5.23.1
This package is not auto-updated.
Last update: 2024-09-19 03:53:24 UTC
README
这是tiktoken的移植版本。
安装
$ composer require yethee/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|>
)。