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.
Files changed (349) hide show
  1. package/README.md +13 -0
  2. package/cjs/BytePairEncodingCore.d.ts +4 -4
  3. package/cjs/BytePairEncodingCore.js +24 -24
  4. package/cjs/BytePairEncodingCore.js.map +1 -1
  5. package/cjs/GptEncoding.d.ts +19 -4
  6. package/cjs/GptEncoding.js +47 -15
  7. package/cjs/GptEncoding.js.map +1 -1
  8. package/cjs/GptEncoding.test.js +28 -1
  9. package/cjs/GptEncoding.test.js.map +1 -1
  10. package/cjs/constants.d.ts +1 -0
  11. package/cjs/constants.js +5 -0
  12. package/cjs/constants.js.map +1 -0
  13. package/cjs/encoding/cl100k_base.d.ts +3 -2
  14. package/cjs/encoding/cl100k_base.js +4 -2
  15. package/cjs/encoding/cl100k_base.js.map +1 -1
  16. package/cjs/encoding/o200k_base.d.ts +3 -2
  17. package/cjs/encoding/o200k_base.js +4 -2
  18. package/cjs/encoding/o200k_base.js.map +1 -1
  19. package/cjs/encoding/p50k_base.d.ts +3 -2
  20. package/cjs/encoding/p50k_base.js +4 -2
  21. package/cjs/encoding/p50k_base.js.map +1 -1
  22. package/cjs/encoding/p50k_edit.d.ts +3 -2
  23. package/cjs/encoding/p50k_edit.js +4 -2
  24. package/cjs/encoding/p50k_edit.js.map +1 -1
  25. package/cjs/encoding/r50k_base.d.ts +3 -2
  26. package/cjs/encoding/r50k_base.js +4 -2
  27. package/cjs/encoding/r50k_base.js.map +1 -1
  28. package/cjs/encodingParams/Cl100KBase.d.ts +1 -1
  29. package/cjs/encodingParams/Cl100KBase.js +3 -3
  30. package/cjs/encodingParams/Cl100KBase.js.map +1 -1
  31. package/cjs/encodingParams/O200KBase.d.ts +1 -1
  32. package/cjs/encodingParams/O200KBase.js +3 -3
  33. package/cjs/encodingParams/O200KBase.js.map +1 -1
  34. package/cjs/encodingParams/P50KBase.d.ts +1 -1
  35. package/cjs/encodingParams/P50KBase.js +3 -3
  36. package/cjs/encodingParams/P50KBase.js.map +1 -1
  37. package/cjs/encodingParams/P50KEdit.d.ts +1 -1
  38. package/cjs/encodingParams/P50KEdit.js +3 -3
  39. package/cjs/encodingParams/P50KEdit.js.map +1 -1
  40. package/cjs/encodingParams/R50KBase.d.ts +1 -1
  41. package/cjs/encodingParams/R50KBase.js +3 -3
  42. package/cjs/encodingParams/R50KBase.js.map +1 -1
  43. package/cjs/model/gpt-3.5-turbo-0125.d.ts +1 -0
  44. package/cjs/model/gpt-3.5-turbo-0125.js +1 -0
  45. package/cjs/model/gpt-3.5-turbo-0125.js.map +1 -1
  46. package/cjs/model/gpt-3.5-turbo-0301.d.ts +1 -0
  47. package/cjs/model/gpt-3.5-turbo-0301.js +1 -0
  48. package/cjs/model/gpt-3.5-turbo-0301.js.map +1 -1
  49. package/cjs/model/gpt-3.5-turbo-0613.d.ts +1 -0
  50. package/cjs/model/gpt-3.5-turbo-0613.js +1 -0
  51. package/cjs/model/gpt-3.5-turbo-0613.js.map +1 -1
  52. package/cjs/model/gpt-3.5-turbo-1106.d.ts +1 -0
  53. package/cjs/model/gpt-3.5-turbo-1106.js +1 -0
  54. package/cjs/model/gpt-3.5-turbo-1106.js.map +1 -1
  55. package/cjs/model/gpt-3.5-turbo-16k-0613.d.ts +1 -0
  56. package/cjs/model/gpt-3.5-turbo-16k-0613.js +1 -0
  57. package/cjs/model/gpt-3.5-turbo-16k-0613.js.map +1 -1
  58. package/cjs/model/gpt-3.5-turbo-16k.d.ts +1 -0
  59. package/cjs/model/gpt-3.5-turbo-16k.js +1 -0
  60. package/cjs/model/gpt-3.5-turbo-16k.js.map +1 -1
  61. package/cjs/model/gpt-3.5-turbo-finetune.d.ts +1 -0
  62. package/cjs/model/gpt-3.5-turbo-finetune.js +1 -0
  63. package/cjs/model/gpt-3.5-turbo-finetune.js.map +1 -1
  64. package/cjs/model/gpt-3.5-turbo.d.ts +1 -0
  65. package/cjs/model/gpt-3.5-turbo.js +1 -0
  66. package/cjs/model/gpt-3.5-turbo.js.map +1 -1
  67. package/cjs/model/gpt-4-0125-preview.d.ts +1 -0
  68. package/cjs/model/gpt-4-0125-preview.js +1 -0
  69. package/cjs/model/gpt-4-0125-preview.js.map +1 -1
  70. package/cjs/model/gpt-4-0314.d.ts +1 -0
  71. package/cjs/model/gpt-4-0314.js +1 -0
  72. package/cjs/model/gpt-4-0314.js.map +1 -1
  73. package/cjs/model/gpt-4-0613.d.ts +1 -0
  74. package/cjs/model/gpt-4-0613.js +1 -0
  75. package/cjs/model/gpt-4-0613.js.map +1 -1
  76. package/cjs/model/gpt-4-1106-preview.d.ts +1 -0
  77. package/cjs/model/gpt-4-1106-preview.js +1 -0
  78. package/cjs/model/gpt-4-1106-preview.js.map +1 -1
  79. package/cjs/model/gpt-4-1106-vision-preview.d.ts +1 -0
  80. package/cjs/model/gpt-4-1106-vision-preview.js +1 -0
  81. package/cjs/model/gpt-4-1106-vision-preview.js.map +1 -1
  82. package/cjs/model/gpt-4-32k-0314.d.ts +1 -0
  83. package/cjs/model/gpt-4-32k-0314.js +1 -0
  84. package/cjs/model/gpt-4-32k-0314.js.map +1 -1
  85. package/cjs/model/gpt-4-32k-0613.d.ts +1 -0
  86. package/cjs/model/gpt-4-32k-0613.js +1 -0
  87. package/cjs/model/gpt-4-32k-0613.js.map +1 -1
  88. package/cjs/model/gpt-4-32k.d.ts +1 -0
  89. package/cjs/model/gpt-4-32k.js +1 -0
  90. package/cjs/model/gpt-4-32k.js.map +1 -1
  91. package/cjs/model/gpt-4-turbo-2024-04-09.d.ts +1 -0
  92. package/cjs/model/gpt-4-turbo-2024-04-09.js +1 -0
  93. package/cjs/model/gpt-4-turbo-2024-04-09.js.map +1 -1
  94. package/cjs/model/gpt-4-turbo-preview.d.ts +1 -0
  95. package/cjs/model/gpt-4-turbo-preview.js +1 -0
  96. package/cjs/model/gpt-4-turbo-preview.js.map +1 -1
  97. package/cjs/model/gpt-4-turbo.d.ts +1 -0
  98. package/cjs/model/gpt-4-turbo.js +1 -0
  99. package/cjs/model/gpt-4-turbo.js.map +1 -1
  100. package/cjs/model/gpt-4-vision-preview.d.ts +1 -0
  101. package/cjs/model/gpt-4-vision-preview.js +1 -0
  102. package/cjs/model/gpt-4-vision-preview.js.map +1 -1
  103. package/cjs/model/gpt-4.d.ts +1 -0
  104. package/cjs/model/gpt-4.js +1 -0
  105. package/cjs/model/gpt-4.js.map +1 -1
  106. package/cjs/model/gpt-4o-2024-05-13.d.ts +1 -0
  107. package/cjs/model/gpt-4o-2024-05-13.js +1 -0
  108. package/cjs/model/gpt-4o-2024-05-13.js.map +1 -1
  109. package/cjs/model/gpt-4o-2024-08-06-finetune.d.ts +1 -0
  110. package/cjs/model/gpt-4o-2024-08-06-finetune.js +1 -0
  111. package/cjs/model/gpt-4o-2024-08-06-finetune.js.map +1 -1
  112. package/cjs/model/gpt-4o-2024-08-06.d.ts +1 -0
  113. package/cjs/model/gpt-4o-2024-08-06.js +1 -0
  114. package/cjs/model/gpt-4o-2024-08-06.js.map +1 -1
  115. package/cjs/model/gpt-4o-audio-preview-2024-10-01.d.ts +1 -0
  116. package/cjs/model/gpt-4o-audio-preview-2024-10-01.js +1 -0
  117. package/cjs/model/gpt-4o-audio-preview-2024-10-01.js.map +1 -1
  118. package/cjs/model/gpt-4o-audio-preview.d.ts +1 -0
  119. package/cjs/model/gpt-4o-audio-preview.js +1 -0
  120. package/cjs/model/gpt-4o-audio-preview.js.map +1 -1
  121. package/cjs/model/gpt-4o-mini-2024-07-18-finetune.d.ts +1 -0
  122. package/cjs/model/gpt-4o-mini-2024-07-18-finetune.js +1 -0
  123. package/cjs/model/gpt-4o-mini-2024-07-18-finetune.js.map +1 -1
  124. package/cjs/model/gpt-4o-mini-2024-07-18.d.ts +1 -0
  125. package/cjs/model/gpt-4o-mini-2024-07-18.js +1 -0
  126. package/cjs/model/gpt-4o-mini-2024-07-18.js.map +1 -1
  127. package/cjs/model/gpt-4o-mini-training-2024-07-18.d.ts +1 -0
  128. package/cjs/model/gpt-4o-mini-training-2024-07-18.js +1 -0
  129. package/cjs/model/gpt-4o-mini-training-2024-07-18.js.map +1 -1
  130. package/cjs/model/gpt-4o-mini-training.d.ts +1 -0
  131. package/cjs/model/gpt-4o-mini-training.js +1 -0
  132. package/cjs/model/gpt-4o-mini-training.js.map +1 -1
  133. package/cjs/model/gpt-4o-mini.d.ts +1 -0
  134. package/cjs/model/gpt-4o-mini.js +1 -0
  135. package/cjs/model/gpt-4o-mini.js.map +1 -1
  136. package/cjs/model/gpt-4o-realtime-preview-2024-10-01.d.ts +1 -0
  137. package/cjs/model/gpt-4o-realtime-preview-2024-10-01.js +1 -0
  138. package/cjs/model/gpt-4o-realtime-preview-2024-10-01.js.map +1 -1
  139. package/cjs/model/gpt-4o-realtime-preview.d.ts +1 -0
  140. package/cjs/model/gpt-4o-realtime-preview.js +1 -0
  141. package/cjs/model/gpt-4o-realtime-preview.js.map +1 -1
  142. package/cjs/model/gpt-4o.d.ts +1 -0
  143. package/cjs/model/gpt-4o.js +1 -0
  144. package/cjs/model/gpt-4o.js.map +1 -1
  145. package/cjs/modelParams.d.ts +1 -1
  146. package/dist/cl100k_base.js +1 -1
  147. package/dist/cl100k_base.js.map +1 -1
  148. package/dist/o200k_base.js +1 -1
  149. package/dist/o200k_base.js.map +1 -1
  150. package/dist/p50k_base.js +1 -1
  151. package/dist/p50k_base.js.map +1 -1
  152. package/dist/p50k_edit.js +1 -1
  153. package/dist/p50k_edit.js.map +1 -1
  154. package/dist/r50k_base.js +1 -1
  155. package/dist/r50k_base.js.map +1 -1
  156. package/esm/BytePairEncodingCore.d.ts +4 -4
  157. package/esm/BytePairEncodingCore.js +24 -24
  158. package/esm/BytePairEncodingCore.js.map +1 -1
  159. package/esm/GptEncoding.d.ts +19 -4
  160. package/esm/GptEncoding.js +46 -14
  161. package/esm/GptEncoding.js.map +1 -1
  162. package/esm/GptEncoding.test.js +28 -1
  163. package/esm/GptEncoding.test.js.map +1 -1
  164. package/esm/constants.d.ts +1 -0
  165. package/esm/constants.js +2 -0
  166. package/esm/constants.js.map +1 -0
  167. package/esm/encoding/cl100k_base.d.ts +3 -2
  168. package/esm/encoding/cl100k_base.js +3 -2
  169. package/esm/encoding/cl100k_base.js.map +1 -1
  170. package/esm/encoding/o200k_base.d.ts +3 -2
  171. package/esm/encoding/o200k_base.js +3 -2
  172. package/esm/encoding/o200k_base.js.map +1 -1
  173. package/esm/encoding/p50k_base.d.ts +3 -2
  174. package/esm/encoding/p50k_base.js +3 -2
  175. package/esm/encoding/p50k_base.js.map +1 -1
  176. package/esm/encoding/p50k_edit.d.ts +3 -2
  177. package/esm/encoding/p50k_edit.js +3 -2
  178. package/esm/encoding/p50k_edit.js.map +1 -1
  179. package/esm/encoding/r50k_base.d.ts +3 -2
  180. package/esm/encoding/r50k_base.js +3 -2
  181. package/esm/encoding/r50k_base.js.map +1 -1
  182. package/esm/encodingParams/Cl100KBase.d.ts +1 -1
  183. package/esm/encodingParams/Cl100KBase.js +3 -3
  184. package/esm/encodingParams/Cl100KBase.js.map +1 -1
  185. package/esm/encodingParams/O200KBase.d.ts +1 -1
  186. package/esm/encodingParams/O200KBase.js +3 -3
  187. package/esm/encodingParams/O200KBase.js.map +1 -1
  188. package/esm/encodingParams/P50KBase.d.ts +1 -1
  189. package/esm/encodingParams/P50KBase.js +3 -3
  190. package/esm/encodingParams/P50KBase.js.map +1 -1
  191. package/esm/encodingParams/P50KEdit.d.ts +1 -1
  192. package/esm/encodingParams/P50KEdit.js +3 -3
  193. package/esm/encodingParams/P50KEdit.js.map +1 -1
  194. package/esm/encodingParams/R50KBase.d.ts +1 -1
  195. package/esm/encodingParams/R50KBase.js +3 -3
  196. package/esm/encodingParams/R50KBase.js.map +1 -1
  197. package/esm/model/gpt-3.5-turbo-0125.d.ts +1 -0
  198. package/esm/model/gpt-3.5-turbo-0125.js +1 -0
  199. package/esm/model/gpt-3.5-turbo-0125.js.map +1 -1
  200. package/esm/model/gpt-3.5-turbo-0301.d.ts +1 -0
  201. package/esm/model/gpt-3.5-turbo-0301.js +1 -0
  202. package/esm/model/gpt-3.5-turbo-0301.js.map +1 -1
  203. package/esm/model/gpt-3.5-turbo-0613.d.ts +1 -0
  204. package/esm/model/gpt-3.5-turbo-0613.js +1 -0
  205. package/esm/model/gpt-3.5-turbo-0613.js.map +1 -1
  206. package/esm/model/gpt-3.5-turbo-1106.d.ts +1 -0
  207. package/esm/model/gpt-3.5-turbo-1106.js +1 -0
  208. package/esm/model/gpt-3.5-turbo-1106.js.map +1 -1
  209. package/esm/model/gpt-3.5-turbo-16k-0613.d.ts +1 -0
  210. package/esm/model/gpt-3.5-turbo-16k-0613.js +1 -0
  211. package/esm/model/gpt-3.5-turbo-16k-0613.js.map +1 -1
  212. package/esm/model/gpt-3.5-turbo-16k.d.ts +1 -0
  213. package/esm/model/gpt-3.5-turbo-16k.js +1 -0
  214. package/esm/model/gpt-3.5-turbo-16k.js.map +1 -1
  215. package/esm/model/gpt-3.5-turbo-finetune.d.ts +1 -0
  216. package/esm/model/gpt-3.5-turbo-finetune.js +1 -0
  217. package/esm/model/gpt-3.5-turbo-finetune.js.map +1 -1
  218. package/esm/model/gpt-3.5-turbo.d.ts +1 -0
  219. package/esm/model/gpt-3.5-turbo.js +1 -0
  220. package/esm/model/gpt-3.5-turbo.js.map +1 -1
  221. package/esm/model/gpt-4-0125-preview.d.ts +1 -0
  222. package/esm/model/gpt-4-0125-preview.js +1 -0
  223. package/esm/model/gpt-4-0125-preview.js.map +1 -1
  224. package/esm/model/gpt-4-0314.d.ts +1 -0
  225. package/esm/model/gpt-4-0314.js +1 -0
  226. package/esm/model/gpt-4-0314.js.map +1 -1
  227. package/esm/model/gpt-4-0613.d.ts +1 -0
  228. package/esm/model/gpt-4-0613.js +1 -0
  229. package/esm/model/gpt-4-0613.js.map +1 -1
  230. package/esm/model/gpt-4-1106-preview.d.ts +1 -0
  231. package/esm/model/gpt-4-1106-preview.js +1 -0
  232. package/esm/model/gpt-4-1106-preview.js.map +1 -1
  233. package/esm/model/gpt-4-1106-vision-preview.d.ts +1 -0
  234. package/esm/model/gpt-4-1106-vision-preview.js +1 -0
  235. package/esm/model/gpt-4-1106-vision-preview.js.map +1 -1
  236. package/esm/model/gpt-4-32k-0314.d.ts +1 -0
  237. package/esm/model/gpt-4-32k-0314.js +1 -0
  238. package/esm/model/gpt-4-32k-0314.js.map +1 -1
  239. package/esm/model/gpt-4-32k-0613.d.ts +1 -0
  240. package/esm/model/gpt-4-32k-0613.js +1 -0
  241. package/esm/model/gpt-4-32k-0613.js.map +1 -1
  242. package/esm/model/gpt-4-32k.d.ts +1 -0
  243. package/esm/model/gpt-4-32k.js +1 -0
  244. package/esm/model/gpt-4-32k.js.map +1 -1
  245. package/esm/model/gpt-4-turbo-2024-04-09.d.ts +1 -0
  246. package/esm/model/gpt-4-turbo-2024-04-09.js +1 -0
  247. package/esm/model/gpt-4-turbo-2024-04-09.js.map +1 -1
  248. package/esm/model/gpt-4-turbo-preview.d.ts +1 -0
  249. package/esm/model/gpt-4-turbo-preview.js +1 -0
  250. package/esm/model/gpt-4-turbo-preview.js.map +1 -1
  251. package/esm/model/gpt-4-turbo.d.ts +1 -0
  252. package/esm/model/gpt-4-turbo.js +1 -0
  253. package/esm/model/gpt-4-turbo.js.map +1 -1
  254. package/esm/model/gpt-4-vision-preview.d.ts +1 -0
  255. package/esm/model/gpt-4-vision-preview.js +1 -0
  256. package/esm/model/gpt-4-vision-preview.js.map +1 -1
  257. package/esm/model/gpt-4.d.ts +1 -0
  258. package/esm/model/gpt-4.js +1 -0
  259. package/esm/model/gpt-4.js.map +1 -1
  260. package/esm/model/gpt-4o-2024-05-13.d.ts +1 -0
  261. package/esm/model/gpt-4o-2024-05-13.js +1 -0
  262. package/esm/model/gpt-4o-2024-05-13.js.map +1 -1
  263. package/esm/model/gpt-4o-2024-08-06-finetune.d.ts +1 -0
  264. package/esm/model/gpt-4o-2024-08-06-finetune.js +1 -0
  265. package/esm/model/gpt-4o-2024-08-06-finetune.js.map +1 -1
  266. package/esm/model/gpt-4o-2024-08-06.d.ts +1 -0
  267. package/esm/model/gpt-4o-2024-08-06.js +1 -0
  268. package/esm/model/gpt-4o-2024-08-06.js.map +1 -1
  269. package/esm/model/gpt-4o-audio-preview-2024-10-01.d.ts +1 -0
  270. package/esm/model/gpt-4o-audio-preview-2024-10-01.js +1 -0
  271. package/esm/model/gpt-4o-audio-preview-2024-10-01.js.map +1 -1
  272. package/esm/model/gpt-4o-audio-preview.d.ts +1 -0
  273. package/esm/model/gpt-4o-audio-preview.js +1 -0
  274. package/esm/model/gpt-4o-audio-preview.js.map +1 -1
  275. package/esm/model/gpt-4o-mini-2024-07-18-finetune.d.ts +1 -0
  276. package/esm/model/gpt-4o-mini-2024-07-18-finetune.js +1 -0
  277. package/esm/model/gpt-4o-mini-2024-07-18-finetune.js.map +1 -1
  278. package/esm/model/gpt-4o-mini-2024-07-18.d.ts +1 -0
  279. package/esm/model/gpt-4o-mini-2024-07-18.js +1 -0
  280. package/esm/model/gpt-4o-mini-2024-07-18.js.map +1 -1
  281. package/esm/model/gpt-4o-mini-training-2024-07-18.d.ts +1 -0
  282. package/esm/model/gpt-4o-mini-training-2024-07-18.js +1 -0
  283. package/esm/model/gpt-4o-mini-training-2024-07-18.js.map +1 -1
  284. package/esm/model/gpt-4o-mini-training.d.ts +1 -0
  285. package/esm/model/gpt-4o-mini-training.js +1 -0
  286. package/esm/model/gpt-4o-mini-training.js.map +1 -1
  287. package/esm/model/gpt-4o-mini.d.ts +1 -0
  288. package/esm/model/gpt-4o-mini.js +1 -0
  289. package/esm/model/gpt-4o-mini.js.map +1 -1
  290. package/esm/model/gpt-4o-realtime-preview-2024-10-01.d.ts +1 -0
  291. package/esm/model/gpt-4o-realtime-preview-2024-10-01.js +1 -0
  292. package/esm/model/gpt-4o-realtime-preview-2024-10-01.js.map +1 -1
  293. package/esm/model/gpt-4o-realtime-preview.d.ts +1 -0
  294. package/esm/model/gpt-4o-realtime-preview.js +1 -0
  295. package/esm/model/gpt-4o-realtime-preview.js.map +1 -1
  296. package/esm/model/gpt-4o.d.ts +1 -0
  297. package/esm/model/gpt-4o.js +1 -0
  298. package/esm/model/gpt-4o.js.map +1 -1
  299. package/esm/modelParams.d.ts +1 -1
  300. package/package.json +1 -1
  301. package/src/BytePairEncodingCore.ts +28 -30
  302. package/src/GptEncoding.test.ts +36 -1
  303. package/src/GptEncoding.ts +66 -18
  304. package/src/constants.ts +1 -0
  305. package/src/encoding/cl100k_base.ts +3 -0
  306. package/src/encoding/o200k_base.ts +3 -0
  307. package/src/encoding/p50k_base.ts +3 -0
  308. package/src/encoding/p50k_edit.ts +3 -0
  309. package/src/encoding/r50k_base.ts +3 -0
  310. package/src/encodingParams/Cl100KBase.ts +3 -3
  311. package/src/encodingParams/O200KBase.ts +3 -3
  312. package/src/encodingParams/P50KBase.ts +3 -3
  313. package/src/encodingParams/P50KEdit.ts +3 -3
  314. package/src/encodingParams/R50KBase.ts +3 -3
  315. package/src/model/gpt-3.5-turbo-0125.ts +1 -0
  316. package/src/model/gpt-3.5-turbo-0301.ts +1 -0
  317. package/src/model/gpt-3.5-turbo-0613.ts +1 -0
  318. package/src/model/gpt-3.5-turbo-1106.ts +1 -0
  319. package/src/model/gpt-3.5-turbo-16k-0613.ts +1 -0
  320. package/src/model/gpt-3.5-turbo-16k.ts +1 -0
  321. package/src/model/gpt-3.5-turbo-finetune.ts +1 -0
  322. package/src/model/gpt-3.5-turbo.ts +1 -0
  323. package/src/model/gpt-4-0125-preview.ts +1 -0
  324. package/src/model/gpt-4-0314.ts +1 -0
  325. package/src/model/gpt-4-0613.ts +1 -0
  326. package/src/model/gpt-4-1106-preview.ts +1 -0
  327. package/src/model/gpt-4-1106-vision-preview.ts +1 -0
  328. package/src/model/gpt-4-32k-0314.ts +1 -0
  329. package/src/model/gpt-4-32k-0613.ts +1 -0
  330. package/src/model/gpt-4-32k.ts +1 -0
  331. package/src/model/gpt-4-turbo-2024-04-09.ts +1 -0
  332. package/src/model/gpt-4-turbo-preview.ts +1 -0
  333. package/src/model/gpt-4-turbo.ts +1 -0
  334. package/src/model/gpt-4-vision-preview.ts +1 -0
  335. package/src/model/gpt-4.ts +1 -0
  336. package/src/model/gpt-4o-2024-05-13.ts +1 -0
  337. package/src/model/gpt-4o-2024-08-06-finetune.ts +1 -0
  338. package/src/model/gpt-4o-2024-08-06.ts +1 -0
  339. package/src/model/gpt-4o-audio-preview-2024-10-01.ts +1 -0
  340. package/src/model/gpt-4o-audio-preview.ts +1 -0
  341. package/src/model/gpt-4o-mini-2024-07-18-finetune.ts +1 -0
  342. package/src/model/gpt-4o-mini-2024-07-18.ts +1 -0
  343. package/src/model/gpt-4o-mini-training-2024-07-18.ts +1 -0
  344. package/src/model/gpt-4o-mini-training.ts +1 -0
  345. package/src/model/gpt-4o-mini.ts +1 -0
  346. package/src/model/gpt-4o-realtime-preview-2024-10-01.ts +1 -0
  347. package/src/model/gpt-4o-realtime-preview.ts +1 -0
  348. package/src/model/gpt-4o.ts +1 -0
  349. package/src/modelParams.ts +1 -1
