gpt-tokenizer 2.6.1 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/cjs/BytePairEncodingCore.d.ts +4 -4
- package/cjs/BytePairEncodingCore.js +24 -24
- package/cjs/BytePairEncodingCore.js.map +1 -1
- package/cjs/GptEncoding.d.ts +19 -4
- package/cjs/GptEncoding.js +47 -15
- package/cjs/GptEncoding.js.map +1 -1
- package/cjs/GptEncoding.test.js +28 -1
- package/cjs/GptEncoding.test.js.map +1 -1
- package/cjs/constants.d.ts +1 -0
- package/cjs/constants.js +5 -0
- package/cjs/constants.js.map +1 -0
- package/cjs/encoding/cl100k_base.d.ts +3 -2
- package/cjs/encoding/cl100k_base.js +4 -2
- package/cjs/encoding/cl100k_base.js.map +1 -1
- package/cjs/encoding/o200k_base.d.ts +3 -2
- package/cjs/encoding/o200k_base.js +4 -2
- package/cjs/encoding/o200k_base.js.map +1 -1
- package/cjs/encoding/p50k_base.d.ts +3 -2
- package/cjs/encoding/p50k_base.js +4 -2
- package/cjs/encoding/p50k_base.js.map +1 -1
- package/cjs/encoding/p50k_edit.d.ts +3 -2
- package/cjs/encoding/p50k_edit.js +4 -2
- package/cjs/encoding/p50k_edit.js.map +1 -1
- package/cjs/encoding/r50k_base.d.ts +3 -2
- package/cjs/encoding/r50k_base.js +4 -2
- package/cjs/encoding/r50k_base.js.map +1 -1
- package/cjs/encodingParams/Cl100KBase.d.ts +1 -1
- package/cjs/encodingParams/Cl100KBase.js +3 -3
- package/cjs/encodingParams/Cl100KBase.js.map +1 -1
- package/cjs/encodingParams/O200KBase.d.ts +1 -1
- package/cjs/encodingParams/O200KBase.js +3 -3
- package/cjs/encodingParams/O200KBase.js.map +1 -1
- package/cjs/encodingParams/P50KBase.d.ts +1 -1
- package/cjs/encodingParams/P50KBase.js +3 -3
- package/cjs/encodingParams/P50KBase.js.map +1 -1
- package/cjs/encodingParams/P50KEdit.d.ts +1 -1
- package/cjs/encodingParams/P50KEdit.js +3 -3
- package/cjs/encodingParams/P50KEdit.js.map +1 -1
- package/cjs/encodingParams/R50KBase.d.ts +1 -1
- package/cjs/encodingParams/R50KBase.js +3 -3
- package/cjs/encodingParams/R50KBase.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-0125.d.ts +1 -0
- package/cjs/model/gpt-3.5-turbo-0125.js +1 -0
- package/cjs/model/gpt-3.5-turbo-0125.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-0301.d.ts +1 -0
- package/cjs/model/gpt-3.5-turbo-0301.js +1 -0
- package/cjs/model/gpt-3.5-turbo-0301.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-0613.d.ts +1 -0
- package/cjs/model/gpt-3.5-turbo-0613.js +1 -0
- package/cjs/model/gpt-3.5-turbo-0613.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-1106.d.ts +1 -0
- package/cjs/model/gpt-3.5-turbo-1106.js +1 -0
- package/cjs/model/gpt-3.5-turbo-1106.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-16k-0613.d.ts +1 -0
- package/cjs/model/gpt-3.5-turbo-16k-0613.js +1 -0
- package/cjs/model/gpt-3.5-turbo-16k-0613.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-16k.d.ts +1 -0
- package/cjs/model/gpt-3.5-turbo-16k.js +1 -0
- package/cjs/model/gpt-3.5-turbo-16k.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-finetune.d.ts +1 -0
- package/cjs/model/gpt-3.5-turbo-finetune.js +1 -0
- package/cjs/model/gpt-3.5-turbo-finetune.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo.d.ts +1 -0
- package/cjs/model/gpt-3.5-turbo.js +1 -0
- package/cjs/model/gpt-3.5-turbo.js.map +1 -1
- package/cjs/model/gpt-4-0125-preview.d.ts +1 -0
- package/cjs/model/gpt-4-0125-preview.js +1 -0
- package/cjs/model/gpt-4-0125-preview.js.map +1 -1
- package/cjs/model/gpt-4-0314.d.ts +1 -0
- package/cjs/model/gpt-4-0314.js +1 -0
- package/cjs/model/gpt-4-0314.js.map +1 -1
- package/cjs/model/gpt-4-0613.d.ts +1 -0
- package/cjs/model/gpt-4-0613.js +1 -0
- package/cjs/model/gpt-4-0613.js.map +1 -1
- package/cjs/model/gpt-4-1106-preview.d.ts +1 -0
- package/cjs/model/gpt-4-1106-preview.js +1 -0
- package/cjs/model/gpt-4-1106-preview.js.map +1 -1
- package/cjs/model/gpt-4-1106-vision-preview.d.ts +1 -0
- package/cjs/model/gpt-4-1106-vision-preview.js +1 -0
- package/cjs/model/gpt-4-1106-vision-preview.js.map +1 -1
- package/cjs/model/gpt-4-32k-0314.d.ts +1 -0
- package/cjs/model/gpt-4-32k-0314.js +1 -0
- package/cjs/model/gpt-4-32k-0314.js.map +1 -1
- package/cjs/model/gpt-4-32k-0613.d.ts +1 -0
- package/cjs/model/gpt-4-32k-0613.js +1 -0
- package/cjs/model/gpt-4-32k-0613.js.map +1 -1
- package/cjs/model/gpt-4-32k.d.ts +1 -0
- package/cjs/model/gpt-4-32k.js +1 -0
- package/cjs/model/gpt-4-32k.js.map +1 -1
- package/cjs/model/gpt-4-turbo-2024-04-09.d.ts +1 -0
- package/cjs/model/gpt-4-turbo-2024-04-09.js +1 -0
- package/cjs/model/gpt-4-turbo-2024-04-09.js.map +1 -1
- package/cjs/model/gpt-4-turbo-preview.d.ts +1 -0
- package/cjs/model/gpt-4-turbo-preview.js +1 -0
- package/cjs/model/gpt-4-turbo-preview.js.map +1 -1
- package/cjs/model/gpt-4-turbo.d.ts +1 -0
- package/cjs/model/gpt-4-turbo.js +1 -0
- package/cjs/model/gpt-4-turbo.js.map +1 -1
- package/cjs/model/gpt-4-vision-preview.d.ts +1 -0
- package/cjs/model/gpt-4-vision-preview.js +1 -0
- package/cjs/model/gpt-4-vision-preview.js.map +1 -1
- package/cjs/model/gpt-4.d.ts +1 -0
- package/cjs/model/gpt-4.js +1 -0
- package/cjs/model/gpt-4.js.map +1 -1
- package/cjs/model/gpt-4o-2024-05-13.d.ts +1 -0
- package/cjs/model/gpt-4o-2024-05-13.js +1 -0
- package/cjs/model/gpt-4o-2024-05-13.js.map +1 -1
- package/cjs/model/gpt-4o-2024-08-06-finetune.d.ts +1 -0
- package/cjs/model/gpt-4o-2024-08-06-finetune.js +1 -0
- package/cjs/model/gpt-4o-2024-08-06-finetune.js.map +1 -1
- package/cjs/model/gpt-4o-2024-08-06.d.ts +1 -0
- package/cjs/model/gpt-4o-2024-08-06.js +1 -0
- package/cjs/model/gpt-4o-2024-08-06.js.map +1 -1
- package/cjs/model/gpt-4o-audio-preview-2024-10-01.d.ts +1 -0
- package/cjs/model/gpt-4o-audio-preview-2024-10-01.js +1 -0
- package/cjs/model/gpt-4o-audio-preview-2024-10-01.js.map +1 -1
- package/cjs/model/gpt-4o-audio-preview.d.ts +1 -0
- package/cjs/model/gpt-4o-audio-preview.js +1 -0
- package/cjs/model/gpt-4o-audio-preview.js.map +1 -1
- package/cjs/model/gpt-4o-mini-2024-07-18-finetune.d.ts +1 -0
- package/cjs/model/gpt-4o-mini-2024-07-18-finetune.js +1 -0
- package/cjs/model/gpt-4o-mini-2024-07-18-finetune.js.map +1 -1
- package/cjs/model/gpt-4o-mini-2024-07-18.d.ts +1 -0
- package/cjs/model/gpt-4o-mini-2024-07-18.js +1 -0
- package/cjs/model/gpt-4o-mini-2024-07-18.js.map +1 -1
- package/cjs/model/gpt-4o-mini-training-2024-07-18.d.ts +1 -0
- package/cjs/model/gpt-4o-mini-training-2024-07-18.js +1 -0
- package/cjs/model/gpt-4o-mini-training-2024-07-18.js.map +1 -1
- package/cjs/model/gpt-4o-mini-training.d.ts +1 -0
- package/cjs/model/gpt-4o-mini-training.js +1 -0
- package/cjs/model/gpt-4o-mini-training.js.map +1 -1
- package/cjs/model/gpt-4o-mini.d.ts +1 -0
- package/cjs/model/gpt-4o-mini.js +1 -0
- package/cjs/model/gpt-4o-mini.js.map +1 -1
- package/cjs/model/gpt-4o-realtime-preview-2024-10-01.d.ts +1 -0
- package/cjs/model/gpt-4o-realtime-preview-2024-10-01.js +1 -0
- package/cjs/model/gpt-4o-realtime-preview-2024-10-01.js.map +1 -1
- package/cjs/model/gpt-4o-realtime-preview.d.ts +1 -0
- package/cjs/model/gpt-4o-realtime-preview.js +1 -0
- package/cjs/model/gpt-4o-realtime-preview.js.map +1 -1
- package/cjs/model/gpt-4o.d.ts +1 -0
- package/cjs/model/gpt-4o.js +1 -0
- package/cjs/model/gpt-4o.js.map +1 -1
- package/cjs/modelParams.d.ts +1 -1
- package/dist/cl100k_base.js +1 -1
- package/dist/cl100k_base.js.map +1 -1
- package/dist/o200k_base.js +1 -1
- package/dist/o200k_base.js.map +1 -1
- package/dist/p50k_base.js +1 -1
- package/dist/p50k_base.js.map +1 -1
- package/dist/p50k_edit.js +1 -1
- package/dist/p50k_edit.js.map +1 -1
- package/dist/r50k_base.js +1 -1
- package/dist/r50k_base.js.map +1 -1
- package/esm/BytePairEncodingCore.d.ts +4 -4
- package/esm/BytePairEncodingCore.js +24 -24
- package/esm/BytePairEncodingCore.js.map +1 -1
- package/esm/GptEncoding.d.ts +19 -4
- package/esm/GptEncoding.js +46 -14
- package/esm/GptEncoding.js.map +1 -1
- package/esm/GptEncoding.test.js +28 -1
- package/esm/GptEncoding.test.js.map +1 -1
- package/esm/constants.d.ts +1 -0
- package/esm/constants.js +2 -0
- package/esm/constants.js.map +1 -0
- package/esm/encoding/cl100k_base.d.ts +3 -2
- package/esm/encoding/cl100k_base.js +3 -2
- package/esm/encoding/cl100k_base.js.map +1 -1
- package/esm/encoding/o200k_base.d.ts +3 -2
- package/esm/encoding/o200k_base.js +3 -2
- package/esm/encoding/o200k_base.js.map +1 -1
- package/esm/encoding/p50k_base.d.ts +3 -2
- package/esm/encoding/p50k_base.js +3 -2
- package/esm/encoding/p50k_base.js.map +1 -1
- package/esm/encoding/p50k_edit.d.ts +3 -2
- package/esm/encoding/p50k_edit.js +3 -2
- package/esm/encoding/p50k_edit.js.map +1 -1
- package/esm/encoding/r50k_base.d.ts +3 -2
- package/esm/encoding/r50k_base.js +3 -2
- package/esm/encoding/r50k_base.js.map +1 -1
- package/esm/encodingParams/Cl100KBase.d.ts +1 -1
- package/esm/encodingParams/Cl100KBase.js +3 -3
- package/esm/encodingParams/Cl100KBase.js.map +1 -1
- package/esm/encodingParams/O200KBase.d.ts +1 -1
- package/esm/encodingParams/O200KBase.js +3 -3
- package/esm/encodingParams/O200KBase.js.map +1 -1
- package/esm/encodingParams/P50KBase.d.ts +1 -1
- package/esm/encodingParams/P50KBase.js +3 -3
- package/esm/encodingParams/P50KBase.js.map +1 -1
- package/esm/encodingParams/P50KEdit.d.ts +1 -1
- package/esm/encodingParams/P50KEdit.js +3 -3
- package/esm/encodingParams/P50KEdit.js.map +1 -1
- package/esm/encodingParams/R50KBase.d.ts +1 -1
- package/esm/encodingParams/R50KBase.js +3 -3
- package/esm/encodingParams/R50KBase.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-0125.d.ts +1 -0
- package/esm/model/gpt-3.5-turbo-0125.js +1 -0
- package/esm/model/gpt-3.5-turbo-0125.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-0301.d.ts +1 -0
- package/esm/model/gpt-3.5-turbo-0301.js +1 -0
- package/esm/model/gpt-3.5-turbo-0301.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-0613.d.ts +1 -0
- package/esm/model/gpt-3.5-turbo-0613.js +1 -0
- package/esm/model/gpt-3.5-turbo-0613.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-1106.d.ts +1 -0
- package/esm/model/gpt-3.5-turbo-1106.js +1 -0
- package/esm/model/gpt-3.5-turbo-1106.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-16k-0613.d.ts +1 -0
- package/esm/model/gpt-3.5-turbo-16k-0613.js +1 -0
- package/esm/model/gpt-3.5-turbo-16k-0613.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-16k.d.ts +1 -0
- package/esm/model/gpt-3.5-turbo-16k.js +1 -0
- package/esm/model/gpt-3.5-turbo-16k.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-finetune.d.ts +1 -0
- package/esm/model/gpt-3.5-turbo-finetune.js +1 -0
- package/esm/model/gpt-3.5-turbo-finetune.js.map +1 -1
- package/esm/model/gpt-3.5-turbo.d.ts +1 -0
- package/esm/model/gpt-3.5-turbo.js +1 -0
- package/esm/model/gpt-3.5-turbo.js.map +1 -1
- package/esm/model/gpt-4-0125-preview.d.ts +1 -0
- package/esm/model/gpt-4-0125-preview.js +1 -0
- package/esm/model/gpt-4-0125-preview.js.map +1 -1
- package/esm/model/gpt-4-0314.d.ts +1 -0
- package/esm/model/gpt-4-0314.js +1 -0
- package/esm/model/gpt-4-0314.js.map +1 -1
- package/esm/model/gpt-4-0613.d.ts +1 -0
- package/esm/model/gpt-4-0613.js +1 -0
- package/esm/model/gpt-4-0613.js.map +1 -1
- package/esm/model/gpt-4-1106-preview.d.ts +1 -0
- package/esm/model/gpt-4-1106-preview.js +1 -0
- package/esm/model/gpt-4-1106-preview.js.map +1 -1
- package/esm/model/gpt-4-1106-vision-preview.d.ts +1 -0
- package/esm/model/gpt-4-1106-vision-preview.js +1 -0
- package/esm/model/gpt-4-1106-vision-preview.js.map +1 -1
- package/esm/model/gpt-4-32k-0314.d.ts +1 -0
- package/esm/model/gpt-4-32k-0314.js +1 -0
- package/esm/model/gpt-4-32k-0314.js.map +1 -1
- package/esm/model/gpt-4-32k-0613.d.ts +1 -0
- package/esm/model/gpt-4-32k-0613.js +1 -0
- package/esm/model/gpt-4-32k-0613.js.map +1 -1
- package/esm/model/gpt-4-32k.d.ts +1 -0
- package/esm/model/gpt-4-32k.js +1 -0
- package/esm/model/gpt-4-32k.js.map +1 -1
- package/esm/model/gpt-4-turbo-2024-04-09.d.ts +1 -0
- package/esm/model/gpt-4-turbo-2024-04-09.js +1 -0
- package/esm/model/gpt-4-turbo-2024-04-09.js.map +1 -1
- package/esm/model/gpt-4-turbo-preview.d.ts +1 -0
- package/esm/model/gpt-4-turbo-preview.js +1 -0
- package/esm/model/gpt-4-turbo-preview.js.map +1 -1
- package/esm/model/gpt-4-turbo.d.ts +1 -0
- package/esm/model/gpt-4-turbo.js +1 -0
- package/esm/model/gpt-4-turbo.js.map +1 -1
- package/esm/model/gpt-4-vision-preview.d.ts +1 -0
- package/esm/model/gpt-4-vision-preview.js +1 -0
- package/esm/model/gpt-4-vision-preview.js.map +1 -1
- package/esm/model/gpt-4.d.ts +1 -0
- package/esm/model/gpt-4.js +1 -0
- package/esm/model/gpt-4.js.map +1 -1
- package/esm/model/gpt-4o-2024-05-13.d.ts +1 -0
- package/esm/model/gpt-4o-2024-05-13.js +1 -0
- package/esm/model/gpt-4o-2024-05-13.js.map +1 -1
- package/esm/model/gpt-4o-2024-08-06-finetune.d.ts +1 -0
- package/esm/model/gpt-4o-2024-08-06-finetune.js +1 -0
- package/esm/model/gpt-4o-2024-08-06-finetune.js.map +1 -1
- package/esm/model/gpt-4o-2024-08-06.d.ts +1 -0
- package/esm/model/gpt-4o-2024-08-06.js +1 -0
- package/esm/model/gpt-4o-2024-08-06.js.map +1 -1
- package/esm/model/gpt-4o-audio-preview-2024-10-01.d.ts +1 -0
- package/esm/model/gpt-4o-audio-preview-2024-10-01.js +1 -0
- package/esm/model/gpt-4o-audio-preview-2024-10-01.js.map +1 -1
- package/esm/model/gpt-4o-audio-preview.d.ts +1 -0
- package/esm/model/gpt-4o-audio-preview.js +1 -0
- package/esm/model/gpt-4o-audio-preview.js.map +1 -1
- package/esm/model/gpt-4o-mini-2024-07-18-finetune.d.ts +1 -0
- package/esm/model/gpt-4o-mini-2024-07-18-finetune.js +1 -0
- package/esm/model/gpt-4o-mini-2024-07-18-finetune.js.map +1 -1
- package/esm/model/gpt-4o-mini-2024-07-18.d.ts +1 -0
- package/esm/model/gpt-4o-mini-2024-07-18.js +1 -0
- package/esm/model/gpt-4o-mini-2024-07-18.js.map +1 -1
- package/esm/model/gpt-4o-mini-training-2024-07-18.d.ts +1 -0
- package/esm/model/gpt-4o-mini-training-2024-07-18.js +1 -0
- package/esm/model/gpt-4o-mini-training-2024-07-18.js.map +1 -1
- package/esm/model/gpt-4o-mini-training.d.ts +1 -0
- package/esm/model/gpt-4o-mini-training.js +1 -0
- package/esm/model/gpt-4o-mini-training.js.map +1 -1
- package/esm/model/gpt-4o-mini.d.ts +1 -0
- package/esm/model/gpt-4o-mini.js +1 -0
- package/esm/model/gpt-4o-mini.js.map +1 -1
- package/esm/model/gpt-4o-realtime-preview-2024-10-01.d.ts +1 -0
- package/esm/model/gpt-4o-realtime-preview-2024-10-01.js +1 -0
- package/esm/model/gpt-4o-realtime-preview-2024-10-01.js.map +1 -1
- package/esm/model/gpt-4o-realtime-preview.d.ts +1 -0
- package/esm/model/gpt-4o-realtime-preview.js +1 -0
- package/esm/model/gpt-4o-realtime-preview.js.map +1 -1
- package/esm/model/gpt-4o.d.ts +1 -0
- package/esm/model/gpt-4o.js +1 -0
- package/esm/model/gpt-4o.js.map +1 -1
- package/esm/modelParams.d.ts +1 -1
- package/package.json +1 -1
- package/src/BytePairEncodingCore.ts +28 -30
- package/src/GptEncoding.test.ts +36 -1
- package/src/GptEncoding.ts +66 -18
- package/src/constants.ts +1 -0
- package/src/encoding/cl100k_base.ts +3 -0
- package/src/encoding/o200k_base.ts +3 -0
- package/src/encoding/p50k_base.ts +3 -0
- package/src/encoding/p50k_edit.ts +3 -0
- package/src/encoding/r50k_base.ts +3 -0
- package/src/encodingParams/Cl100KBase.ts +3 -3
- package/src/encodingParams/O200KBase.ts +3 -3
- package/src/encodingParams/P50KBase.ts +3 -3
- package/src/encodingParams/P50KEdit.ts +3 -3
- package/src/encodingParams/R50KBase.ts +3 -3
- package/src/model/gpt-3.5-turbo-0125.ts +1 -0
- package/src/model/gpt-3.5-turbo-0301.ts +1 -0
- package/src/model/gpt-3.5-turbo-0613.ts +1 -0
- package/src/model/gpt-3.5-turbo-1106.ts +1 -0
- package/src/model/gpt-3.5-turbo-16k-0613.ts +1 -0
- package/src/model/gpt-3.5-turbo-16k.ts +1 -0
- package/src/model/gpt-3.5-turbo-finetune.ts +1 -0
- package/src/model/gpt-3.5-turbo.ts +1 -0
- package/src/model/gpt-4-0125-preview.ts +1 -0
- package/src/model/gpt-4-0314.ts +1 -0
- package/src/model/gpt-4-0613.ts +1 -0
- package/src/model/gpt-4-1106-preview.ts +1 -0
- package/src/model/gpt-4-1106-vision-preview.ts +1 -0
- package/src/model/gpt-4-32k-0314.ts +1 -0
- package/src/model/gpt-4-32k-0613.ts +1 -0
- package/src/model/gpt-4-32k.ts +1 -0
- package/src/model/gpt-4-turbo-2024-04-09.ts +1 -0
- package/src/model/gpt-4-turbo-preview.ts +1 -0
- package/src/model/gpt-4-turbo.ts +1 -0
- package/src/model/gpt-4-vision-preview.ts +1 -0
- package/src/model/gpt-4.ts +1 -0
- package/src/model/gpt-4o-2024-05-13.ts +1 -0
- package/src/model/gpt-4o-2024-08-06-finetune.ts +1 -0
- package/src/model/gpt-4o-2024-08-06.ts +1 -0
- package/src/model/gpt-4o-audio-preview-2024-10-01.ts +1 -0
- package/src/model/gpt-4o-audio-preview.ts +1 -0
- package/src/model/gpt-4o-mini-2024-07-18-finetune.ts +1 -0
- package/src/model/gpt-4o-mini-2024-07-18.ts +1 -0
- package/src/model/gpt-4o-mini-training-2024-07-18.ts +1 -0
- package/src/model/gpt-4o-mini-training.ts +1 -0
- package/src/model/gpt-4o-mini.ts +1 -0
- package/src/model/gpt-4o-realtime-preview-2024-10-01.ts +1 -0
- package/src/model/gpt-4o-realtime-preview.ts +1 -0
- package/src/model/gpt-4o.ts +1 -0
- package/src/modelParams.ts +1 -1
package/src/GptEncoding.test.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from 'fs'
|
|
2
2
|
import path from 'path'
|
|
3
|
+
import { ALL_SPECIAL_TOKENS } from './constants.js'
|
|
3
4
|
import { type ChatMessage, GptEncoding } from './GptEncoding.js'
|
|
4
5
|
import {
|
|
5
6
|
type ChatModelName,
|
|
@@ -61,6 +62,25 @@ const results = {
|
|
|
61
62
|
r50k_base: sharedResults,
|
|
62
63
|
} satisfies Record<EncodingName, unknown>
|
|
63
64
|
|
|
65
|
+
const offsetPrompts = [
|
|
66
|
+
// Basic prompt with "hello world"
|
|
67
|
+
'hello world',
|
|
68
|
+
|
|
69
|
+
// Basic prompt with special token "<|endoftext|>"
|
|
70
|
+
'hello world<|endoftext|> green cow',
|
|
71
|
+
|
|
72
|
+
// Chinese text: "我非常渴望与人工智能一起工作"
|
|
73
|
+
'我非常渴望与人工智能一起工作',
|
|
74
|
+
|
|
75
|
+
// Contains the interesting tokens b'\xe0\xae\xbf\xe0\xae' and b'\xe0\xaf\x8d\xe0\xae'
|
|
76
|
+
// in which \xe0 is the start of a 3-byte UTF-8 character
|
|
77
|
+
'நடிகர் சூர்யா',
|
|
78
|
+
|
|
79
|
+
// Contains the interesting token b'\xa0\xe9\x99\xa4'
|
|
80
|
+
// in which \xe9 is the start of a 3-byte UTF-8 character and \xa0 is a continuation byte
|
|
81
|
+
' Ġ除',
|
|
82
|
+
]
|
|
83
|
+
|
|
64
84
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
65
85
|
const testPlans = loadTestPlans()
|
|
66
86
|
|
|
@@ -75,9 +95,16 @@ describe.each(encodingNames)('%s', (encodingName: EncodingName) => {
|
|
|
75
95
|
isWithinTokenLimit,
|
|
76
96
|
} = encoding
|
|
77
97
|
|
|
78
|
-
|
|
98
|
+
describe('encode and decode', () => {
|
|
99
|
+
it.each(offsetPrompts)('offset prompt: %s', (str) => {
|
|
100
|
+
expect(
|
|
101
|
+
decode(encode(str, { allowedSpecial: ALL_SPECIAL_TOKENS })),
|
|
102
|
+
).toEqual(str)
|
|
103
|
+
})
|
|
104
|
+
})
|
|
79
105
|
|
|
80
106
|
describe('basic functionality', () => {
|
|
107
|
+
const result = results[encodingName]
|
|
81
108
|
it('empty string', () => {
|
|
82
109
|
const str = ''
|
|
83
110
|
expect(encode(str)).toEqual([])
|
|
@@ -131,6 +158,14 @@ describe.each(encodingNames)('%s', (encodingName: EncodingName) => {
|
|
|
131
158
|
})
|
|
132
159
|
})
|
|
133
160
|
|
|
161
|
+
it('encodes and decodes special tokens', () => {
|
|
162
|
+
const str = 'hello <|endoftext|> world'
|
|
163
|
+
const encoded = encode(str, {
|
|
164
|
+
allowedSpecial: ALL_SPECIAL_TOKENS,
|
|
165
|
+
})
|
|
166
|
+
expect(decode(encoded)).toEqual(str)
|
|
167
|
+
})
|
|
168
|
+
|
|
134
169
|
async function* getHelloWorldTokensAsync() {
|
|
135
170
|
const str = 'hello 👋 world 🌍'
|
|
136
171
|
for (const token of result[str]) {
|
package/src/GptEncoding.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/member-ordering */
|
|
2
2
|
/* eslint-disable no-param-reassign */
|
|
3
3
|
import { BytePairEncodingCore, decoder } from './BytePairEncodingCore.js'
|
|
4
|
+
import { ALL_SPECIAL_TOKENS } from './constants.js'
|
|
4
5
|
import {
|
|
5
6
|
type ChatModelName,
|
|
6
7
|
type ChatParameters,
|
|
@@ -29,11 +30,19 @@ import {
|
|
|
29
30
|
import { endsWithIncompleteUtfPairSurrogate } from './utfUtil.js'
|
|
30
31
|
import { getMaxValueFromMap, getSpecialTokenRegex } from './util.js'
|
|
31
32
|
|
|
32
|
-
export const ALL_SPECIAL_TOKENS = 'all'
|
|
33
|
-
|
|
34
33
|
export interface EncodeOptions {
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
/**
|
|
35
|
+
* A list of special tokens that are allowed in the input.
|
|
36
|
+
* If set to 'all', all special tokens are allowed except those in disallowedSpecial.
|
|
37
|
+
* @default undefined
|
|
38
|
+
*/
|
|
39
|
+
allowedSpecial?: Set<string> | typeof ALL_SPECIAL_TOKENS
|
|
40
|
+
/**
|
|
41
|
+
* A list of special tokens that are disallowed in the input.
|
|
42
|
+
* If set to 'all', all special tokens are disallowed except those in allowedSpecial.
|
|
43
|
+
* @default 'all'
|
|
44
|
+
*/
|
|
45
|
+
disallowedSpecial?: Set<string> | typeof ALL_SPECIAL_TOKENS
|
|
37
46
|
}
|
|
38
47
|
|
|
39
48
|
export interface ChatMessage {
|
|
@@ -60,7 +69,7 @@ export class GptEncoding {
|
|
|
60
69
|
|
|
61
70
|
modelName?: ModelName
|
|
62
71
|
private bytePairEncodingCoreProcessor: BytePairEncodingCore
|
|
63
|
-
private
|
|
72
|
+
private specialTokensEncoder: Map<string, number>
|
|
64
73
|
private specialTokensSet: Set<string>
|
|
65
74
|
private allSpecialTokenRegex: RegExp
|
|
66
75
|
private defaultSpecialTokenConfig: SpecialTokenConfig
|
|
@@ -68,31 +77,31 @@ export class GptEncoding {
|
|
|
68
77
|
readonly vocabularySize: number
|
|
69
78
|
|
|
70
79
|
private constructor({
|
|
71
|
-
mergeableBytePairRanks,
|
|
72
|
-
|
|
80
|
+
bytePairRankDecoder: mergeableBytePairRanks,
|
|
81
|
+
specialTokensEncoder,
|
|
73
82
|
expectedVocabularySize,
|
|
74
83
|
modelName,
|
|
75
84
|
...rest
|
|
76
85
|
}: EncodingParams) {
|
|
77
|
-
this.
|
|
78
|
-
this.specialTokensSet = new Set<string>(this.
|
|
86
|
+
this.specialTokensEncoder = specialTokensEncoder
|
|
87
|
+
this.specialTokensSet = new Set<string>(this.specialTokensEncoder.keys())
|
|
79
88
|
this.allSpecialTokenRegex = getSpecialTokenRegex(this.specialTokensSet)
|
|
80
89
|
|
|
81
90
|
this.bytePairEncodingCoreProcessor = new BytePairEncodingCore({
|
|
82
|
-
mergeableBytePairRanks,
|
|
83
|
-
|
|
91
|
+
bytePairRankDecoder: mergeableBytePairRanks,
|
|
92
|
+
specialTokensEncoder,
|
|
84
93
|
...rest,
|
|
85
94
|
})
|
|
86
95
|
this.defaultSpecialTokenConfig = this.processSpecialTokens()
|
|
87
96
|
|
|
88
97
|
const maxTokenValue = Math.max(
|
|
89
98
|
mergeableBytePairRanks.length - 1,
|
|
90
|
-
getMaxValueFromMap(
|
|
99
|
+
getMaxValueFromMap(specialTokensEncoder),
|
|
91
100
|
)
|
|
92
101
|
|
|
93
102
|
this.vocabularySize =
|
|
94
103
|
this.bytePairEncodingCoreProcessor.mergeableBytePairRankCount +
|
|
95
|
-
|
|
104
|
+
specialTokensEncoder.size
|
|
96
105
|
|
|
97
106
|
if (expectedVocabularySize !== undefined) {
|
|
98
107
|
if (this.vocabularySize !== expectedVocabularySize) {
|
|
@@ -119,6 +128,7 @@ export class GptEncoding {
|
|
|
119
128
|
this.isWithinTokenLimit = this.isWithinTokenLimit.bind(this)
|
|
120
129
|
this.encodeChat = this.encodeChat.bind(this)
|
|
121
130
|
this.encodeChatGenerator = this.encodeChatGenerator.bind(this)
|
|
131
|
+
this.countTokens = this.countTokens.bind(this)
|
|
122
132
|
this.modelName = modelName
|
|
123
133
|
}
|
|
124
134
|
|
|
@@ -168,15 +178,37 @@ export class GptEncoding {
|
|
|
168
178
|
}: EncodeOptions = {}): SpecialTokenConfig {
|
|
169
179
|
let regexPattern: RegExp | undefined
|
|
170
180
|
|
|
171
|
-
if (
|
|
181
|
+
if (
|
|
182
|
+
allowedSpecial === ALL_SPECIAL_TOKENS ||
|
|
183
|
+
allowedSpecial?.has(ALL_SPECIAL_TOKENS)
|
|
184
|
+
) {
|
|
172
185
|
allowedSpecial = new Set(this.specialTokensSet)
|
|
186
|
+
const allowedSpecialSet = allowedSpecial
|
|
187
|
+
if (disallowedSpecial === ALL_SPECIAL_TOKENS) {
|
|
188
|
+
throw new Error(
|
|
189
|
+
'allowedSpecial and disallowedSpecial cannot both be set to "all".',
|
|
190
|
+
)
|
|
191
|
+
}
|
|
192
|
+
if (typeof disallowedSpecial === 'object') {
|
|
193
|
+
// remove any special tokens that are disallowed
|
|
194
|
+
disallowedSpecial.forEach((val) => allowedSpecialSet.delete(val))
|
|
195
|
+
} else {
|
|
196
|
+
// all special tokens are allowed, and no 'disallowedSpecial' is provided
|
|
197
|
+
disallowedSpecial = new Set()
|
|
198
|
+
}
|
|
173
199
|
}
|
|
174
200
|
|
|
175
|
-
if (
|
|
201
|
+
if (
|
|
202
|
+
!disallowedSpecial ||
|
|
203
|
+
disallowedSpecial === ALL_SPECIAL_TOKENS ||
|
|
204
|
+
disallowedSpecial.has(ALL_SPECIAL_TOKENS)
|
|
205
|
+
) {
|
|
176
206
|
// by default, all special tokens are disallowed
|
|
177
207
|
disallowedSpecial = new Set(this.specialTokensSet)
|
|
208
|
+
const disallowedSpecialSet = disallowedSpecial
|
|
178
209
|
if (allowedSpecial?.size) {
|
|
179
|
-
allowedSpecial.forEach((val) =>
|
|
210
|
+
allowedSpecial.forEach((val) => disallowedSpecialSet.delete(val))
|
|
211
|
+
// disallowed takes precedence over allowed
|
|
180
212
|
disallowedSpecial.forEach((val) => allowedSpecial.delete(val))
|
|
181
213
|
regexPattern = getSpecialTokenRegex(disallowedSpecial)
|
|
182
214
|
} else {
|
|
@@ -245,8 +277,8 @@ export class GptEncoding {
|
|
|
245
277
|
|
|
246
278
|
const params: ChatParameters | undefined =
|
|
247
279
|
chatModelParams[model as ChatModelName]
|
|
248
|
-
const chatStartToken = this.
|
|
249
|
-
const chatEndToken = this.
|
|
280
|
+
const chatStartToken = this.specialTokensEncoder.get(ImStart)
|
|
281
|
+
const chatEndToken = this.specialTokensEncoder.get(ImEnd)
|
|
250
282
|
|
|
251
283
|
if (!params || chatStartToken === undefined || chatEndToken === undefined) {
|
|
252
284
|
throw new Error(`Model '${model}' does not support chat.`)
|
|
@@ -318,6 +350,22 @@ export class GptEncoding {
|
|
|
318
350
|
return count
|
|
319
351
|
}
|
|
320
352
|
|
|
353
|
+
/**
|
|
354
|
+
* Counts the number of tokens in the input.
|
|
355
|
+
* @returns {number} The number of tokens.
|
|
356
|
+
*/
|
|
357
|
+
countTokens(input: string | Iterable<ChatMessage>): number {
|
|
358
|
+
const tokenGenerator =
|
|
359
|
+
typeof input === 'string'
|
|
360
|
+
? this.encodeGenerator(input)
|
|
361
|
+
: this.encodeChatGenerator(input)
|
|
362
|
+
let count = 0
|
|
363
|
+
for (const tokens of tokenGenerator) {
|
|
364
|
+
count += tokens.length
|
|
365
|
+
}
|
|
366
|
+
return count
|
|
367
|
+
}
|
|
368
|
+
|
|
321
369
|
decode(inputTokensToDecode: Iterable<number>): string {
|
|
322
370
|
return this.bytePairEncodingCoreProcessor.decodeNative(inputTokensToDecode)
|
|
323
371
|
}
|
package/src/constants.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const ALL_SPECIAL_TOKENS = 'all'
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
|
|
7
8
|
const api = GptEncoding.getEncodingApi('cl100k_base', () => bpeRanks)
|
|
@@ -12,11 +13,13 @@ const {
|
|
|
12
13
|
encode,
|
|
13
14
|
encodeGenerator,
|
|
14
15
|
isWithinTokenLimit,
|
|
16
|
+
countTokens,
|
|
15
17
|
encodeChat,
|
|
16
18
|
encodeChatGenerator,
|
|
17
19
|
vocabularySize,
|
|
18
20
|
} = api
|
|
19
21
|
export {
|
|
22
|
+
countTokens,
|
|
20
23
|
decode,
|
|
21
24
|
decodeAsyncGenerator,
|
|
22
25
|
decodeGenerator,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/o200k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
|
|
7
8
|
const api = GptEncoding.getEncodingApi('o200k_base', () => bpeRanks)
|
|
@@ -12,11 +13,13 @@ const {
|
|
|
12
13
|
encode,
|
|
13
14
|
encodeGenerator,
|
|
14
15
|
isWithinTokenLimit,
|
|
16
|
+
countTokens,
|
|
15
17
|
encodeChat,
|
|
16
18
|
encodeChatGenerator,
|
|
17
19
|
vocabularySize,
|
|
18
20
|
} = api
|
|
19
21
|
export {
|
|
22
|
+
countTokens,
|
|
20
23
|
decode,
|
|
21
24
|
decodeAsyncGenerator,
|
|
22
25
|
decodeGenerator,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/p50k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
|
|
7
8
|
const api = GptEncoding.getEncodingApi('p50k_base', () => bpeRanks)
|
|
@@ -12,9 +13,11 @@ const {
|
|
|
12
13
|
encode,
|
|
13
14
|
encodeGenerator,
|
|
14
15
|
isWithinTokenLimit,
|
|
16
|
+
countTokens,
|
|
15
17
|
vocabularySize,
|
|
16
18
|
} = api
|
|
17
19
|
export {
|
|
20
|
+
countTokens,
|
|
18
21
|
decode,
|
|
19
22
|
decodeAsyncGenerator,
|
|
20
23
|
decodeGenerator,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/p50k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
|
|
7
8
|
const api = GptEncoding.getEncodingApi('p50k_edit', () => bpeRanks)
|
|
@@ -12,9 +13,11 @@ const {
|
|
|
12
13
|
encode,
|
|
13
14
|
encodeGenerator,
|
|
14
15
|
isWithinTokenLimit,
|
|
16
|
+
countTokens,
|
|
15
17
|
vocabularySize,
|
|
16
18
|
} = api
|
|
17
19
|
export {
|
|
20
|
+
countTokens,
|
|
18
21
|
decode,
|
|
19
22
|
decodeAsyncGenerator,
|
|
20
23
|
decodeGenerator,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/r50k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
|
|
7
8
|
const api = GptEncoding.getEncodingApi('r50k_base', () => bpeRanks)
|
|
@@ -12,9 +13,11 @@ const {
|
|
|
12
13
|
encode,
|
|
13
14
|
encodeGenerator,
|
|
14
15
|
isWithinTokenLimit,
|
|
16
|
+
countTokens,
|
|
15
17
|
vocabularySize,
|
|
16
18
|
} = api
|
|
17
19
|
export {
|
|
20
|
+
countTokens,
|
|
18
21
|
decode,
|
|
19
22
|
decodeAsyncGenerator,
|
|
20
23
|
decodeGenerator,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from '../specialTokens.js'
|
|
14
14
|
|
|
15
15
|
export function Cl100KBase(
|
|
16
|
-
|
|
16
|
+
bytePairRankDecoder: RawBytePairRanks,
|
|
17
17
|
): EncodingParams {
|
|
18
18
|
const specialTokenMapping = new Map<string, number>([
|
|
19
19
|
[EndOfText, 100_257],
|
|
@@ -29,7 +29,7 @@ export function Cl100KBase(
|
|
|
29
29
|
return {
|
|
30
30
|
tokenSplitRegex:
|
|
31
31
|
/(?:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}{1,3}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+/giu,
|
|
32
|
-
|
|
33
|
-
specialTokenMapping,
|
|
32
|
+
bytePairRankDecoder,
|
|
33
|
+
specialTokensEncoder: specialTokenMapping,
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from '../specialTokens.js'
|
|
14
14
|
|
|
15
15
|
export function O200KBase(
|
|
16
|
-
|
|
16
|
+
bytePairRankDecoder: RawBytePairRanks,
|
|
17
17
|
): EncodingParams {
|
|
18
18
|
const specialTokenMapping = new Map<string, number>([
|
|
19
19
|
[EndOfText, 199_999],
|
|
@@ -29,7 +29,7 @@ export function O200KBase(
|
|
|
29
29
|
return {
|
|
30
30
|
tokenSplitRegex:
|
|
31
31
|
/(?:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}{1,3}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+/giu,
|
|
32
|
-
|
|
33
|
-
specialTokenMapping,
|
|
32
|
+
bytePairRankDecoder,
|
|
33
|
+
specialTokensEncoder: specialTokenMapping,
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -4,12 +4,12 @@ import { type EncodingParams, tokenSplitRegex } from '../modelParams.js'
|
|
|
4
4
|
import { EndOfText } from '../specialTokens.js'
|
|
5
5
|
|
|
6
6
|
export function P50KBase(
|
|
7
|
-
|
|
7
|
+
bytePairRankDecoder: RawBytePairRanks,
|
|
8
8
|
): EncodingParams {
|
|
9
9
|
return {
|
|
10
10
|
expectedVocabularySize: 50_281,
|
|
11
11
|
tokenSplitRegex,
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
bytePairRankDecoder,
|
|
13
|
+
specialTokensEncoder: new Map<string, number>([[EndOfText, 50_256]]),
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -4,7 +4,7 @@ import { type EncodingParams, tokenSplitRegex } from '../modelParams.js'
|
|
|
4
4
|
import { EndOfText, FimMiddle, FimPrefix, FimSuffix } from '../specialTokens.js'
|
|
5
5
|
|
|
6
6
|
export function P50KEdit(
|
|
7
|
-
|
|
7
|
+
bytePairRankDecoder: RawBytePairRanks,
|
|
8
8
|
): EncodingParams {
|
|
9
9
|
const specialTokenMapping = new Map<string, number>([
|
|
10
10
|
[EndOfText, 50_256],
|
|
@@ -15,7 +15,7 @@ export function P50KEdit(
|
|
|
15
15
|
|
|
16
16
|
return {
|
|
17
17
|
tokenSplitRegex,
|
|
18
|
-
|
|
19
|
-
specialTokenMapping,
|
|
18
|
+
bytePairRankDecoder,
|
|
19
|
+
specialTokensEncoder: specialTokenMapping,
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -4,12 +4,12 @@ import { type EncodingParams, tokenSplitRegex } from '../modelParams.js'
|
|
|
4
4
|
import { EndOfText } from '../specialTokens.js'
|
|
5
5
|
|
|
6
6
|
export function R50KBase(
|
|
7
|
-
|
|
7
|
+
bytePairRankDecoder: RawBytePairRanks,
|
|
8
8
|
): EncodingParams {
|
|
9
9
|
return {
|
|
10
10
|
expectedVocabularySize: 50_257,
|
|
11
11
|
tokenSplitRegex,
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
bytePairRankDecoder,
|
|
13
|
+
specialTokensEncoder: new Map<string, number>([[EndOfText, 50_256]]),
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-3.5-turbo-0125', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-3.5-turbo-0301', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-3.5-turbo-0613', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-3.5-turbo-1106', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-3.5-turbo-16k-0613', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-3.5-turbo-16k', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-3.5-turbo-finetune', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-3.5-turbo', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-0125-preview', () => bpeRanks)
|
package/src/model/gpt-4-0314.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-0314', () => bpeRanks)
|
package/src/model/gpt-4-0613.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-0613', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-1106-preview', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-1106-vision-preview', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-32k-0314', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-32k-0613', () => bpeRanks)
|
package/src/model/gpt-4-32k.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-32k', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-turbo-2024-04-09', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-turbo-preview', () => bpeRanks)
|
package/src/model/gpt-4-turbo.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-turbo', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4-vision-preview', () => bpeRanks)
|
package/src/model/gpt-4.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/cl100k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/o200k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4o-2024-05-13', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/o200k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4o-2024-08-06-finetune', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/o200k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4o-2024-08-06', () => bpeRanks)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import bpeRanks from '../bpeRanks/o200k_base.js'
|
|
3
3
|
import { GptEncoding } from '../GptEncoding.js'
|
|
4
4
|
|
|
5
|
+
export * from '../constants.js'
|
|
5
6
|
export * from '../specialTokens.js'
|
|
6
7
|
// prettier-ignore
|
|
7
8
|
const api = GptEncoding.getEncodingApiForModel('gpt-4o-audio-preview-2024-10-01', () => bpeRanks)
|