gpt-tokenizer 2.8.0 → 2.9.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 +22 -4
- package/cjs/BytePairEncodingCore.d.ts +1 -0
- package/cjs/BytePairEncodingCore.js +3 -0
- package/cjs/BytePairEncodingCore.js.map +1 -1
- package/cjs/GptEncoding.d.ts +12 -2
- package/cjs/GptEncoding.js +43 -0
- package/cjs/GptEncoding.js.map +1 -1
- package/cjs/GptEncoding.test.js +121 -64
- package/cjs/GptEncoding.test.js.map +1 -1
- package/cjs/encoding/cl100k_base.d.ts +2 -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 +2 -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 +2 -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 +2 -2
- package/cjs/encoding/p50k_edit.js +6 -2
- package/cjs/encoding/p50k_edit.js.map +1 -1
- package/cjs/encoding/r50k_base.d.ts +2 -2
- package/cjs/encoding/r50k_base.js +4 -2
- package/cjs/encoding/r50k_base.js.map +1 -1
- package/cjs/extraApis.test.js +19 -17
- package/cjs/extraApis.test.js.map +1 -1
- package/cjs/model/babbage-002-finetune.d.ts +2 -0
- package/cjs/model/babbage-002-finetune.js +25 -0
- package/cjs/model/babbage-002-finetune.js.map +1 -0
- package/cjs/model/davinci-002-finetune.d.ts +2 -0
- package/cjs/model/davinci-002-finetune.js +25 -0
- package/cjs/model/davinci-002-finetune.js.map +1 -0
- package/cjs/model/gpt-3.5-turbo-0125.d.ts +2 -2
- package/cjs/model/gpt-3.5-turbo-0125.js +4 -2
- package/cjs/model/gpt-3.5-turbo-0125.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-0301.d.ts +2 -2
- package/cjs/model/gpt-3.5-turbo-0301.js +4 -2
- package/cjs/model/gpt-3.5-turbo-0301.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-0613.d.ts +2 -2
- package/cjs/model/gpt-3.5-turbo-0613.js +4 -2
- package/cjs/model/gpt-3.5-turbo-0613.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-1106.d.ts +2 -2
- package/cjs/model/gpt-3.5-turbo-1106.js +4 -2
- package/cjs/model/gpt-3.5-turbo-1106.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-16k-0613.d.ts +2 -2
- package/cjs/model/gpt-3.5-turbo-16k-0613.js +4 -2
- package/cjs/model/gpt-3.5-turbo-16k-0613.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-16k.d.ts +2 -2
- package/cjs/model/gpt-3.5-turbo-16k.js +4 -2
- package/cjs/model/gpt-3.5-turbo-16k.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo-finetune.d.ts +2 -2
- package/cjs/model/gpt-3.5-turbo-finetune.js +4 -2
- package/cjs/model/gpt-3.5-turbo-finetune.js.map +1 -1
- package/cjs/model/gpt-3.5-turbo.d.ts +2 -2
- package/cjs/model/gpt-3.5-turbo.js +4 -2
- package/cjs/model/gpt-3.5-turbo.js.map +1 -1
- package/cjs/model/gpt-4-0125-preview.d.ts +2 -2
- package/cjs/model/gpt-4-0125-preview.js +4 -2
- package/cjs/model/gpt-4-0125-preview.js.map +1 -1
- package/cjs/model/gpt-4-0314.d.ts +2 -2
- package/cjs/model/gpt-4-0314.js +4 -2
- package/cjs/model/gpt-4-0314.js.map +1 -1
- package/cjs/model/gpt-4-0613.d.ts +2 -2
- package/cjs/model/gpt-4-0613.js +4 -2
- package/cjs/model/gpt-4-0613.js.map +1 -1
- package/cjs/model/gpt-4-1106-preview.d.ts +2 -2
- package/cjs/model/gpt-4-1106-preview.js +4 -2
- package/cjs/model/gpt-4-1106-preview.js.map +1 -1
- package/cjs/model/gpt-4-1106-vision-preview.d.ts +2 -2
- package/cjs/model/gpt-4-1106-vision-preview.js +4 -2
- package/cjs/model/gpt-4-1106-vision-preview.js.map +1 -1
- package/cjs/model/gpt-4-32k-0314.d.ts +2 -2
- package/cjs/model/gpt-4-32k-0314.js +4 -2
- package/cjs/model/gpt-4-32k-0314.js.map +1 -1
- package/cjs/model/gpt-4-32k-0613.d.ts +2 -2
- package/cjs/model/gpt-4-32k-0613.js +4 -2
- package/cjs/model/gpt-4-32k-0613.js.map +1 -1
- package/cjs/model/gpt-4-32k.d.ts +2 -2
- package/cjs/model/gpt-4-32k.js +4 -2
- package/cjs/model/gpt-4-32k.js.map +1 -1
- package/cjs/model/gpt-4-turbo-2024-04-09.d.ts +2 -2
- package/cjs/model/gpt-4-turbo-2024-04-09.js +4 -2
- package/cjs/model/gpt-4-turbo-2024-04-09.js.map +1 -1
- package/cjs/model/gpt-4-turbo-preview.d.ts +2 -2
- package/cjs/model/gpt-4-turbo-preview.js +4 -2
- package/cjs/model/gpt-4-turbo-preview.js.map +1 -1
- package/cjs/model/gpt-4-turbo.d.ts +2 -2
- package/cjs/model/gpt-4-turbo.js +4 -2
- package/cjs/model/gpt-4-turbo.js.map +1 -1
- package/cjs/model/gpt-4-vision-preview.d.ts +2 -2
- package/cjs/model/gpt-4-vision-preview.js +4 -2
- package/cjs/model/gpt-4-vision-preview.js.map +1 -1
- package/cjs/model/gpt-4.d.ts +2 -2
- package/cjs/model/gpt-4.js +4 -2
- package/cjs/model/gpt-4.js.map +1 -1
- package/cjs/model/gpt-4o-2024-05-13.d.ts +2 -2
- package/cjs/model/gpt-4o-2024-05-13.js +4 -2
- package/cjs/model/gpt-4o-2024-05-13.js.map +1 -1
- package/cjs/model/gpt-4o-2024-08-06-finetune.d.ts +2 -2
- package/cjs/model/gpt-4o-2024-08-06-finetune.js +4 -2
- package/cjs/model/gpt-4o-2024-08-06-finetune.js.map +1 -1
- package/cjs/model/gpt-4o-2024-08-06.d.ts +2 -2
- package/cjs/model/gpt-4o-2024-08-06.js +4 -2
- package/cjs/model/gpt-4o-2024-08-06.js.map +1 -1
- package/cjs/model/gpt-4o-2024-11-20.d.ts +7 -0
- package/cjs/model/gpt-4o-2024-11-20.js +44 -0
- package/cjs/model/gpt-4o-2024-11-20.js.map +1 -0
- package/cjs/model/gpt-4o-audio-preview-2024-10-01.d.ts +2 -2
- package/cjs/model/gpt-4o-audio-preview-2024-10-01.js +4 -2
- package/cjs/model/gpt-4o-audio-preview-2024-10-01.js.map +1 -1
- package/cjs/model/gpt-4o-audio-preview-2024-12-17.d.ts +7 -0
- package/cjs/model/gpt-4o-audio-preview-2024-12-17.js +44 -0
- package/cjs/model/gpt-4o-audio-preview-2024-12-17.js.map +1 -0
- package/cjs/model/gpt-4o-audio-preview.d.ts +2 -2
- package/cjs/model/gpt-4o-audio-preview.js +4 -2
- package/cjs/model/gpt-4o-audio-preview.js.map +1 -1
- package/cjs/model/gpt-4o-mini-2024-07-18-finetune.d.ts +2 -2
- package/cjs/model/gpt-4o-mini-2024-07-18-finetune.js +4 -2
- 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 +2 -2
- package/cjs/model/gpt-4o-mini-2024-07-18.js +4 -2
- package/cjs/model/gpt-4o-mini-2024-07-18.js.map +1 -1
- package/cjs/model/gpt-4o-mini-audio-preview-2024-12-17.d.ts +7 -0
- package/cjs/model/gpt-4o-mini-audio-preview-2024-12-17.js +44 -0
- package/cjs/model/gpt-4o-mini-audio-preview-2024-12-17.js.map +1 -0
- package/cjs/model/gpt-4o-mini-audio-preview.d.ts +7 -0
- package/cjs/model/gpt-4o-mini-audio-preview.js +44 -0
- package/cjs/model/gpt-4o-mini-audio-preview.js.map +1 -0
- package/cjs/model/gpt-4o-mini-realtime-preview-2024-12-17.d.ts +7 -0
- package/cjs/model/gpt-4o-mini-realtime-preview-2024-12-17.js +44 -0
- package/cjs/model/gpt-4o-mini-realtime-preview-2024-12-17.js.map +1 -0
- package/cjs/model/gpt-4o-mini-realtime-preview.d.ts +7 -0
- package/cjs/model/gpt-4o-mini-realtime-preview.js +44 -0
- package/cjs/model/gpt-4o-mini-realtime-preview.js.map +1 -0
- package/cjs/model/gpt-4o-mini-training-2024-07-18.d.ts +2 -2
- package/cjs/model/gpt-4o-mini-training-2024-07-18.js +4 -2
- package/cjs/model/gpt-4o-mini-training-2024-07-18.js.map +1 -1
- package/cjs/model/gpt-4o-mini-training.d.ts +2 -2
- package/cjs/model/gpt-4o-mini-training.js +4 -2
- package/cjs/model/gpt-4o-mini-training.js.map +1 -1
- package/cjs/model/gpt-4o-mini.d.ts +2 -2
- package/cjs/model/gpt-4o-mini.js +4 -2
- package/cjs/model/gpt-4o-mini.js.map +1 -1
- package/cjs/model/gpt-4o-realtime-preview-2024-10-01.d.ts +2 -2
- package/cjs/model/gpt-4o-realtime-preview-2024-10-01.js +4 -2
- package/cjs/model/gpt-4o-realtime-preview-2024-10-01.js.map +1 -1
- package/cjs/model/gpt-4o-realtime-preview-2024-12-17.d.ts +7 -0
- package/cjs/model/gpt-4o-realtime-preview-2024-12-17.js +44 -0
- package/cjs/model/gpt-4o-realtime-preview-2024-12-17.js.map +1 -0
- package/cjs/model/gpt-4o-realtime-preview.d.ts +2 -2
- package/cjs/model/gpt-4o-realtime-preview.js +4 -2
- package/cjs/model/gpt-4o-realtime-preview.js.map +1 -1
- package/cjs/model/gpt-4o.d.ts +2 -2
- package/cjs/model/gpt-4o.js +4 -2
- package/cjs/model/gpt-4o.js.map +1 -1
- package/cjs/model/o1-2024-12-17.d.ts +2 -0
- package/cjs/model/o1-2024-12-17.js +25 -0
- package/cjs/model/o1-2024-12-17.js.map +1 -0
- package/cjs/model/o1.d.ts +2 -0
- package/cjs/model/o1.js +25 -0
- package/cjs/model/o1.js.map +1 -0
- package/cjs/model/o3-mini.d.ts +2 -0
- package/cjs/model/o3-mini.js +25 -0
- package/cjs/model/o3-mini.js.map +1 -0
- package/cjs/models.d.ts +38 -10
- package/cjs/models.js +201 -8
- package/cjs/models.js.map +1 -1
- package/cjs/otherRuntimes.test.d.ts +4 -0
- package/cjs/otherRuntimes.test.js +22 -0
- package/cjs/otherRuntimes.test.js.map +1 -0
- package/cjs/resolveEncodingAsync.js +17 -7
- package/cjs/resolveEncodingAsync.js.map +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 +1 -0
- package/esm/BytePairEncodingCore.js +3 -0
- package/esm/BytePairEncodingCore.js.map +1 -1
- package/esm/GptEncoding.d.ts +12 -2
- package/esm/GptEncoding.js +43 -0
- package/esm/GptEncoding.js.map +1 -1
- package/esm/GptEncoding.test.js +77 -20
- package/esm/GptEncoding.test.js.map +1 -1
- package/esm/encoding/cl100k_base.d.ts +2 -2
- package/esm/encoding/cl100k_base.js +2 -2
- package/esm/encoding/cl100k_base.js.map +1 -1
- package/esm/encoding/o200k_base.d.ts +2 -2
- package/esm/encoding/o200k_base.js +2 -2
- package/esm/encoding/o200k_base.js.map +1 -1
- package/esm/encoding/p50k_base.d.ts +2 -2
- package/esm/encoding/p50k_base.js +2 -2
- package/esm/encoding/p50k_base.js.map +1 -1
- package/esm/encoding/p50k_edit.d.ts +2 -2
- package/esm/encoding/p50k_edit.js +2 -2
- package/esm/encoding/p50k_edit.js.map +1 -1
- package/esm/encoding/r50k_base.d.ts +2 -2
- package/esm/encoding/r50k_base.js +2 -2
- package/esm/encoding/r50k_base.js.map +1 -1
- package/esm/extraApis.test.js +2 -0
- package/esm/extraApis.test.js.map +1 -1
- package/esm/model/babbage-002-finetune.d.ts +2 -0
- package/esm/model/babbage-002-finetune.js +4 -0
- package/esm/model/babbage-002-finetune.js.map +1 -0
- package/esm/model/davinci-002-finetune.d.ts +2 -0
- package/esm/model/davinci-002-finetune.js +4 -0
- package/esm/model/davinci-002-finetune.js.map +1 -0
- package/esm/model/gpt-3.5-turbo-0125.d.ts +2 -2
- package/esm/model/gpt-3.5-turbo-0125.js +2 -2
- package/esm/model/gpt-3.5-turbo-0125.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-0301.d.ts +2 -2
- package/esm/model/gpt-3.5-turbo-0301.js +2 -2
- package/esm/model/gpt-3.5-turbo-0301.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-0613.d.ts +2 -2
- package/esm/model/gpt-3.5-turbo-0613.js +2 -2
- package/esm/model/gpt-3.5-turbo-0613.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-1106.d.ts +2 -2
- package/esm/model/gpt-3.5-turbo-1106.js +2 -2
- package/esm/model/gpt-3.5-turbo-1106.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-16k-0613.d.ts +2 -2
- package/esm/model/gpt-3.5-turbo-16k-0613.js +2 -2
- package/esm/model/gpt-3.5-turbo-16k-0613.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-16k.d.ts +2 -2
- package/esm/model/gpt-3.5-turbo-16k.js +2 -2
- package/esm/model/gpt-3.5-turbo-16k.js.map +1 -1
- package/esm/model/gpt-3.5-turbo-finetune.d.ts +2 -2
- package/esm/model/gpt-3.5-turbo-finetune.js +2 -2
- package/esm/model/gpt-3.5-turbo-finetune.js.map +1 -1
- package/esm/model/gpt-3.5-turbo.d.ts +2 -2
- package/esm/model/gpt-3.5-turbo.js +2 -2
- package/esm/model/gpt-3.5-turbo.js.map +1 -1
- package/esm/model/gpt-4-0125-preview.d.ts +2 -2
- package/esm/model/gpt-4-0125-preview.js +2 -2
- package/esm/model/gpt-4-0125-preview.js.map +1 -1
- package/esm/model/gpt-4-0314.d.ts +2 -2
- package/esm/model/gpt-4-0314.js +2 -2
- package/esm/model/gpt-4-0314.js.map +1 -1
- package/esm/model/gpt-4-0613.d.ts +2 -2
- package/esm/model/gpt-4-0613.js +2 -2
- package/esm/model/gpt-4-0613.js.map +1 -1
- package/esm/model/gpt-4-1106-preview.d.ts +2 -2
- package/esm/model/gpt-4-1106-preview.js +2 -2
- package/esm/model/gpt-4-1106-preview.js.map +1 -1
- package/esm/model/gpt-4-1106-vision-preview.d.ts +2 -2
- package/esm/model/gpt-4-1106-vision-preview.js +2 -2
- package/esm/model/gpt-4-1106-vision-preview.js.map +1 -1
- package/esm/model/gpt-4-32k-0314.d.ts +2 -2
- package/esm/model/gpt-4-32k-0314.js +2 -2
- package/esm/model/gpt-4-32k-0314.js.map +1 -1
- package/esm/model/gpt-4-32k-0613.d.ts +2 -2
- package/esm/model/gpt-4-32k-0613.js +2 -2
- package/esm/model/gpt-4-32k-0613.js.map +1 -1
- package/esm/model/gpt-4-32k.d.ts +2 -2
- package/esm/model/gpt-4-32k.js +2 -2
- package/esm/model/gpt-4-32k.js.map +1 -1
- package/esm/model/gpt-4-turbo-2024-04-09.d.ts +2 -2
- package/esm/model/gpt-4-turbo-2024-04-09.js +2 -2
- package/esm/model/gpt-4-turbo-2024-04-09.js.map +1 -1
- package/esm/model/gpt-4-turbo-preview.d.ts +2 -2
- package/esm/model/gpt-4-turbo-preview.js +2 -2
- package/esm/model/gpt-4-turbo-preview.js.map +1 -1
- package/esm/model/gpt-4-turbo.d.ts +2 -2
- package/esm/model/gpt-4-turbo.js +2 -2
- package/esm/model/gpt-4-turbo.js.map +1 -1
- package/esm/model/gpt-4-vision-preview.d.ts +2 -2
- package/esm/model/gpt-4-vision-preview.js +2 -2
- package/esm/model/gpt-4-vision-preview.js.map +1 -1
- package/esm/model/gpt-4.d.ts +2 -2
- package/esm/model/gpt-4.js +2 -2
- package/esm/model/gpt-4.js.map +1 -1
- package/esm/model/gpt-4o-2024-05-13.d.ts +2 -2
- package/esm/model/gpt-4o-2024-05-13.js +2 -2
- package/esm/model/gpt-4o-2024-05-13.js.map +1 -1
- package/esm/model/gpt-4o-2024-08-06-finetune.d.ts +2 -2
- package/esm/model/gpt-4o-2024-08-06-finetune.js +2 -2
- package/esm/model/gpt-4o-2024-08-06-finetune.js.map +1 -1
- package/esm/model/gpt-4o-2024-08-06.d.ts +2 -2
- package/esm/model/gpt-4o-2024-08-06.js +2 -2
- package/esm/model/gpt-4o-2024-08-06.js.map +1 -1
- package/esm/model/gpt-4o-2024-11-20.d.ts +7 -0
- package/esm/model/gpt-4o-2024-11-20.js +12 -0
- package/esm/model/gpt-4o-2024-11-20.js.map +1 -0
- package/esm/model/gpt-4o-audio-preview-2024-10-01.d.ts +2 -2
- package/esm/model/gpt-4o-audio-preview-2024-10-01.js +2 -2
- package/esm/model/gpt-4o-audio-preview-2024-10-01.js.map +1 -1
- package/esm/model/gpt-4o-audio-preview-2024-12-17.d.ts +7 -0
- package/esm/model/gpt-4o-audio-preview-2024-12-17.js +12 -0
- package/esm/model/gpt-4o-audio-preview-2024-12-17.js.map +1 -0
- package/esm/model/gpt-4o-audio-preview.d.ts +2 -2
- package/esm/model/gpt-4o-audio-preview.js +2 -2
- package/esm/model/gpt-4o-audio-preview.js.map +1 -1
- package/esm/model/gpt-4o-mini-2024-07-18-finetune.d.ts +2 -2
- package/esm/model/gpt-4o-mini-2024-07-18-finetune.js +2 -2
- 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 +2 -2
- package/esm/model/gpt-4o-mini-2024-07-18.js +2 -2
- package/esm/model/gpt-4o-mini-2024-07-18.js.map +1 -1
- package/esm/model/gpt-4o-mini-audio-preview-2024-12-17.d.ts +7 -0
- package/esm/model/gpt-4o-mini-audio-preview-2024-12-17.js +12 -0
- package/esm/model/gpt-4o-mini-audio-preview-2024-12-17.js.map +1 -0
- package/esm/model/gpt-4o-mini-audio-preview.d.ts +7 -0
- package/esm/model/gpt-4o-mini-audio-preview.js +12 -0
- package/esm/model/gpt-4o-mini-audio-preview.js.map +1 -0
- package/esm/model/gpt-4o-mini-realtime-preview-2024-12-17.d.ts +7 -0
- package/esm/model/gpt-4o-mini-realtime-preview-2024-12-17.js +12 -0
- package/esm/model/gpt-4o-mini-realtime-preview-2024-12-17.js.map +1 -0
- package/esm/model/gpt-4o-mini-realtime-preview.d.ts +7 -0
- package/esm/model/gpt-4o-mini-realtime-preview.js +12 -0
- package/esm/model/gpt-4o-mini-realtime-preview.js.map +1 -0
- package/esm/model/gpt-4o-mini-training-2024-07-18.d.ts +2 -2
- package/esm/model/gpt-4o-mini-training-2024-07-18.js +2 -2
- package/esm/model/gpt-4o-mini-training-2024-07-18.js.map +1 -1
- package/esm/model/gpt-4o-mini-training.d.ts +2 -2
- package/esm/model/gpt-4o-mini-training.js +2 -2
- package/esm/model/gpt-4o-mini-training.js.map +1 -1
- package/esm/model/gpt-4o-mini.d.ts +2 -2
- package/esm/model/gpt-4o-mini.js +2 -2
- package/esm/model/gpt-4o-mini.js.map +1 -1
- package/esm/model/gpt-4o-realtime-preview-2024-10-01.d.ts +2 -2
- package/esm/model/gpt-4o-realtime-preview-2024-10-01.js +2 -2
- package/esm/model/gpt-4o-realtime-preview-2024-10-01.js.map +1 -1
- package/esm/model/gpt-4o-realtime-preview-2024-12-17.d.ts +7 -0
- package/esm/model/gpt-4o-realtime-preview-2024-12-17.js +12 -0
- package/esm/model/gpt-4o-realtime-preview-2024-12-17.js.map +1 -0
- package/esm/model/gpt-4o-realtime-preview.d.ts +2 -2
- package/esm/model/gpt-4o-realtime-preview.js +2 -2
- package/esm/model/gpt-4o-realtime-preview.js.map +1 -1
- package/esm/model/gpt-4o.d.ts +2 -2
- package/esm/model/gpt-4o.js +2 -2
- package/esm/model/gpt-4o.js.map +1 -1
- package/esm/model/o1-2024-12-17.d.ts +2 -0
- package/esm/model/o1-2024-12-17.js +4 -0
- package/esm/model/o1-2024-12-17.js.map +1 -0
- package/esm/model/o1.d.ts +2 -0
- package/esm/model/o1.js +4 -0
- package/esm/model/o1.js.map +1 -0
- package/esm/model/o3-mini.d.ts +2 -0
- package/esm/model/o3-mini.js +4 -0
- package/esm/model/o3-mini.js.map +1 -0
- package/esm/models.d.ts +38 -10
- package/esm/models.js +201 -8
- package/esm/models.js.map +1 -1
- package/esm/otherRuntimes.test.d.ts +4 -0
- package/esm/otherRuntimes.test.js +20 -0
- package/esm/otherRuntimes.test.js.map +1 -0
- package/package.json +9 -5
- package/src/BytePairEncodingCore.ts +4 -0
- package/src/GptEncoding.test.ts +102 -20
- package/src/GptEncoding.ts +56 -0
- package/src/__snapshots__/GptEncoding.test.ts.snap +958 -69
- package/src/encoding/cl100k_base.ts +4 -0
- package/src/encoding/o200k_base.ts +4 -0
- package/src/encoding/p50k_base.ts +4 -0
- package/src/encoding/p50k_edit.ts +8 -0
- package/src/encoding/r50k_base.ts +4 -0
- package/src/extraApis.test.ts +2 -0
- package/src/model/babbage-002-finetune.ts +3 -0
- package/src/model/davinci-002-finetune.ts +3 -0
- package/src/model/gpt-3.5-turbo-0125.ts +4 -0
- package/src/model/gpt-3.5-turbo-0301.ts +4 -0
- package/src/model/gpt-3.5-turbo-0613.ts +4 -0
- package/src/model/gpt-3.5-turbo-1106.ts +4 -0
- package/src/model/gpt-3.5-turbo-16k-0613.ts +4 -0
- package/src/model/gpt-3.5-turbo-16k.ts +4 -0
- package/src/model/gpt-3.5-turbo-finetune.ts +4 -0
- package/src/model/gpt-3.5-turbo.ts +4 -0
- package/src/model/gpt-4-0125-preview.ts +4 -0
- package/src/model/gpt-4-0314.ts +4 -0
- package/src/model/gpt-4-0613.ts +4 -0
- package/src/model/gpt-4-1106-preview.ts +4 -0
- package/src/model/gpt-4-1106-vision-preview.ts +4 -0
- package/src/model/gpt-4-32k-0314.ts +4 -0
- package/src/model/gpt-4-32k-0613.ts +4 -0
- package/src/model/gpt-4-32k.ts +4 -0
- package/src/model/gpt-4-turbo-2024-04-09.ts +4 -0
- package/src/model/gpt-4-turbo-preview.ts +4 -0
- package/src/model/gpt-4-turbo.ts +4 -0
- package/src/model/gpt-4-vision-preview.ts +4 -0
- package/src/model/gpt-4.ts +4 -0
- package/src/model/gpt-4o-2024-05-13.ts +4 -0
- package/src/model/gpt-4o-2024-08-06-finetune.ts +4 -0
- package/src/model/gpt-4o-2024-08-06.ts +4 -0
- package/src/model/gpt-4o-2024-11-20.ts +40 -0
- package/src/model/gpt-4o-audio-preview-2024-10-01.ts +4 -0
- package/src/model/gpt-4o-audio-preview-2024-12-17.ts +40 -0
- package/src/model/gpt-4o-audio-preview.ts +4 -0
- package/src/model/gpt-4o-mini-2024-07-18-finetune.ts +4 -0
- package/src/model/gpt-4o-mini-2024-07-18.ts +4 -0
- package/src/model/gpt-4o-mini-audio-preview-2024-12-17.ts +40 -0
- package/src/model/gpt-4o-mini-audio-preview.ts +40 -0
- package/src/model/gpt-4o-mini-realtime-preview-2024-12-17.ts +40 -0
- package/src/model/gpt-4o-mini-realtime-preview.ts +40 -0
- package/src/model/gpt-4o-mini-training-2024-07-18.ts +4 -0
- package/src/model/gpt-4o-mini-training.ts +4 -0
- package/src/model/gpt-4o-mini.ts +4 -0
- package/src/model/gpt-4o-realtime-preview-2024-10-01.ts +4 -0
- package/src/model/gpt-4o-realtime-preview-2024-12-17.ts +40 -0
- package/src/model/gpt-4o-realtime-preview.ts +4 -0
- package/src/model/gpt-4o.ts +4 -0
- package/src/model/o1-2024-12-17.ts +3 -0
- package/src/model/o1.ts +3 -0
- package/src/model/o3-mini.ts +3 -0
- package/src/models.ts +229 -19
- package/src/otherRuntimes.test.ts +23 -0
package/README.md
CHANGED
|
@@ -195,10 +195,12 @@ Note: if you're using `gpt-3.5-*` or `gpt-4-*` and don't see the model you're lo
|
|
|
195
195
|
|
|
196
196
|
## API
|
|
197
197
|
|
|
198
|
-
### `encode(text: string): number[]`
|
|
198
|
+
### `encode(text: string, encodeOptions?: EncodeOptions): number[]`
|
|
199
199
|
|
|
200
200
|
Encodes the given text into a sequence of tokens. Use this method when you need to transform a piece of text into the token format that the GPT models can process.
|
|
201
201
|
|
|
202
|
+
The optional `encodeOptions` parameter allows you to specify special token handling (see [special tokens](#special-tokens)).
|
|
203
|
+
|
|
202
204
|
Example:
|
|
203
205
|
|
|
204
206
|
```typescript
|
|
@@ -327,7 +329,11 @@ async function processTokens(asyncTokensIterator) {
|
|
|
327
329
|
## Special tokens
|
|
328
330
|
|
|
329
331
|
There are a few special tokens that are used by the GPT models.
|
|
330
|
-
|
|
332
|
+
Note that not all models support all of these tokens.
|
|
333
|
+
|
|
334
|
+
By default, **all special tokens are disallowed**.
|
|
335
|
+
|
|
336
|
+
The `encode`, `encodeGenerator` and `countTokens` functions accept an `EncodeOptions` parameter to customize special token handling:
|
|
331
337
|
|
|
332
338
|
### Custom Allowed Sets
|
|
333
339
|
|
|
@@ -349,12 +355,14 @@ import {
|
|
|
349
355
|
|
|
350
356
|
const inputText = `Some Text ${EndOfPrompt}`
|
|
351
357
|
const allowedSpecialTokens = new Set([EndOfPrompt])
|
|
352
|
-
const encoded = encode(inputText, allowedSpecialTokens)
|
|
358
|
+
const encoded = encode(inputText, { allowedSpecialTokens })
|
|
353
359
|
const expectedEncoded = [8538, 2991, 220, 100276]
|
|
354
360
|
|
|
355
361
|
expect(encoded).toBe(expectedEncoded)
|
|
356
362
|
```
|
|
357
363
|
|
|
364
|
+
You may also use a special shorthand for either disallowing or allowing all special tokens, by passing in the string `'all'`, e.g. `{ allowedSpecial: 'all' }`.
|
|
365
|
+
|
|
358
366
|
### Custom Disallowed Sets
|
|
359
367
|
|
|
360
368
|
Similarly, you can specify custom sets of disallowed special tokens when encoding text. Pass a `Set`
|
|
@@ -366,11 +374,13 @@ import { encode, EndOfText } from 'gpt-tokenizer'
|
|
|
366
374
|
const inputText = `Some Text ${EndOfText}`
|
|
367
375
|
const disallowedSpecial = new Set([EndOfText])
|
|
368
376
|
// throws an error:
|
|
369
|
-
const encoded = encode(inputText,
|
|
377
|
+
const encoded = encode(inputText, { disallowedSpecial })
|
|
370
378
|
```
|
|
371
379
|
|
|
372
380
|
In this example, an Error is thrown, because the input text contains a disallowed special token.
|
|
373
381
|
|
|
382
|
+
If both `allowedSpecialTokens` and `disallowedSpecial` are provided, `disallowedSpecial` takes precedence.
|
|
383
|
+
|
|
374
384
|
## Performance Optimization
|
|
375
385
|
|
|
376
386
|
### LRU Merge Cache
|
|
@@ -393,6 +403,14 @@ setMergeCacheSize(5000)
|
|
|
393
403
|
setMergeCacheSize(0)
|
|
394
404
|
```
|
|
395
405
|
|
|
406
|
+
The cache is persisted between encoding calls. To explicitly clear the cache (e.g. to free up memory), use the `clearMergeCache` function:
|
|
407
|
+
|
|
408
|
+
```ts
|
|
409
|
+
import { clearMergeCache } from 'gpt-tokenizer'
|
|
410
|
+
|
|
411
|
+
clearMergeCache()
|
|
412
|
+
```
|
|
413
|
+
|
|
396
414
|
## Testing and Validation
|
|
397
415
|
|
|
398
416
|
`gpt-tokenizer` includes a set of test cases in the [TestPlans.txt](./data/TestPlans.txt) file to ensure its compatibility with OpenAI's Python `tiktoken` library. These test cases validate the functionality and behavior of `gpt-tokenizer`, providing a reliable reference for developers.
|
|
@@ -37,6 +37,7 @@ export declare class BytePairEncodingCore {
|
|
|
37
37
|
private mergeCacheSize;
|
|
38
38
|
constructor({ bytePairRankDecoder, specialTokensEncoder, tokenSplitRegex, mergeCacheSize, }: BytePairEncodingConfig);
|
|
39
39
|
setMergeCacheSize(newSize: number): void;
|
|
40
|
+
clearMergeCache(): void;
|
|
40
41
|
encodeNativeGenerator(text: string, allowedSpecial?: Set<string>): Generator<number[], number, undefined>;
|
|
41
42
|
encodeNative(text: string, allowedSpecial?: Set<string>): number[];
|
|
42
43
|
countNative(text: string, allowedSpecial?: Set<string>): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BytePairEncodingCore.js","sourceRoot":"","sources":["../src/BytePairEncodingCore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BytePairEncodingCore.js","sourceRoot":"","sources":["../src/BytePairEncodingCore.ts"],"names":[],"mappings":"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"}
|
package/cjs/GptEncoding.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ALL_SPECIAL_TOKENS } from './constants.js';
|
|
2
2
|
import { type EncodingName, type ModelName } from './mapping.js';
|
|
3
3
|
import { type GetMergeableRanksFn } from './modelParams.js';
|
|
4
|
+
import { type CostEstimate } from './models.js';
|
|
4
5
|
export interface EncodeOptions {
|
|
5
6
|
/**
|
|
6
7
|
* A list of special tokens that are allowed in the input.
|
|
@@ -49,7 +50,7 @@ export declare class GptEncoding {
|
|
|
49
50
|
* Based on OpenAI's guidelines: https://github.com/openai/openai-python/blob/main/chatml.md
|
|
50
51
|
* Also mentioned in section 6 of this document: https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb
|
|
51
52
|
*/
|
|
52
|
-
encodeChatGenerator(chat: Iterable<ChatMessage>, model?: "gpt-4o" | "gpt-3.5-turbo" | "gpt-3.5-turbo-instruct" | "babbage-002" | "davinci-002" | "text-embedding-3-small" | "o1-preview" | "o1-preview-2024-09-12" | "o1-mini" | "o1-mini-2024-09-12" | "chatgpt-4o-latest" | "gpt-4o-2024-08-06" | "gpt-4o-2024-05-13" | "gpt-4o-mini" | "gpt-4o-mini-2024-07-18" | "gpt-4o-realtime-preview" | "gpt-4o-realtime-preview-2024-10-01" | "gpt-4o-audio-preview" | "gpt-4o-audio-preview-2024-10-01" | "gpt-4o-2024-08-06-finetune" | "gpt-4o-mini-2024-07-18-finetune" | "gpt-4o-mini-training" | "gpt-4o-mini-training-2024-07-18" | "gpt-4-turbo" | "gpt-4-turbo-2024-04-09" | "gpt-4-turbo-preview" | "gpt-4-0125-preview" | "gpt-4-1106-preview" | "gpt-4" | "gpt-4-0613" | "gpt-3.5-turbo-0125" | "gpt-3.5-turbo-1106" | "gpt-3.5-turbo-finetune" | "gpt-3.5-turbo-16k" | "gpt-4-32k" | "gpt-4-32k-0613" | "gpt-4-vision-preview" | "gpt-4-1106-vision-preview" | "gpt-4-0314" | "gpt-4-32k-0314" | "gpt-3.5-turbo-0613" | "gpt-3.5-turbo-16k-0613" | "gpt-3.5-turbo-0301" | "text-embedding-3-large" | "text-embedding-ada-002" | "gpt-3.5-turbo-instruct-0914" | "text-ada-001" | "text-babbage-001" | "text-curie-001" | "text-davinci-001" | "text-davinci-002" | "text-davinci-003" | "ada" | "babbage" | "curie" | "davinci" | "code-davinci-002" | "code-davinci-001" | "davinci-codex" | "code-davinci-edit-001" | "code-cushman-002" | "code-cushman-001" | "cushman-codex" | "code-search-ada-code-001" | "code-search-ada-text-001" | "text-davinci-edit-001" | "text-similarity-ada-001" | "text-search-ada-doc-001" | "text-search-ada-query-001" | "text-similarity-babbage-001" | "text-search-babbage-doc-001" | "text-search-babbage-query-001" | "code-search-babbage-code-001" | "code-search-babbage-text-001" | "text-similarity-curie-001" | "text-search-curie-doc-001" | "text-search-curie-query-001" | "text-similarity-davinci-001" | "text-search-davinci-doc-001" | "text-search-davinci-query-001" | undefined): Generator<number[], void, undefined>;
|
|
53
|
+
encodeChatGenerator(chat: Iterable<ChatMessage>, model?: "gpt-4o" | "gpt-3.5-turbo" | "gpt-3.5-turbo-instruct" | "babbage-002" | "davinci-002" | "text-embedding-3-small" | "o1" | "o1-2024-12-17" | "o1-preview" | "o1-preview-2024-09-12" | "o1-mini" | "o1-mini-2024-09-12" | "o3-mini" | "chatgpt-4o-latest" | "gpt-4o-2024-11-20" | "gpt-4o-2024-08-06" | "gpt-4o-2024-05-13" | "gpt-4o-mini" | "gpt-4o-mini-2024-07-18" | "gpt-4o-realtime-preview" | "gpt-4o-realtime-preview-2024-10-01" | "gpt-4o-realtime-preview-2024-12-17" | "gpt-4o-mini-realtime-preview" | "gpt-4o-mini-realtime-preview-2024-12-17" | "gpt-4o-audio-preview" | "gpt-4o-audio-preview-2024-10-01" | "gpt-4o-audio-preview-2024-12-17" | "gpt-4o-mini-audio-preview" | "gpt-4o-mini-audio-preview-2024-12-17" | "gpt-4o-2024-08-06-finetune" | "gpt-4o-mini-2024-07-18-finetune" | "gpt-4o-mini-training" | "gpt-4o-mini-training-2024-07-18" | "davinci-002-finetune" | "babbage-002-finetune" | "gpt-4-turbo" | "gpt-4-turbo-2024-04-09" | "gpt-4-turbo-preview" | "gpt-4-0125-preview" | "gpt-4-1106-preview" | "gpt-4" | "gpt-4-0613" | "gpt-3.5-turbo-0125" | "gpt-3.5-turbo-1106" | "gpt-3.5-turbo-finetune" | "gpt-3.5-turbo-16k" | "gpt-4-32k" | "gpt-4-32k-0613" | "gpt-4-vision-preview" | "gpt-4-1106-vision-preview" | "gpt-4-0314" | "gpt-4-32k-0314" | "gpt-3.5-turbo-0613" | "gpt-3.5-turbo-16k-0613" | "gpt-3.5-turbo-0301" | "text-embedding-3-large" | "text-embedding-ada-002" | "gpt-3.5-turbo-instruct-0914" | "text-ada-001" | "text-babbage-001" | "text-curie-001" | "text-davinci-001" | "text-davinci-002" | "text-davinci-003" | "ada" | "babbage" | "curie" | "davinci" | "code-davinci-002" | "code-davinci-001" | "davinci-codex" | "code-davinci-edit-001" | "code-cushman-002" | "code-cushman-001" | "cushman-codex" | "code-search-ada-code-001" | "code-search-ada-text-001" | "text-davinci-edit-001" | "text-similarity-ada-001" | "text-search-ada-doc-001" | "text-search-ada-query-001" | "text-similarity-babbage-001" | "text-search-babbage-doc-001" | "text-search-babbage-query-001" | "code-search-babbage-code-001" | "code-search-babbage-text-001" | "text-similarity-curie-001" | "text-search-curie-doc-001" | "text-search-curie-query-001" | "text-similarity-davinci-001" | "text-search-davinci-doc-001" | "text-search-davinci-query-001" | undefined): Generator<number[], void, undefined>;
|
|
53
54
|
/**
|
|
54
55
|
* Encodes a chat into a single array of tokens.
|
|
55
56
|
* Warning: gpt-3.5-turbo and gpt-4 chat format may change over time.
|
|
@@ -57,7 +58,7 @@ export declare class GptEncoding {
|
|
|
57
58
|
* Based on OpenAI's guidelines: https://github.com/openai/openai-python/blob/main/chatml.md
|
|
58
59
|
* Also mentioned in section 6 of this document: https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb
|
|
59
60
|
*/
|
|
60
|
-
encodeChat(chat: readonly ChatMessage[], model?: "gpt-4o" | "gpt-3.5-turbo" | "gpt-3.5-turbo-instruct" | "babbage-002" | "davinci-002" | "text-embedding-3-small" | "o1-preview" | "o1-preview-2024-09-12" | "o1-mini" | "o1-mini-2024-09-12" | "chatgpt-4o-latest" | "gpt-4o-2024-08-06" | "gpt-4o-2024-05-13" | "gpt-4o-mini" | "gpt-4o-mini-2024-07-18" | "gpt-4o-realtime-preview" | "gpt-4o-realtime-preview-2024-10-01" | "gpt-4o-audio-preview" | "gpt-4o-audio-preview-2024-10-01" | "gpt-4o-2024-08-06-finetune" | "gpt-4o-mini-2024-07-18-finetune" | "gpt-4o-mini-training" | "gpt-4o-mini-training-2024-07-18" | "gpt-4-turbo" | "gpt-4-turbo-2024-04-09" | "gpt-4-turbo-preview" | "gpt-4-0125-preview" | "gpt-4-1106-preview" | "gpt-4" | "gpt-4-0613" | "gpt-3.5-turbo-0125" | "gpt-3.5-turbo-1106" | "gpt-3.5-turbo-finetune" | "gpt-3.5-turbo-16k" | "gpt-4-32k" | "gpt-4-32k-0613" | "gpt-4-vision-preview" | "gpt-4-1106-vision-preview" | "gpt-4-0314" | "gpt-4-32k-0314" | "gpt-3.5-turbo-0613" | "gpt-3.5-turbo-16k-0613" | "gpt-3.5-turbo-0301" | "text-embedding-3-large" | "text-embedding-ada-002" | "gpt-3.5-turbo-instruct-0914" | "text-ada-001" | "text-babbage-001" | "text-curie-001" | "text-davinci-001" | "text-davinci-002" | "text-davinci-003" | "ada" | "babbage" | "curie" | "davinci" | "code-davinci-002" | "code-davinci-001" | "davinci-codex" | "code-davinci-edit-001" | "code-cushman-002" | "code-cushman-001" | "cushman-codex" | "code-search-ada-code-001" | "code-search-ada-text-001" | "text-davinci-edit-001" | "text-similarity-ada-001" | "text-search-ada-doc-001" | "text-search-ada-query-001" | "text-similarity-babbage-001" | "text-search-babbage-doc-001" | "text-search-babbage-query-001" | "code-search-babbage-code-001" | "code-search-babbage-text-001" | "text-similarity-curie-001" | "text-search-curie-doc-001" | "text-search-curie-query-001" | "text-similarity-davinci-001" | "text-search-davinci-doc-001" | "text-search-davinci-query-001" | undefined): number[];
|
|
61
|
+
encodeChat(chat: readonly ChatMessage[], model?: "gpt-4o" | "gpt-3.5-turbo" | "gpt-3.5-turbo-instruct" | "babbage-002" | "davinci-002" | "text-embedding-3-small" | "o1" | "o1-2024-12-17" | "o1-preview" | "o1-preview-2024-09-12" | "o1-mini" | "o1-mini-2024-09-12" | "o3-mini" | "chatgpt-4o-latest" | "gpt-4o-2024-11-20" | "gpt-4o-2024-08-06" | "gpt-4o-2024-05-13" | "gpt-4o-mini" | "gpt-4o-mini-2024-07-18" | "gpt-4o-realtime-preview" | "gpt-4o-realtime-preview-2024-10-01" | "gpt-4o-realtime-preview-2024-12-17" | "gpt-4o-mini-realtime-preview" | "gpt-4o-mini-realtime-preview-2024-12-17" | "gpt-4o-audio-preview" | "gpt-4o-audio-preview-2024-10-01" | "gpt-4o-audio-preview-2024-12-17" | "gpt-4o-mini-audio-preview" | "gpt-4o-mini-audio-preview-2024-12-17" | "gpt-4o-2024-08-06-finetune" | "gpt-4o-mini-2024-07-18-finetune" | "gpt-4o-mini-training" | "gpt-4o-mini-training-2024-07-18" | "davinci-002-finetune" | "babbage-002-finetune" | "gpt-4-turbo" | "gpt-4-turbo-2024-04-09" | "gpt-4-turbo-preview" | "gpt-4-0125-preview" | "gpt-4-1106-preview" | "gpt-4" | "gpt-4-0613" | "gpt-3.5-turbo-0125" | "gpt-3.5-turbo-1106" | "gpt-3.5-turbo-finetune" | "gpt-3.5-turbo-16k" | "gpt-4-32k" | "gpt-4-32k-0613" | "gpt-4-vision-preview" | "gpt-4-1106-vision-preview" | "gpt-4-0314" | "gpt-4-32k-0314" | "gpt-3.5-turbo-0613" | "gpt-3.5-turbo-16k-0613" | "gpt-3.5-turbo-0301" | "text-embedding-3-large" | "text-embedding-ada-002" | "gpt-3.5-turbo-instruct-0914" | "text-ada-001" | "text-babbage-001" | "text-curie-001" | "text-davinci-001" | "text-davinci-002" | "text-davinci-003" | "ada" | "babbage" | "curie" | "davinci" | "code-davinci-002" | "code-davinci-001" | "davinci-codex" | "code-davinci-edit-001" | "code-cushman-002" | "code-cushman-001" | "cushman-codex" | "code-search-ada-code-001" | "code-search-ada-text-001" | "text-davinci-edit-001" | "text-similarity-ada-001" | "text-search-ada-doc-001" | "text-search-ada-query-001" | "text-similarity-babbage-001" | "text-search-babbage-doc-001" | "text-search-babbage-query-001" | "code-search-babbage-code-001" | "code-search-babbage-text-001" | "text-similarity-curie-001" | "text-search-curie-doc-001" | "text-search-curie-query-001" | "text-similarity-davinci-001" | "text-search-davinci-doc-001" | "text-search-davinci-query-001" | undefined): number[];
|
|
61
62
|
/**
|
|
62
63
|
* @returns {false | number} false if token limit is exceeded, otherwise the number of tokens
|
|
63
64
|
*/
|
|
@@ -68,8 +69,17 @@ export declare class GptEncoding {
|
|
|
68
69
|
*/
|
|
69
70
|
countTokens(input: string | Iterable<ChatMessage>, encodeOptions?: EncodeOptions): number;
|
|
70
71
|
setMergeCacheSize(size: number): void;
|
|
72
|
+
clearMergeCache(): void;
|
|
71
73
|
decode(inputTokensToDecode: Iterable<number>): string;
|
|
72
74
|
decodeGenerator(inputTokensToDecode: Iterable<number>): Generator<string, void, void>;
|
|
73
75
|
decodeAsyncGenerator(inputTokensToDecode: AsyncIterable<number>): AsyncGenerator<string, void>;
|
|
74
76
|
decodeAsync(inputTokensToDecode: AsyncIterable<number>): Promise<string>;
|
|
77
|
+
/**
|
|
78
|
+
* Estimates the cost of processing a given token count using the model's pricing.
|
|
79
|
+
*
|
|
80
|
+
* @param tokenCount - The number of tokens to estimate cost for
|
|
81
|
+
* @param modelName - Optional model name to use for cost calculation (defaults to this.modelName)
|
|
82
|
+
* @returns Cost estimate object with applicable price components (input, output, batchInput, batchOutput)
|
|
83
|
+
*/
|
|
84
|
+
estimateCost(tokenCount: number, modelName?: "gpt-4o" | "gpt-3.5-turbo" | "gpt-3.5-turbo-instruct" | "babbage-002" | "davinci-002" | "text-embedding-3-small" | "o1" | "o1-2024-12-17" | "o1-preview" | "o1-preview-2024-09-12" | "o1-mini" | "o1-mini-2024-09-12" | "o3-mini" | "chatgpt-4o-latest" | "gpt-4o-2024-11-20" | "gpt-4o-2024-08-06" | "gpt-4o-2024-05-13" | "gpt-4o-mini" | "gpt-4o-mini-2024-07-18" | "gpt-4o-realtime-preview" | "gpt-4o-realtime-preview-2024-10-01" | "gpt-4o-realtime-preview-2024-12-17" | "gpt-4o-mini-realtime-preview" | "gpt-4o-mini-realtime-preview-2024-12-17" | "gpt-4o-audio-preview" | "gpt-4o-audio-preview-2024-10-01" | "gpt-4o-audio-preview-2024-12-17" | "gpt-4o-mini-audio-preview" | "gpt-4o-mini-audio-preview-2024-12-17" | "gpt-4o-2024-08-06-finetune" | "gpt-4o-mini-2024-07-18-finetune" | "gpt-4o-mini-training" | "gpt-4o-mini-training-2024-07-18" | "davinci-002-finetune" | "babbage-002-finetune" | "gpt-4-turbo" | "gpt-4-turbo-2024-04-09" | "gpt-4-turbo-preview" | "gpt-4-0125-preview" | "gpt-4-1106-preview" | "gpt-4" | "gpt-4-0613" | "gpt-3.5-turbo-0125" | "gpt-3.5-turbo-1106" | "gpt-3.5-turbo-finetune" | "gpt-3.5-turbo-16k" | "gpt-4-32k" | "gpt-4-32k-0613" | "gpt-4-vision-preview" | "gpt-4-1106-vision-preview" | "gpt-4-0314" | "gpt-4-32k-0314" | "gpt-3.5-turbo-0613" | "gpt-3.5-turbo-16k-0613" | "gpt-3.5-turbo-0301" | "text-embedding-3-large" | "text-embedding-ada-002" | "gpt-3.5-turbo-instruct-0914" | "text-ada-001" | "text-babbage-001" | "text-curie-001" | "text-davinci-001" | "text-davinci-002" | "text-davinci-003" | "ada" | "babbage" | "curie" | "davinci" | "code-davinci-002" | "code-davinci-001" | "davinci-codex" | "code-davinci-edit-001" | "code-cushman-002" | "code-cushman-001" | "cushman-codex" | "code-search-ada-code-001" | "code-search-ada-text-001" | "text-davinci-edit-001" | "text-similarity-ada-001" | "text-search-ada-doc-001" | "text-search-ada-query-001" | "text-similarity-babbage-001" | "text-search-babbage-doc-001" | "text-search-babbage-query-001" | "code-search-babbage-code-001" | "code-search-babbage-text-001" | "text-similarity-curie-001" | "text-search-curie-doc-001" | "text-search-curie-query-001" | "text-similarity-davinci-001" | "text-search-davinci-doc-001" | "text-search-davinci-query-001" | undefined): CostEstimate;
|
|
75
85
|
}
|
package/cjs/GptEncoding.js
CHANGED
|
@@ -7,6 +7,7 @@ const BytePairEncodingCore_js_1 = require("./BytePairEncodingCore.js");
|
|
|
7
7
|
const constants_js_1 = require("./constants.js");
|
|
8
8
|
const mapping_js_1 = require("./mapping.js");
|
|
9
9
|
const modelParams_js_1 = require("./modelParams.js");
|
|
10
|
+
const models_js_1 = require("./models.js");
|
|
10
11
|
const specialTokens_js_1 = require("./specialTokens.js");
|
|
11
12
|
const utfUtil_js_1 = require("./utfUtil.js");
|
|
12
13
|
const util_js_1 = require("./util.js");
|
|
@@ -56,6 +57,8 @@ class GptEncoding {
|
|
|
56
57
|
this.encodeChatGenerator = this.encodeChatGenerator.bind(this);
|
|
57
58
|
this.countTokens = this.countTokens.bind(this);
|
|
58
59
|
this.setMergeCacheSize = this.setMergeCacheSize.bind(this);
|
|
60
|
+
this.clearMergeCache = this.clearMergeCache.bind(this);
|
|
61
|
+
this.estimateCost = this.estimateCost.bind(this);
|
|
59
62
|
this.modelName = modelName;
|
|
60
63
|
}
|
|
61
64
|
static getEncodingApi(encodingName, getMergeableRanks) {
|
|
@@ -228,6 +231,9 @@ class GptEncoding {
|
|
|
228
231
|
setMergeCacheSize(size) {
|
|
229
232
|
this.bytePairEncodingCoreProcessor.setMergeCacheSize(size);
|
|
230
233
|
}
|
|
234
|
+
clearMergeCache() {
|
|
235
|
+
this.bytePairEncodingCoreProcessor.clearMergeCache();
|
|
236
|
+
}
|
|
231
237
|
decode(inputTokensToDecode) {
|
|
232
238
|
return this.bytePairEncodingCoreProcessor.decodeNative(inputTokensToDecode);
|
|
233
239
|
}
|
|
@@ -290,6 +296,43 @@ class GptEncoding {
|
|
|
290
296
|
}
|
|
291
297
|
return buffer;
|
|
292
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
* Estimates the cost of processing a given token count using the model's pricing.
|
|
301
|
+
*
|
|
302
|
+
* @param tokenCount - The number of tokens to estimate cost for
|
|
303
|
+
* @param modelName - Optional model name to use for cost calculation (defaults to this.modelName)
|
|
304
|
+
* @returns Cost estimate object with applicable price components (input, output, batchInput, batchOutput)
|
|
305
|
+
*/
|
|
306
|
+
estimateCost(tokenCount, modelName = this.modelName) {
|
|
307
|
+
if (!modelName) {
|
|
308
|
+
throw new Error('Model name must be provided either during initialization or passed in to the method.');
|
|
309
|
+
}
|
|
310
|
+
const model = models_js_1.models[modelName];
|
|
311
|
+
if (!model) {
|
|
312
|
+
throw new Error(`Unknown model: ${modelName}`);
|
|
313
|
+
}
|
|
314
|
+
if (!model.cost) {
|
|
315
|
+
throw new Error(`No cost information available for model: ${modelName}`);
|
|
316
|
+
}
|
|
317
|
+
const costPerMillion = model.cost;
|
|
318
|
+
const result = {};
|
|
319
|
+
// Calculate cost per token and multiply by token count
|
|
320
|
+
// eslint-disable-next-line no-magic-numbers
|
|
321
|
+
const millionTokens = tokenCount / 1_000_000;
|
|
322
|
+
if (costPerMillion.input !== undefined) {
|
|
323
|
+
result.input = costPerMillion.input * millionTokens;
|
|
324
|
+
}
|
|
325
|
+
if (costPerMillion.output !== undefined) {
|
|
326
|
+
result.output = costPerMillion.output * millionTokens;
|
|
327
|
+
}
|
|
328
|
+
if (costPerMillion.batchInput !== undefined) {
|
|
329
|
+
result.batchInput = costPerMillion.batchInput * millionTokens;
|
|
330
|
+
}
|
|
331
|
+
if (costPerMillion.batchOutput !== undefined) {
|
|
332
|
+
result.batchOutput = costPerMillion.batchOutput * millionTokens;
|
|
333
|
+
}
|
|
334
|
+
return result;
|
|
335
|
+
}
|
|
293
336
|
}
|
|
294
337
|
exports.GptEncoding = GptEncoding;
|
|
295
338
|
//# sourceMappingURL=GptEncoding.js.map
|
package/cjs/GptEncoding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GptEncoding.js","sourceRoot":"","sources":["../src/GptEncoding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GptEncoding.js","sourceRoot":"","sources":["../src/GptEncoding.ts"],"names":[],"mappings":"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"}
|
package/cjs/GptEncoding.test.js
CHANGED
|
@@ -5,10 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const fs_1 = __importDefault(require("fs"));
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
+
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
9
|
+
const vitest_1 = require("vitest");
|
|
8
10
|
const constants_js_1 = require("./constants.js");
|
|
9
11
|
const GptEncoding_js_1 = require("./GptEncoding.js");
|
|
10
12
|
const mapping_js_1 = require("./mapping.js");
|
|
13
|
+
const models_js_1 = require("./models.js");
|
|
11
14
|
const resolveEncoding_js_1 = require("./resolveEncoding.js");
|
|
15
|
+
const specialTokens_js_1 = require("./specialTokens.js");
|
|
12
16
|
const sharedResults = {
|
|
13
17
|
space: [220],
|
|
14
18
|
tab: [197],
|
|
@@ -62,8 +66,8 @@ const results = {
|
|
|
62
66
|
const offsetPrompts = [
|
|
63
67
|
// Basic prompt with "hello world"
|
|
64
68
|
'hello world',
|
|
65
|
-
// Basic prompt with special token
|
|
66
|
-
|
|
69
|
+
// Basic prompt with special token end of text token
|
|
70
|
+
`hello world${specialTokens_js_1.EndOfText} green cow`,
|
|
67
71
|
// Chinese text: "我非常渴望与人工智能一起工作"
|
|
68
72
|
'我非常渴望与人工智能一起工作',
|
|
69
73
|
// Contains the interesting tokens b'\xe0\xae\xbf\xe0\xae' and b'\xe0\xaf\x8d\xe0\xae'
|
|
@@ -75,68 +79,68 @@ const offsetPrompts = [
|
|
|
75
79
|
];
|
|
76
80
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
77
81
|
const testPlans = loadTestPlans();
|
|
78
|
-
describe.each(mapping_js_1.encodingNames)('%s', (encodingName) => {
|
|
82
|
+
vitest_1.describe.each(mapping_js_1.encodingNames)('%s', (encodingName) => {
|
|
79
83
|
const encoding = GptEncoding_js_1.GptEncoding.getEncodingApi(encodingName, resolveEncoding_js_1.resolveEncoding);
|
|
80
84
|
const { decode, decodeGenerator, decodeAsyncGenerator, encode, isWithinTokenLimit, } = encoding;
|
|
81
|
-
describe('encode and decode', () => {
|
|
82
|
-
|
|
83
|
-
expect(decode(encode(str, { allowedSpecial: constants_js_1.ALL_SPECIAL_TOKENS }))).toEqual(str);
|
|
85
|
+
(0, vitest_1.describe)('encode and decode', () => {
|
|
86
|
+
vitest_1.test.each(offsetPrompts)('offset prompt: %s', (str) => {
|
|
87
|
+
(0, vitest_1.expect)(decode(encode(str, { allowedSpecial: constants_js_1.ALL_SPECIAL_TOKENS }))).toEqual(str);
|
|
84
88
|
});
|
|
85
89
|
});
|
|
86
|
-
describe('basic functionality', () => {
|
|
90
|
+
(0, vitest_1.describe)('basic functionality', () => {
|
|
87
91
|
const result = results[encodingName];
|
|
88
|
-
|
|
92
|
+
(0, vitest_1.test)('empty string', () => {
|
|
89
93
|
const str = '';
|
|
90
|
-
expect(encode(str)).toEqual([]);
|
|
91
|
-
expect(decode(encode(str))).toEqual(str);
|
|
92
|
-
expect(isWithinTokenLimit(str, 0)).toBe(0);
|
|
93
|
-
expect(isWithinTokenLimit(str, 3)).toBe(0);
|
|
94
|
+
(0, vitest_1.expect)(encode(str)).toEqual([]);
|
|
95
|
+
(0, vitest_1.expect)(decode(encode(str))).toEqual(str);
|
|
96
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 0)).toBe(0);
|
|
97
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 3)).toBe(0);
|
|
94
98
|
});
|
|
95
|
-
|
|
99
|
+
(0, vitest_1.test)('space', () => {
|
|
96
100
|
const str = ' ';
|
|
97
|
-
expect(encode(str)).toEqual(result.space);
|
|
98
|
-
expect(decode(encode(str))).toEqual(str);
|
|
99
|
-
expect(isWithinTokenLimit(str, 3)).toBe(1);
|
|
100
|
-
expect(isWithinTokenLimit(str, 0)).toBe(false);
|
|
101
|
+
(0, vitest_1.expect)(encode(str)).toEqual(result.space);
|
|
102
|
+
(0, vitest_1.expect)(decode(encode(str))).toEqual(str);
|
|
103
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 3)).toBe(1);
|
|
104
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 0)).toBe(false);
|
|
101
105
|
});
|
|
102
|
-
|
|
106
|
+
(0, vitest_1.test)('tab', () => {
|
|
103
107
|
const str = '\t';
|
|
104
|
-
expect(encode(str)).toEqual(result.tab);
|
|
105
|
-
expect(decode(encode(str))).toEqual(str);
|
|
108
|
+
(0, vitest_1.expect)(encode(str)).toEqual(result.tab);
|
|
109
|
+
(0, vitest_1.expect)(decode(encode(str))).toEqual(str);
|
|
106
110
|
});
|
|
107
|
-
|
|
111
|
+
(0, vitest_1.test)('simple text', () => {
|
|
108
112
|
const str = 'This is some text';
|
|
109
|
-
expect(encode(str)).toEqual(result[str]);
|
|
110
|
-
expect(decode(encode(str))).toEqual(str);
|
|
111
|
-
expect(isWithinTokenLimit(str, 3)).toBe(false);
|
|
112
|
-
expect(isWithinTokenLimit(str, 5)).toBe(result[str].length);
|
|
113
|
+
(0, vitest_1.expect)(encode(str)).toEqual(result[str]);
|
|
114
|
+
(0, vitest_1.expect)(decode(encode(str))).toEqual(str);
|
|
115
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 3)).toBe(false);
|
|
116
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 5)).toBe(result[str].length);
|
|
113
117
|
});
|
|
114
|
-
|
|
118
|
+
(0, vitest_1.test)('multi-token word', () => {
|
|
115
119
|
const str = 'indivisible';
|
|
116
|
-
expect(encode(str)).toEqual(result.indivisible);
|
|
117
|
-
expect(decode(encode(str))).toEqual(str);
|
|
118
|
-
expect(isWithinTokenLimit(str, 3)).toBe(result.indivisible.length);
|
|
120
|
+
(0, vitest_1.expect)(encode(str)).toEqual(result.indivisible);
|
|
121
|
+
(0, vitest_1.expect)(decode(encode(str))).toEqual(str);
|
|
122
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 3)).toBe(result.indivisible.length);
|
|
119
123
|
});
|
|
120
|
-
|
|
124
|
+
(0, vitest_1.test)('emojis', () => {
|
|
121
125
|
const str = 'hello 👋 world 🌍';
|
|
122
|
-
expect(encode(str)).toEqual(result[str]);
|
|
123
|
-
expect(decode(encode(str))).toEqual(str);
|
|
124
|
-
expect(isWithinTokenLimit(str, 4)).toBe(false);
|
|
125
|
-
expect(isWithinTokenLimit(str, 400)).toBe(result[str].length);
|
|
126
|
+
(0, vitest_1.expect)(encode(str)).toEqual(result[str]);
|
|
127
|
+
(0, vitest_1.expect)(decode(encode(str))).toEqual(str);
|
|
128
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 4)).toBe(false);
|
|
129
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 400)).toBe(result[str].length);
|
|
126
130
|
});
|
|
127
|
-
|
|
131
|
+
(0, vitest_1.test)('decode token-by-token via generator', () => {
|
|
128
132
|
const str = 'hello 👋 world 🌍';
|
|
129
133
|
const generator = decodeGenerator(result[str]);
|
|
130
134
|
result.decodedHelloWorldTokens.forEach((token) => {
|
|
131
|
-
expect(generator.next().value).toBe(token);
|
|
135
|
+
(0, vitest_1.expect)(generator.next().value).toBe(token);
|
|
132
136
|
});
|
|
133
137
|
});
|
|
134
|
-
|
|
135
|
-
const str =
|
|
138
|
+
(0, vitest_1.test)('encodes and decodes special tokens', () => {
|
|
139
|
+
const str = `hello ${specialTokens_js_1.EndOfText} world`;
|
|
136
140
|
const encoded = encode(str, {
|
|
137
141
|
allowedSpecial: constants_js_1.ALL_SPECIAL_TOKENS,
|
|
138
142
|
});
|
|
139
|
-
expect(decode(encoded)).toEqual(str);
|
|
143
|
+
(0, vitest_1.expect)(decode(encoded)).toEqual(str);
|
|
140
144
|
});
|
|
141
145
|
async function* getHelloWorldTokensAsync() {
|
|
142
146
|
const str = 'hello 👋 world 🌍';
|
|
@@ -145,33 +149,33 @@ describe.each(mapping_js_1.encodingNames)('%s', (encodingName) => {
|
|
|
145
149
|
yield await Promise.resolve(token);
|
|
146
150
|
}
|
|
147
151
|
}
|
|
148
|
-
|
|
152
|
+
(0, vitest_1.test)('decode token-by-token via async generator', async () => {
|
|
149
153
|
const generator = decodeAsyncGenerator(getHelloWorldTokensAsync());
|
|
150
154
|
const decoded = [...result.decodedHelloWorldTokens];
|
|
151
155
|
for await (const value of generator) {
|
|
152
|
-
expect(value).toEqual(decoded.shift());
|
|
156
|
+
(0, vitest_1.expect)(value).toEqual(decoded.shift());
|
|
153
157
|
}
|
|
154
158
|
});
|
|
155
|
-
|
|
159
|
+
(0, vitest_1.test)('properties of Object', () => {
|
|
156
160
|
const str = 'toString constructor hasOwnProperty valueOf';
|
|
157
|
-
expect(encode(str)).toEqual(result[str]);
|
|
158
|
-
expect(decode(encode(str))).toEqual(str);
|
|
161
|
+
(0, vitest_1.expect)(encode(str)).toEqual(result[str]);
|
|
162
|
+
(0, vitest_1.expect)(decode(encode(str))).toEqual(str);
|
|
159
163
|
});
|
|
160
|
-
|
|
164
|
+
(0, vitest_1.test)('text with commas', () => {
|
|
161
165
|
const str = 'hello, I am a text, and I have commas. a,b,c';
|
|
162
|
-
expect(decode(encode(str))).toEqual(str);
|
|
163
|
-
expect(encode(str)).toStrictEqual(result[str]);
|
|
164
|
-
expect(isWithinTokenLimit(str, result[str].length - 1)).toBe(false);
|
|
165
|
-
expect(isWithinTokenLimit(str, 300)).toBe(result[str].length);
|
|
166
|
+
(0, vitest_1.expect)(decode(encode(str))).toEqual(str);
|
|
167
|
+
(0, vitest_1.expect)(encode(str)).toStrictEqual(result[str]);
|
|
168
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, result[str].length - 1)).toBe(false);
|
|
169
|
+
(0, vitest_1.expect)(isWithinTokenLimit(str, 300)).toBe(result[str].length);
|
|
166
170
|
});
|
|
167
171
|
});
|
|
168
|
-
describe('test plan', () => {
|
|
172
|
+
(0, vitest_1.describe)('test plan', () => {
|
|
169
173
|
testPlans[encodingName].forEach(({ sample, encoded }) => {
|
|
170
|
-
|
|
171
|
-
expect(encode(sample)).toEqual(encoded);
|
|
174
|
+
(0, vitest_1.test)(`encodes ${sample}`, () => {
|
|
175
|
+
(0, vitest_1.expect)(encode(sample)).toEqual(encoded);
|
|
172
176
|
});
|
|
173
|
-
|
|
174
|
-
expect(decode(encoded)).toEqual(sample);
|
|
177
|
+
(0, vitest_1.test)(`decodes ${sample}`, () => {
|
|
178
|
+
(0, vitest_1.expect)(decode(encoded)).toEqual(sample);
|
|
175
179
|
});
|
|
176
180
|
});
|
|
177
181
|
});
|
|
@@ -207,31 +211,84 @@ const exampleMessages = [
|
|
|
207
211
|
content: "This late pivot means we don't have time to boil the ocean for the client deliverable.",
|
|
208
212
|
},
|
|
209
213
|
];
|
|
210
|
-
describe.each(chatModelNames)('%s', (modelName) => {
|
|
214
|
+
vitest_1.describe.each(chatModelNames)('%s', (modelName) => {
|
|
211
215
|
const encoding = GptEncoding_js_1.GptEncoding.getEncodingApiForModel(modelName, resolveEncoding_js_1.resolveEncoding);
|
|
212
216
|
const expectedEncodedLength = modelName.startsWith('gpt-3.5-turbo')
|
|
213
217
|
? 127
|
|
214
218
|
: modelName.startsWith('gpt-4o')
|
|
215
219
|
? 120
|
|
216
220
|
: 121;
|
|
217
|
-
describe('chat functionality', () => {
|
|
218
|
-
|
|
221
|
+
(0, vitest_1.describe)('chat functionality', () => {
|
|
222
|
+
(0, vitest_1.test)('encodes a chat correctly', () => {
|
|
219
223
|
const encoded = encoding.encodeChat(exampleMessages);
|
|
220
|
-
expect(encoded).toMatchSnapshot();
|
|
221
|
-
expect(encoded).toHaveLength(expectedEncodedLength);
|
|
224
|
+
(0, vitest_1.expect)(encoded).toMatchSnapshot();
|
|
225
|
+
(0, vitest_1.expect)(encoded).toHaveLength(expectedEncodedLength);
|
|
222
226
|
const decoded = encoding.decode(encoded);
|
|
223
|
-
expect(decoded).toMatchSnapshot();
|
|
227
|
+
(0, vitest_1.expect)(decoded).toMatchSnapshot();
|
|
224
228
|
});
|
|
225
|
-
|
|
229
|
+
(0, vitest_1.test)('isWithinTokenLimit: false', () => {
|
|
226
230
|
const isWithinTokenLimit = encoding.isWithinTokenLimit(exampleMessages, 50);
|
|
227
|
-
expect(isWithinTokenLimit).toBe(false);
|
|
231
|
+
(0, vitest_1.expect)(isWithinTokenLimit).toBe(false);
|
|
228
232
|
});
|
|
229
|
-
|
|
233
|
+
(0, vitest_1.test)('isWithinTokenLimit: true (number)', () => {
|
|
230
234
|
const isWithinTokenLimit = encoding.isWithinTokenLimit(exampleMessages, 150);
|
|
231
|
-
expect(isWithinTokenLimit).toBe(expectedEncodedLength);
|
|
235
|
+
(0, vitest_1.expect)(isWithinTokenLimit).toBe(expectedEncodedLength);
|
|
232
236
|
});
|
|
233
237
|
});
|
|
234
238
|
});
|
|
239
|
+
(0, vitest_1.describe)('estimateCost functionality', () => {
|
|
240
|
+
const gpt4oEncoding = GptEncoding_js_1.GptEncoding.getEncodingApiForModel('gpt-4o', resolveEncoding_js_1.resolveEncoding);
|
|
241
|
+
const gpt35Encoding = GptEncoding_js_1.GptEncoding.getEncodingApiForModel('gpt-3.5-turbo', resolveEncoding_js_1.resolveEncoding);
|
|
242
|
+
(0, vitest_1.test)('estimates cost correctly for gpt-4o model', () => {
|
|
243
|
+
const tokenCount = 1_000;
|
|
244
|
+
const cost = gpt4oEncoding.estimateCost(tokenCount);
|
|
245
|
+
// gpt-4o has $2.5 per million tokens for input and $10 per million tokens for output
|
|
246
|
+
(0, vitest_1.expect)(cost.input).toBeCloseTo(0.002_5, 6); // 1000/1M * $2.5
|
|
247
|
+
(0, vitest_1.expect)(cost.output).toBeCloseTo(0.01, 6); // 1000/1M * $10
|
|
248
|
+
(0, vitest_1.expect)(cost.batchInput).toBeCloseTo(0.001_25, 6); // 1000/1M * $1.25
|
|
249
|
+
(0, vitest_1.expect)(cost.batchOutput).toBeCloseTo(0.005, 6); // 1000/1M * $5
|
|
250
|
+
});
|
|
251
|
+
(0, vitest_1.test)('estimates cost correctly for gpt-3.5-turbo model', () => {
|
|
252
|
+
const tokenCount = 1_000;
|
|
253
|
+
const cost = gpt35Encoding.estimateCost(tokenCount);
|
|
254
|
+
// gpt-3.5-turbo has $0.5 per million tokens for input and $1.5 per million tokens for output
|
|
255
|
+
(0, vitest_1.expect)(cost.input).toBeCloseTo(0.000_5, 6); // 1000/1M * $0.5
|
|
256
|
+
(0, vitest_1.expect)(cost.output).toBeCloseTo(0.001_5, 6); // 1000/1M * $1.5
|
|
257
|
+
(0, vitest_1.expect)(cost.batchInput).toBeCloseTo(0.000_25, 6); // 1000/1M * $0.25
|
|
258
|
+
(0, vitest_1.expect)(cost.batchOutput).toBeCloseTo(0.000_75, 6); // 1000/1M * $0.75
|
|
259
|
+
});
|
|
260
|
+
(0, vitest_1.test)('allows overriding model name', () => {
|
|
261
|
+
const tokenCount = 1_000;
|
|
262
|
+
// Use gpt-4o encoding but override with gpt-3.5-turbo model name
|
|
263
|
+
const cost = gpt4oEncoding.estimateCost(tokenCount, 'gpt-3.5-turbo');
|
|
264
|
+
(0, vitest_1.expect)(cost.input).toBeCloseTo(0.000_5, 6); // 1000/1M * $0.5
|
|
265
|
+
(0, vitest_1.expect)(cost.output).toBeCloseTo(0.001_5, 6); // 1000/1M * $1.5
|
|
266
|
+
});
|
|
267
|
+
(0, vitest_1.test)('throws error when model name is not provided', () => {
|
|
268
|
+
const encoding = GptEncoding_js_1.GptEncoding.getEncodingApi('cl100k_base', resolveEncoding_js_1.resolveEncoding);
|
|
269
|
+
const tokenCount = 1_000;
|
|
270
|
+
// No model name was provided during initialization or function call
|
|
271
|
+
(0, vitest_1.expect)(() => encoding.estimateCost(tokenCount)).toThrow('Model name must be provided either during initialization or passed in to the method.');
|
|
272
|
+
});
|
|
273
|
+
(0, vitest_1.test)('throws error for unknown model', () => {
|
|
274
|
+
const tokenCount = 1_000;
|
|
275
|
+
(0, vitest_1.expect)(() => gpt4oEncoding.estimateCost(tokenCount, 'non-existent-model')).toThrow('Unknown model: non-existent-model');
|
|
276
|
+
});
|
|
277
|
+
(0, vitest_1.test)('only includes properties that exist for the model', () => {
|
|
278
|
+
// Find a model that only has input cost but no output cost
|
|
279
|
+
const modelWithInputOnly = Object.entries(models_js_1.models).find(([_, model]) => model.cost?.input !== undefined && model.cost?.output === undefined);
|
|
280
|
+
if (modelWithInputOnly) {
|
|
281
|
+
const [modelName] = modelWithInputOnly;
|
|
282
|
+
const cost = gpt4oEncoding.estimateCost(1_000, modelName);
|
|
283
|
+
(0, vitest_1.expect)(cost.input).toBeDefined();
|
|
284
|
+
(0, vitest_1.expect)(cost.output).toBeUndefined();
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
// Skip test if we can't find an appropriate model
|
|
288
|
+
console.log('Skipping test: no model with input-only cost found');
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
});
|
|
235
292
|
function loadTestPlans() {
|
|
236
293
|
const testPlanPath = path_1.default.join(__dirname, '../data/TestPlans.txt');
|
|
237
294
|
const testPlanData = fs_1.default.readFileSync(testPlanPath, 'utf8');
|