@@ -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
- const result = results[encodingName]
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]) {
@@ -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
- allowedSpecial?: Set<string>
36
- disallowedSpecial?: Set<string>
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 specialTokenMapping: Map<string, number>
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
- specialTokenMapping,
80
+ bytePairRankDecoder: mergeableBytePairRanks,
81
+ specialTokensEncoder,
73
82
  expectedVocabularySize,
74
83
  modelName,
75
84
  ...rest
76
85
  }: EncodingParams) {
77
- this.specialTokenMapping = specialTokenMapping
78
- this.specialTokensSet = new Set<string>(this.specialTokenMapping.keys())
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
- specialTokenMapping,
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(specialTokenMapping),
99
+ getMaxValueFromMap(specialTokensEncoder),
91
100
  )
92
101
 
93
102
  this.vocabularySize =
94
103
  this.bytePairEncodingCoreProcessor.mergeableBytePairRankCount +
95
- specialTokenMapping.size
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 (allowedSpecial?.has(ALL_SPECIAL_TOKENS)) {
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 (!disallowedSpecial || disallowedSpecial.has(ALL_SPECIAL_TOKENS)) {
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) => disallowedSpecial!.delete(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.specialTokenMapping.get(ImStart)
249
- const chatEndToken = this.specialTokenMapping.get(ImEnd)
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
  }
@@ -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
- mergeableBytePairRanks: RawBytePairRanks,
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
- mergeableBytePairRanks,
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
- mergeableBytePairRanks: RawBytePairRanks,
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
- mergeableBytePairRanks,
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
- mergeableBytePairRanks: RawBytePairRanks,
7
+ bytePairRankDecoder: RawBytePairRanks,
8
8
  ): EncodingParams {
9
9
  return {
10
10
  expectedVocabularySize: 50_281,
11
11
  tokenSplitRegex,
12
- mergeableBytePairRanks,
13
- specialTokenMapping: new Map<string, number>([[EndOfText, 50_256]]),
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
- mergeableBytePairRanks: RawBytePairRanks,
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
- mergeableBytePairRanks,
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
- mergeableBytePairRanks: RawBytePairRanks,
7
+ bytePairRankDecoder: RawBytePairRanks,
8
8
  ): EncodingParams {
9
9
  return {
10
10
  expectedVocabularySize: 50_257,
11
11
  tokenSplitRegex,
12
- mergeableBytePairRanks,
13
- specialTokenMapping: new Map<string, number>([[EndOfText, 50_256]]),
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)
@@ -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)
@@ -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)
@@ -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)
@@ -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)
@@ -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)