gpt-tokenizer 2.8.1 → 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.
Files changed (402) hide show
  1. package/cjs/GptEncoding.d.ts +11 -2
  2. package/cjs/GptEncoding.js +39 -0
  3. package/cjs/GptEncoding.js.map +1 -1
  4. package/cjs/GptEncoding.test.js +121 -64
  5. package/cjs/GptEncoding.test.js.map +1 -1
  6. package/cjs/encoding/cl100k_base.d.ts +2 -2
  7. package/cjs/encoding/cl100k_base.js +3 -2
  8. package/cjs/encoding/cl100k_base.js.map +1 -1
  9. package/cjs/encoding/o200k_base.d.ts +2 -2
  10. package/cjs/encoding/o200k_base.js +3 -2
  11. package/cjs/encoding/o200k_base.js.map +1 -1
  12. package/cjs/encoding/p50k_base.d.ts +2 -2
  13. package/cjs/encoding/p50k_base.js +3 -2
  14. package/cjs/encoding/p50k_base.js.map +1 -1
  15. package/cjs/encoding/p50k_edit.d.ts +2 -2
  16. package/cjs/encoding/p50k_edit.js +5 -2
  17. package/cjs/encoding/p50k_edit.js.map +1 -1
  18. package/cjs/encoding/r50k_base.d.ts +2 -2
  19. package/cjs/encoding/r50k_base.js +3 -2
  20. package/cjs/encoding/r50k_base.js.map +1 -1
  21. package/cjs/extraApis.test.js +19 -17
  22. package/cjs/extraApis.test.js.map +1 -1
  23. package/cjs/model/babbage-002-finetune.d.ts +2 -0
  24. package/cjs/model/babbage-002-finetune.js +25 -0
  25. package/cjs/model/babbage-002-finetune.js.map +1 -0
  26. package/cjs/model/davinci-002-finetune.d.ts +2 -0
  27. package/cjs/model/davinci-002-finetune.js +25 -0
  28. package/cjs/model/davinci-002-finetune.js.map +1 -0
  29. package/cjs/model/gpt-3.5-turbo-0125.d.ts +2 -2
  30. package/cjs/model/gpt-3.5-turbo-0125.js +4 -2
  31. package/cjs/model/gpt-3.5-turbo-0125.js.map +1 -1
  32. package/cjs/model/gpt-3.5-turbo-0301.d.ts +2 -2
  33. package/cjs/model/gpt-3.5-turbo-0301.js +4 -2
  34. package/cjs/model/gpt-3.5-turbo-0301.js.map +1 -1
  35. package/cjs/model/gpt-3.5-turbo-0613.d.ts +2 -2
  36. package/cjs/model/gpt-3.5-turbo-0613.js +4 -2
  37. package/cjs/model/gpt-3.5-turbo-0613.js.map +1 -1
  38. package/cjs/model/gpt-3.5-turbo-1106.d.ts +2 -2
  39. package/cjs/model/gpt-3.5-turbo-1106.js +4 -2
  40. package/cjs/model/gpt-3.5-turbo-1106.js.map +1 -1
  41. package/cjs/model/gpt-3.5-turbo-16k-0613.d.ts +2 -2
  42. package/cjs/model/gpt-3.5-turbo-16k-0613.js +4 -2
  43. package/cjs/model/gpt-3.5-turbo-16k-0613.js.map +1 -1
  44. package/cjs/model/gpt-3.5-turbo-16k.d.ts +2 -2
  45. package/cjs/model/gpt-3.5-turbo-16k.js +4 -2
  46. package/cjs/model/gpt-3.5-turbo-16k.js.map +1 -1
  47. package/cjs/model/gpt-3.5-turbo-finetune.d.ts +2 -2
  48. package/cjs/model/gpt-3.5-turbo-finetune.js +4 -2
  49. package/cjs/model/gpt-3.5-turbo-finetune.js.map +1 -1
  50. package/cjs/model/gpt-3.5-turbo.d.ts +2 -2
  51. package/cjs/model/gpt-3.5-turbo.js +4 -2
  52. package/cjs/model/gpt-3.5-turbo.js.map +1 -1
  53. package/cjs/model/gpt-4-0125-preview.d.ts +2 -2
  54. package/cjs/model/gpt-4-0125-preview.js +4 -2
  55. package/cjs/model/gpt-4-0125-preview.js.map +1 -1
  56. package/cjs/model/gpt-4-0314.d.ts +2 -2
  57. package/cjs/model/gpt-4-0314.js +4 -2
  58. package/cjs/model/gpt-4-0314.js.map +1 -1
  59. package/cjs/model/gpt-4-0613.d.ts +2 -2
  60. package/cjs/model/gpt-4-0613.js +4 -2
  61. package/cjs/model/gpt-4-0613.js.map +1 -1
  62. package/cjs/model/gpt-4-1106-preview.d.ts +2 -2
  63. package/cjs/model/gpt-4-1106-preview.js +4 -2
  64. package/cjs/model/gpt-4-1106-preview.js.map +1 -1
  65. package/cjs/model/gpt-4-1106-vision-preview.d.ts +2 -2
  66. package/cjs/model/gpt-4-1106-vision-preview.js +4 -2
  67. package/cjs/model/gpt-4-1106-vision-preview.js.map +1 -1
  68. package/cjs/model/gpt-4-32k-0314.d.ts +2 -2
  69. package/cjs/model/gpt-4-32k-0314.js +4 -2
  70. package/cjs/model/gpt-4-32k-0314.js.map +1 -1
  71. package/cjs/model/gpt-4-32k-0613.d.ts +2 -2
  72. package/cjs/model/gpt-4-32k-0613.js +4 -2
  73. package/cjs/model/gpt-4-32k-0613.js.map +1 -1
  74. package/cjs/model/gpt-4-32k.d.ts +2 -2
  75. package/cjs/model/gpt-4-32k.js +4 -2
  76. package/cjs/model/gpt-4-32k.js.map +1 -1
  77. package/cjs/model/gpt-4-turbo-2024-04-09.d.ts +2 -2
  78. package/cjs/model/gpt-4-turbo-2024-04-09.js +4 -2
  79. package/cjs/model/gpt-4-turbo-2024-04-09.js.map +1 -1
  80. package/cjs/model/gpt-4-turbo-preview.d.ts +2 -2
  81. package/cjs/model/gpt-4-turbo-preview.js +4 -2
  82. package/cjs/model/gpt-4-turbo-preview.js.map +1 -1
  83. package/cjs/model/gpt-4-turbo.d.ts +2 -2
  84. package/cjs/model/gpt-4-turbo.js +4 -2
  85. package/cjs/model/gpt-4-turbo.js.map +1 -1
  86. package/cjs/model/gpt-4-vision-preview.d.ts +2 -2
  87. package/cjs/model/gpt-4-vision-preview.js +4 -2
  88. package/cjs/model/gpt-4-vision-preview.js.map +1 -1
  89. package/cjs/model/gpt-4.d.ts +2 -2
  90. package/cjs/model/gpt-4.js +4 -2
  91. package/cjs/model/gpt-4.js.map +1 -1
  92. package/cjs/model/gpt-4o-2024-05-13.d.ts +2 -2
  93. package/cjs/model/gpt-4o-2024-05-13.js +4 -2
  94. package/cjs/model/gpt-4o-2024-05-13.js.map +1 -1
  95. package/cjs/model/gpt-4o-2024-08-06-finetune.d.ts +2 -2
  96. package/cjs/model/gpt-4o-2024-08-06-finetune.js +4 -2
  97. package/cjs/model/gpt-4o-2024-08-06-finetune.js.map +1 -1
  98. package/cjs/model/gpt-4o-2024-08-06.d.ts +2 -2
  99. package/cjs/model/gpt-4o-2024-08-06.js +4 -2
  100. package/cjs/model/gpt-4o-2024-08-06.js.map +1 -1
  101. package/cjs/model/gpt-4o-2024-11-20.d.ts +7 -0
  102. package/cjs/model/gpt-4o-2024-11-20.js +44 -0
  103. package/cjs/model/gpt-4o-2024-11-20.js.map +1 -0
  104. package/cjs/model/gpt-4o-audio-preview-2024-10-01.d.ts +2 -2
  105. package/cjs/model/gpt-4o-audio-preview-2024-10-01.js +4 -2
  106. package/cjs/model/gpt-4o-audio-preview-2024-10-01.js.map +1 -1
  107. package/cjs/model/gpt-4o-audio-preview-2024-12-17.d.ts +7 -0
  108. package/cjs/model/gpt-4o-audio-preview-2024-12-17.js +44 -0
  109. package/cjs/model/gpt-4o-audio-preview-2024-12-17.js.map +1 -0
  110. package/cjs/model/gpt-4o-audio-preview.d.ts +2 -2
  111. package/cjs/model/gpt-4o-audio-preview.js +4 -2
  112. package/cjs/model/gpt-4o-audio-preview.js.map +1 -1
  113. package/cjs/model/gpt-4o-mini-2024-07-18-finetune.d.ts +2 -2
  114. package/cjs/model/gpt-4o-mini-2024-07-18-finetune.js +4 -2
  115. package/cjs/model/gpt-4o-mini-2024-07-18-finetune.js.map +1 -1
  116. package/cjs/model/gpt-4o-mini-2024-07-18.d.ts +2 -2
  117. package/cjs/model/gpt-4o-mini-2024-07-18.js +4 -2
  118. package/cjs/model/gpt-4o-mini-2024-07-18.js.map +1 -1
  119. package/cjs/model/gpt-4o-mini-audio-preview-2024-12-17.d.ts +7 -0
  120. package/cjs/model/gpt-4o-mini-audio-preview-2024-12-17.js +44 -0
  121. package/cjs/model/gpt-4o-mini-audio-preview-2024-12-17.js.map +1 -0
  122. package/cjs/model/gpt-4o-mini-audio-preview.d.ts +7 -0
  123. package/cjs/model/gpt-4o-mini-audio-preview.js +44 -0
  124. package/cjs/model/gpt-4o-mini-audio-preview.js.map +1 -0
  125. package/cjs/model/gpt-4o-mini-realtime-preview-2024-12-17.d.ts +7 -0
  126. package/cjs/model/gpt-4o-mini-realtime-preview-2024-12-17.js +44 -0
  127. package/cjs/model/gpt-4o-mini-realtime-preview-2024-12-17.js.map +1 -0
  128. package/cjs/model/gpt-4o-mini-realtime-preview.d.ts +7 -0
  129. package/cjs/model/gpt-4o-mini-realtime-preview.js +44 -0
  130. package/cjs/model/gpt-4o-mini-realtime-preview.js.map +1 -0
  131. package/cjs/model/gpt-4o-mini-training-2024-07-18.d.ts +2 -2
  132. package/cjs/model/gpt-4o-mini-training-2024-07-18.js +4 -2
  133. package/cjs/model/gpt-4o-mini-training-2024-07-18.js.map +1 -1
  134. package/cjs/model/gpt-4o-mini-training.d.ts +2 -2
  135. package/cjs/model/gpt-4o-mini-training.js +4 -2
  136. package/cjs/model/gpt-4o-mini-training.js.map +1 -1
  137. package/cjs/model/gpt-4o-mini.d.ts +2 -2
  138. package/cjs/model/gpt-4o-mini.js +4 -2
  139. package/cjs/model/gpt-4o-mini.js.map +1 -1
  140. package/cjs/model/gpt-4o-realtime-preview-2024-10-01.d.ts +2 -2
  141. package/cjs/model/gpt-4o-realtime-preview-2024-10-01.js +4 -2
  142. package/cjs/model/gpt-4o-realtime-preview-2024-10-01.js.map +1 -1
  143. package/cjs/model/gpt-4o-realtime-preview-2024-12-17.d.ts +7 -0
  144. package/cjs/model/gpt-4o-realtime-preview-2024-12-17.js +44 -0
  145. package/cjs/model/gpt-4o-realtime-preview-2024-12-17.js.map +1 -0
  146. package/cjs/model/gpt-4o-realtime-preview.d.ts +2 -2
  147. package/cjs/model/gpt-4o-realtime-preview.js +4 -2
  148. package/cjs/model/gpt-4o-realtime-preview.js.map +1 -1
  149. package/cjs/model/gpt-4o.d.ts +2 -2
  150. package/cjs/model/gpt-4o.js +4 -2
  151. package/cjs/model/gpt-4o.js.map +1 -1
  152. package/cjs/model/o1-2024-12-17.d.ts +2 -0
  153. package/cjs/model/o1-2024-12-17.js +25 -0
  154. package/cjs/model/o1-2024-12-17.js.map +1 -0
  155. package/cjs/model/o1.d.ts +2 -0
  156. package/cjs/model/o1.js +25 -0
  157. package/cjs/model/o1.js.map +1 -0
  158. package/cjs/model/o3-mini.d.ts +2 -0
  159. package/cjs/model/o3-mini.js +25 -0
  160. package/cjs/model/o3-mini.js.map +1 -0
  161. package/cjs/models.d.ts +38 -10
  162. package/cjs/models.js +201 -8
  163. package/cjs/models.js.map +1 -1
  164. package/cjs/otherRuntimes.test.d.ts +4 -0
  165. package/cjs/otherRuntimes.test.js +22 -0
  166. package/cjs/otherRuntimes.test.js.map +1 -0
  167. package/cjs/resolveEncodingAsync.js +17 -7
  168. package/cjs/resolveEncodingAsync.js.map +1 -1
  169. package/dist/cl100k_base.js +1 -1
  170. package/dist/cl100k_base.js.map +1 -1
  171. package/dist/o200k_base.js +1 -1
  172. package/dist/o200k_base.js.map +1 -1
  173. package/dist/p50k_base.js +1 -1
  174. package/dist/p50k_base.js.map +1 -1
  175. package/dist/p50k_edit.js +1 -1
  176. package/dist/p50k_edit.js.map +1 -1
  177. package/dist/r50k_base.js +1 -1
  178. package/dist/r50k_base.js.map +1 -1
  179. package/esm/GptEncoding.d.ts +11 -2
  180. package/esm/GptEncoding.js +39 -0
  181. package/esm/GptEncoding.js.map +1 -1
  182. package/esm/GptEncoding.test.js +77 -20
  183. package/esm/GptEncoding.test.js.map +1 -1
  184. package/esm/encoding/cl100k_base.d.ts +2 -2
  185. package/esm/encoding/cl100k_base.js +2 -2
  186. package/esm/encoding/cl100k_base.js.map +1 -1
  187. package/esm/encoding/o200k_base.d.ts +2 -2
  188. package/esm/encoding/o200k_base.js +2 -2
  189. package/esm/encoding/o200k_base.js.map +1 -1
  190. package/esm/encoding/p50k_base.d.ts +2 -2
  191. package/esm/encoding/p50k_base.js +2 -2
  192. package/esm/encoding/p50k_base.js.map +1 -1
  193. package/esm/encoding/p50k_edit.d.ts +2 -2
  194. package/esm/encoding/p50k_edit.js +2 -2
  195. package/esm/encoding/p50k_edit.js.map +1 -1
  196. package/esm/encoding/r50k_base.d.ts +2 -2
  197. package/esm/encoding/r50k_base.js +2 -2
  198. package/esm/encoding/r50k_base.js.map +1 -1
  199. package/esm/extraApis.test.js +2 -0
  200. package/esm/extraApis.test.js.map +1 -1
  201. package/esm/model/babbage-002-finetune.d.ts +2 -0
  202. package/esm/model/babbage-002-finetune.js +4 -0
  203. package/esm/model/babbage-002-finetune.js.map +1 -0
  204. package/esm/model/davinci-002-finetune.d.ts +2 -0
  205. package/esm/model/davinci-002-finetune.js +4 -0
  206. package/esm/model/davinci-002-finetune.js.map +1 -0
  207. package/esm/model/gpt-3.5-turbo-0125.d.ts +2 -2
  208. package/esm/model/gpt-3.5-turbo-0125.js +2 -2
  209. package/esm/model/gpt-3.5-turbo-0125.js.map +1 -1
  210. package/esm/model/gpt-3.5-turbo-0301.d.ts +2 -2
  211. package/esm/model/gpt-3.5-turbo-0301.js +2 -2
  212. package/esm/model/gpt-3.5-turbo-0301.js.map +1 -1
  213. package/esm/model/gpt-3.5-turbo-0613.d.ts +2 -2
  214. package/esm/model/gpt-3.5-turbo-0613.js +2 -2
  215. package/esm/model/gpt-3.5-turbo-0613.js.map +1 -1
  216. package/esm/model/gpt-3.5-turbo-1106.d.ts +2 -2
  217. package/esm/model/gpt-3.5-turbo-1106.js +2 -2
  218. package/esm/model/gpt-3.5-turbo-1106.js.map +1 -1
  219. package/esm/model/gpt-3.5-turbo-16k-0613.d.ts +2 -2
  220. package/esm/model/gpt-3.5-turbo-16k-0613.js +2 -2
  221. package/esm/model/gpt-3.5-turbo-16k-0613.js.map +1 -1
  222. package/esm/model/gpt-3.5-turbo-16k.d.ts +2 -2
  223. package/esm/model/gpt-3.5-turbo-16k.js +2 -2
  224. package/esm/model/gpt-3.5-turbo-16k.js.map +1 -1
  225. package/esm/model/gpt-3.5-turbo-finetune.d.ts +2 -2
  226. package/esm/model/gpt-3.5-turbo-finetune.js +2 -2
  227. package/esm/model/gpt-3.5-turbo-finetune.js.map +1 -1
  228. package/esm/model/gpt-3.5-turbo.d.ts +2 -2
  229. package/esm/model/gpt-3.5-turbo.js +2 -2
  230. package/esm/model/gpt-3.5-turbo.js.map +1 -1
  231. package/esm/model/gpt-4-0125-preview.d.ts +2 -2
  232. package/esm/model/gpt-4-0125-preview.js +2 -2
  233. package/esm/model/gpt-4-0125-preview.js.map +1 -1
  234. package/esm/model/gpt-4-0314.d.ts +2 -2
  235. package/esm/model/gpt-4-0314.js +2 -2
  236. package/esm/model/gpt-4-0314.js.map +1 -1
  237. package/esm/model/gpt-4-0613.d.ts +2 -2
  238. package/esm/model/gpt-4-0613.js +2 -2
  239. package/esm/model/gpt-4-0613.js.map +1 -1
  240. package/esm/model/gpt-4-1106-preview.d.ts +2 -2
  241. package/esm/model/gpt-4-1106-preview.js +2 -2
  242. package/esm/model/gpt-4-1106-preview.js.map +1 -1
  243. package/esm/model/gpt-4-1106-vision-preview.d.ts +2 -2
  244. package/esm/model/gpt-4-1106-vision-preview.js +2 -2
  245. package/esm/model/gpt-4-1106-vision-preview.js.map +1 -1
  246. package/esm/model/gpt-4-32k-0314.d.ts +2 -2
  247. package/esm/model/gpt-4-32k-0314.js +2 -2
  248. package/esm/model/gpt-4-32k-0314.js.map +1 -1
  249. package/esm/model/gpt-4-32k-0613.d.ts +2 -2
  250. package/esm/model/gpt-4-32k-0613.js +2 -2
  251. package/esm/model/gpt-4-32k-0613.js.map +1 -1
  252. package/esm/model/gpt-4-32k.d.ts +2 -2
  253. package/esm/model/gpt-4-32k.js +2 -2
  254. package/esm/model/gpt-4-32k.js.map +1 -1
  255. package/esm/model/gpt-4-turbo-2024-04-09.d.ts +2 -2
  256. package/esm/model/gpt-4-turbo-2024-04-09.js +2 -2
  257. package/esm/model/gpt-4-turbo-2024-04-09.js.map +1 -1
  258. package/esm/model/gpt-4-turbo-preview.d.ts +2 -2
  259. package/esm/model/gpt-4-turbo-preview.js +2 -2
  260. package/esm/model/gpt-4-turbo-preview.js.map +1 -1
  261. package/esm/model/gpt-4-turbo.d.ts +2 -2
  262. package/esm/model/gpt-4-turbo.js +2 -2
  263. package/esm/model/gpt-4-turbo.js.map +1 -1
  264. package/esm/model/gpt-4-vision-preview.d.ts +2 -2
  265. package/esm/model/gpt-4-vision-preview.js +2 -2
  266. package/esm/model/gpt-4-vision-preview.js.map +1 -1
  267. package/esm/model/gpt-4.d.ts +2 -2
  268. package/esm/model/gpt-4.js +2 -2
  269. package/esm/model/gpt-4.js.map +1 -1
  270. package/esm/model/gpt-4o-2024-05-13.d.ts +2 -2
  271. package/esm/model/gpt-4o-2024-05-13.js +2 -2
  272. package/esm/model/gpt-4o-2024-05-13.js.map +1 -1
  273. package/esm/model/gpt-4o-2024-08-06-finetune.d.ts +2 -2
  274. package/esm/model/gpt-4o-2024-08-06-finetune.js +2 -2
  275. package/esm/model/gpt-4o-2024-08-06-finetune.js.map +1 -1
  276. package/esm/model/gpt-4o-2024-08-06.d.ts +2 -2
  277. package/esm/model/gpt-4o-2024-08-06.js +2 -2
  278. package/esm/model/gpt-4o-2024-08-06.js.map +1 -1
  279. package/esm/model/gpt-4o-2024-11-20.d.ts +7 -0
  280. package/esm/model/gpt-4o-2024-11-20.js +12 -0
  281. package/esm/model/gpt-4o-2024-11-20.js.map +1 -0
  282. package/esm/model/gpt-4o-audio-preview-2024-10-01.d.ts +2 -2
  283. package/esm/model/gpt-4o-audio-preview-2024-10-01.js +2 -2
  284. package/esm/model/gpt-4o-audio-preview-2024-10-01.js.map +1 -1
  285. package/esm/model/gpt-4o-audio-preview-2024-12-17.d.ts +7 -0
  286. package/esm/model/gpt-4o-audio-preview-2024-12-17.js +12 -0
  287. package/esm/model/gpt-4o-audio-preview-2024-12-17.js.map +1 -0
  288. package/esm/model/gpt-4o-audio-preview.d.ts +2 -2
  289. package/esm/model/gpt-4o-audio-preview.js +2 -2
  290. package/esm/model/gpt-4o-audio-preview.js.map +1 -1
  291. package/esm/model/gpt-4o-mini-2024-07-18-finetune.d.ts +2 -2
  292. package/esm/model/gpt-4o-mini-2024-07-18-finetune.js +2 -2
  293. package/esm/model/gpt-4o-mini-2024-07-18-finetune.js.map +1 -1
  294. package/esm/model/gpt-4o-mini-2024-07-18.d.ts +2 -2
  295. package/esm/model/gpt-4o-mini-2024-07-18.js +2 -2
  296. package/esm/model/gpt-4o-mini-2024-07-18.js.map +1 -1
  297. package/esm/model/gpt-4o-mini-audio-preview-2024-12-17.d.ts +7 -0
  298. package/esm/model/gpt-4o-mini-audio-preview-2024-12-17.js +12 -0
  299. package/esm/model/gpt-4o-mini-audio-preview-2024-12-17.js.map +1 -0
  300. package/esm/model/gpt-4o-mini-audio-preview.d.ts +7 -0
  301. package/esm/model/gpt-4o-mini-audio-preview.js +12 -0
  302. package/esm/model/gpt-4o-mini-audio-preview.js.map +1 -0
  303. package/esm/model/gpt-4o-mini-realtime-preview-2024-12-17.d.ts +7 -0
  304. package/esm/model/gpt-4o-mini-realtime-preview-2024-12-17.js +12 -0
  305. package/esm/model/gpt-4o-mini-realtime-preview-2024-12-17.js.map +1 -0
  306. package/esm/model/gpt-4o-mini-realtime-preview.d.ts +7 -0
  307. package/esm/model/gpt-4o-mini-realtime-preview.js +12 -0
  308. package/esm/model/gpt-4o-mini-realtime-preview.js.map +1 -0
  309. package/esm/model/gpt-4o-mini-training-2024-07-18.d.ts +2 -2
  310. package/esm/model/gpt-4o-mini-training-2024-07-18.js +2 -2
  311. package/esm/model/gpt-4o-mini-training-2024-07-18.js.map +1 -1
  312. package/esm/model/gpt-4o-mini-training.d.ts +2 -2
  313. package/esm/model/gpt-4o-mini-training.js +2 -2
  314. package/esm/model/gpt-4o-mini-training.js.map +1 -1
  315. package/esm/model/gpt-4o-mini.d.ts +2 -2
  316. package/esm/model/gpt-4o-mini.js +2 -2
  317. package/esm/model/gpt-4o-mini.js.map +1 -1
  318. package/esm/model/gpt-4o-realtime-preview-2024-10-01.d.ts +2 -2
  319. package/esm/model/gpt-4o-realtime-preview-2024-10-01.js +2 -2
  320. package/esm/model/gpt-4o-realtime-preview-2024-10-01.js.map +1 -1
  321. package/esm/model/gpt-4o-realtime-preview-2024-12-17.d.ts +7 -0
  322. package/esm/model/gpt-4o-realtime-preview-2024-12-17.js +12 -0
  323. package/esm/model/gpt-4o-realtime-preview-2024-12-17.js.map +1 -0
  324. package/esm/model/gpt-4o-realtime-preview.d.ts +2 -2
  325. package/esm/model/gpt-4o-realtime-preview.js +2 -2
  326. package/esm/model/gpt-4o-realtime-preview.js.map +1 -1
  327. package/esm/model/gpt-4o.d.ts +2 -2
  328. package/esm/model/gpt-4o.js +2 -2
  329. package/esm/model/gpt-4o.js.map +1 -1
  330. package/esm/model/o1-2024-12-17.d.ts +2 -0
  331. package/esm/model/o1-2024-12-17.js +4 -0
  332. package/esm/model/o1-2024-12-17.js.map +1 -0
  333. package/esm/model/o1.d.ts +2 -0
  334. package/esm/model/o1.js +4 -0
  335. package/esm/model/o1.js.map +1 -0
  336. package/esm/model/o3-mini.d.ts +2 -0
  337. package/esm/model/o3-mini.js +4 -0
  338. package/esm/model/o3-mini.js.map +1 -0
  339. package/esm/models.d.ts +38 -10
  340. package/esm/models.js +201 -8
  341. package/esm/models.js.map +1 -1
  342. package/esm/otherRuntimes.test.d.ts +4 -0
  343. package/esm/otherRuntimes.test.js +20 -0
  344. package/esm/otherRuntimes.test.js.map +1 -0
  345. package/package.json +9 -5
  346. package/src/GptEncoding.test.ts +102 -20
  347. package/src/GptEncoding.ts +51 -0
  348. package/src/__snapshots__/GptEncoding.test.ts.snap +958 -69
  349. package/src/encoding/cl100k_base.ts +2 -0
  350. package/src/encoding/o200k_base.ts +2 -0
  351. package/src/encoding/p50k_base.ts +2 -0
  352. package/src/encoding/p50k_edit.ts +6 -0
  353. package/src/encoding/r50k_base.ts +2 -0
  354. package/src/extraApis.test.ts +2 -0
  355. package/src/model/babbage-002-finetune.ts +3 -0
  356. package/src/model/davinci-002-finetune.ts +3 -0
  357. package/src/model/gpt-3.5-turbo-0125.ts +4 -0
  358. package/src/model/gpt-3.5-turbo-0301.ts +4 -0
  359. package/src/model/gpt-3.5-turbo-0613.ts +4 -0
  360. package/src/model/gpt-3.5-turbo-1106.ts +4 -0
  361. package/src/model/gpt-3.5-turbo-16k-0613.ts +4 -0
  362. package/src/model/gpt-3.5-turbo-16k.ts +4 -0
  363. package/src/model/gpt-3.5-turbo-finetune.ts +4 -0
  364. package/src/model/gpt-3.5-turbo.ts +4 -0
  365. package/src/model/gpt-4-0125-preview.ts +4 -0
  366. package/src/model/gpt-4-0314.ts +4 -0
  367. package/src/model/gpt-4-0613.ts +4 -0
  368. package/src/model/gpt-4-1106-preview.ts +4 -0
  369. package/src/model/gpt-4-1106-vision-preview.ts +4 -0
  370. package/src/model/gpt-4-32k-0314.ts +4 -0
  371. package/src/model/gpt-4-32k-0613.ts +4 -0
  372. package/src/model/gpt-4-32k.ts +4 -0
  373. package/src/model/gpt-4-turbo-2024-04-09.ts +4 -0
  374. package/src/model/gpt-4-turbo-preview.ts +4 -0
  375. package/src/model/gpt-4-turbo.ts +4 -0
  376. package/src/model/gpt-4-vision-preview.ts +4 -0
  377. package/src/model/gpt-4.ts +4 -0
  378. package/src/model/gpt-4o-2024-05-13.ts +4 -0
  379. package/src/model/gpt-4o-2024-08-06-finetune.ts +4 -0
  380. package/src/model/gpt-4o-2024-08-06.ts +4 -0
  381. package/src/model/gpt-4o-2024-11-20.ts +40 -0
  382. package/src/model/gpt-4o-audio-preview-2024-10-01.ts +4 -0
  383. package/src/model/gpt-4o-audio-preview-2024-12-17.ts +40 -0
  384. package/src/model/gpt-4o-audio-preview.ts +4 -0
  385. package/src/model/gpt-4o-mini-2024-07-18-finetune.ts +4 -0
  386. package/src/model/gpt-4o-mini-2024-07-18.ts +4 -0
  387. package/src/model/gpt-4o-mini-audio-preview-2024-12-17.ts +40 -0
  388. package/src/model/gpt-4o-mini-audio-preview.ts +40 -0
  389. package/src/model/gpt-4o-mini-realtime-preview-2024-12-17.ts +40 -0
  390. package/src/model/gpt-4o-mini-realtime-preview.ts +40 -0
  391. package/src/model/gpt-4o-mini-training-2024-07-18.ts +4 -0
  392. package/src/model/gpt-4o-mini-training.ts +4 -0
  393. package/src/model/gpt-4o-mini.ts +4 -0
  394. package/src/model/gpt-4o-realtime-preview-2024-10-01.ts +4 -0
  395. package/src/model/gpt-4o-realtime-preview-2024-12-17.ts +40 -0
  396. package/src/model/gpt-4o-realtime-preview.ts +4 -0
  397. package/src/model/gpt-4o.ts +4 -0
  398. package/src/model/o1-2024-12-17.ts +3 -0
  399. package/src/model/o1.ts +3 -0
  400. package/src/model/o3-mini.ts +3 -0
  401. package/src/models.ts +229 -19
  402. package/src/otherRuntimes.test.ts +23 -0
package/src/models.ts CHANGED
@@ -5,6 +5,19 @@ import type { EncodingName } from './mapping.js'
5
5
  // - https://platform.openai.com/docs/deprecations/
6
6
  // - https://openai.com/api/pricing/
7
7
 
8
+ export interface CostEstimate {
9
+ input?: number
10
+ output?: number
11
+ /** batch API input cost */
12
+ batchInput?: number
13
+ /** batch API output cost */
14
+ batchOutput?: number
15
+ /** cached input cost */
16
+ cachedInput?: number
17
+ /** training cost per million tokens */
18
+ training?: number
19
+ }
20
+
8
21
  export interface Model {
9
22
  humanName: string
10
23
  encoding: EncodingName
@@ -20,16 +33,8 @@ export interface Model {
20
33
  maxInput?: number
21
34
  /** in YYYY-MM, e.g. 2023-10 for "up to Oct 2023" */
22
35
  trainingData?: string
23
- cost?: {
24
- /** input cost per million tokens */
25
- input?: number
26
- /** output cost per million tokens */
27
- output?: number
28
- /** batch API input cost per million tokens */
29
- batchInput?: number
30
- /** batch API output cost per million tokens */
31
- batchOutput?: number
32
- }
36
+ /** cost per million tokens in USD */
37
+ cost?: CostEstimate
33
38
  }
34
39
 
35
40
  const gpt4oAugust2024: Model = {
@@ -40,7 +45,30 @@ const gpt4oAugust2024: Model = {
40
45
  context: 128_000,
41
46
  maxOutput: 16_384,
42
47
  trainingData: '2023-10',
43
- cost: { input: 2.5, output: 10, batchInput: 1.25, batchOutput: 5 },
48
+ cost: {
49
+ input: 2.5,
50
+ output: 10,
51
+ batchInput: 1.25,
52
+ batchOutput: 5,
53
+ cachedInput: 1.25,
54
+ },
55
+ }
56
+
57
+ const gpt4oNovember2024: Model = {
58
+ humanName: 'GPT-4o (Nov 2024)',
59
+ description:
60
+ 'November 2024 snapshot of the GPT-4o model with enhanced capabilities.',
61
+ encoding: 'o200k_base',
62
+ context: 128_000,
63
+ maxOutput: 16_384,
64
+ trainingData: '2023-10',
65
+ cost: {
66
+ input: 2.5,
67
+ output: 10,
68
+ batchInput: 1.25,
69
+ batchOutput: 5,
70
+ cachedInput: 1.25,
71
+ },
44
72
  }
45
73
 
46
74
  const gpt4oMay2024: Model = {
@@ -62,18 +90,46 @@ const gpt4oMiniJuly2024: Model = {
62
90
  context: 128_000,
63
91
  maxOutput: 16_384,
64
92
  trainingData: '2023-10',
65
- cost: { input: 0.15, output: 0.6, batchInput: 0.075, batchOutput: 0.3 },
93
+ cost: {
94
+ input: 0.15,
95
+ output: 0.6,
96
+ batchInput: 0.075,
97
+ batchOutput: 0.3,
98
+ cachedInput: 0.075,
99
+ },
100
+ }
101
+
102
+ const o1December2024: Model = {
103
+ humanName: 'OpenAI o1',
104
+ description:
105
+ 'Our most intelligent model, optimal for complex tasks requiring deep understanding and expertise. Currently points to o1-2024-12-17.',
106
+ encoding: 'o200k_base',
107
+ context: 128_000,
108
+ maxOutput: 32_768,
109
+ trainingData: '2023-10',
110
+ cost: {
111
+ input: 15,
112
+ output: 60,
113
+ batchInput: 7.5,
114
+ batchOutput: 30,
115
+ cachedInput: 7.5,
116
+ },
66
117
  }
67
118
 
68
119
  const o1PreviewSeptember2024: Model = {
69
120
  humanName: 'OpenAI o1-preview',
70
- description:
71
- 'Points to the most recent snapshot of the o1 model: o1-preview-2024-09-12.',
121
+ description: 'Preview version of the o1 model: o1-preview-2024-09-12.',
72
122
  encoding: 'o200k_base',
73
123
  context: 128_000,
74
124
  maxOutput: 32_768,
75
125
  trainingData: '2023-10',
76
- cost: { input: 15, output: 60 },
126
+ cost: {
127
+ input: 15,
128
+ output: 60,
129
+ batchInput: 7.5,
130
+ batchOutput: 30,
131
+ cachedInput: 7.5,
132
+ },
77
133
  }
78
134
 
79
135
  const o1MiniSeptember2024: Model = {
@@ -84,7 +140,30 @@ const o1MiniSeptember2024: Model = {
84
140
  context: 128_000,
85
141
  maxOutput: 65_536,
86
142
  trainingData: '2023-10',
87
- cost: { input: 3, output: 12 },
143
+ cost: {
144
+ input: 1.1,
145
+ output: 4.4,
146
+ batchInput: 0.55,
147
+ batchOutput: 2.2,
148
+ cachedInput: 0.55,
149
+ },
150
+ }
151
+
152
+ const o3MiniModel: Model = {
153
+ humanName: 'OpenAI o3-mini',
154
+ description:
155
+ "Small cost-efficient reasoning model that's optimized for coding, math, and science, and supports tools and Structured Outputs.",
156
+ encoding: 'o200k_base',
157
+ context: 200_000,
158
+ maxOutput: 65_536,
159
+ trainingData: '2023-10',
160
+ cost: {
161
+ input: 1.1,
162
+ output: 4.4,
163
+ batchInput: 0.55,
164
+ batchOutput: 2.2,
165
+ cachedInput: 0.55,
166
+ },
88
167
  }
89
168
 
90
169
  const textEmbedding3Small: Model = {
@@ -120,6 +199,11 @@ const gpt4oRealtimePreview: Model = {
120
199
  context: 128_000,
121
200
  maxOutput: 4_096,
122
201
  trainingData: '2023-10',
202
+ cost: {
203
+ input: 5,
204
+ output: 20,
205
+ cachedInput: 2.5,
206
+ },
123
207
  }
124
208
 
125
209
  const gpt4oRealtimePreview20241001: Model = {
@@ -129,6 +213,39 @@ const gpt4oRealtimePreview20241001: Model = {
129
213
  context: 128_000,
130
214
  maxOutput: 4_096,
131
215
  trainingData: '2023-10',
216
+ cost: {
217
+ input: 5,
218
+ output: 20,
219
+ cachedInput: 2.5,
220
+ },
221
+ }
222
+
223
+ const gpt4oRealtimePreviewDecember2024: Model = {
224
+ humanName: 'GPT-4o Realtime Preview (Dec 2024)',
225
+ encoding: 'o200k_base',
226
+ description: 'December 2024 snapshot for the Realtime API model.',
227
+ context: 128_000,
228
+ maxOutput: 4_096,
229
+ trainingData: '2023-10',
230
+ cost: {
231
+ input: 5,
232
+ output: 20,
233
+ cachedInput: 2.5,
234
+ },
235
+ }
236
+
237
+ const gpt4oMiniRealtimePreviewDecember2024: Model = {
238
+ humanName: 'GPT-4o Mini Realtime Preview (Dec 2024)',
239
+ encoding: 'o200k_base',
240
+ description: 'Mini version for the Realtime API with December 2024 snapshot.',
241
+ context: 128_000,
242
+ maxOutput: 4_096,
243
+ trainingData: '2023-10',
244
+ cost: {
245
+ input: 0.6,
246
+ output: 2.4,
247
+ cachedInput: 0.3,
248
+ },
132
249
  }
133
250
 
134
251
  const gpt4oAudioPreview: Model = {
@@ -138,6 +255,10 @@ const gpt4oAudioPreview: Model = {
138
255
  context: 128_000,
139
256
  maxOutput: 16_384,
140
257
  trainingData: '2023-10',
258
+ cost: {
259
+ input: 2.5,
260
+ output: 10,
261
+ },
141
262
  }
142
263
 
143
264
  const gpt4oAudioPreview20241001: Model = {
@@ -147,6 +268,36 @@ const gpt4oAudioPreview20241001: Model = {
147
268
  context: 128_000,
148
269
  maxOutput: 16_384,
149
270
  trainingData: '2023-10',
271
+ cost: {
272
+ input: 2.5,
273
+ output: 10,
274
+ },
275
+ }
276
+
277
+ const gpt4oAudioPreviewDecember2024: Model = {
278
+ humanName: 'GPT-4o Audio Preview (Dec 2024)',
279
+ encoding: 'o200k_base',
280
+ description: 'December 2024 snapshot for the Audio API model.',
281
+ context: 128_000,
282
+ maxOutput: 16_384,
283
+ trainingData: '2023-10',
284
+ cost: {
285
+ input: 2.5,
286
+ output: 10,
287
+ },
288
+ }
289
+
290
+ const gpt4oMiniAudioPreviewDecember2024: Model = {
291
+ humanName: 'GPT-4o Mini Audio Preview (Dec 2024)',
292
+ encoding: 'o200k_base',
293
+ description: 'Mini version for the Audio API with December 2024 snapshot.',
294
+ context: 128_000,
295
+ maxOutput: 16_384,
296
+ trainingData: '2023-10',
297
+ cost: {
298
+ input: 0.15,
299
+ output: 0.6,
300
+ },
150
301
  }
151
302
 
152
303
  // finetuning and training
@@ -154,21 +305,41 @@ const gpt4oFinetuning: Model = {
154
305
  humanName: 'GPT-4o 2024-08-06 Finetuning',
155
306
  description: 'GPT-4o finetuned for custom tasks.',
156
307
  encoding: 'o200k_base',
157
- cost: { input: 3.75, output: 15, batchInput: 1.875, batchOutput: 7.5 },
308
+ cost: {
309
+ input: 3.75,
310
+ output: 15,
311
+ batchInput: 1.875,
312
+ batchOutput: 7.5,
313
+ cachedInput: 1.875,
314
+ training: 25,
315
+ },
158
316
  }
159
317
 
160
318
  const gpt4oMiniFinetuning: Model = {
161
319
  humanName: 'GPT-4o Mini 2024-07-18 Finetuning',
162
320
  description: 'GPT-4o mini finetuned for custom tasks.',
163
321
  encoding: 'o200k_base',
164
- cost: { input: 0.3, output: 1.2, batchInput: 0.15, batchOutput: 0.6 },
322
+ cost: {
323
+ input: 0.3,
324
+ output: 1.2,
325
+ batchInput: 0.15,
326
+ batchOutput: 0.6,
327
+ cachedInput: 0.15,
328
+ training: 3,
329
+ },
165
330
  }
166
331
 
167
332
  const gpt35TurboFinetune: Model = {
168
333
  humanName: 'GPT-3.5 Turbo Finetuning',
169
334
  description: 'Finetuning GPT-3.5 Turbo with custom data.',
170
335
  encoding: 'cl100k_base',
171
- cost: { input: 3, output: 6, batchInput: 1.5, batchOutput: 3 },
336
+ cost: {
337
+ input: 3,
338
+ output: 6,
339
+ batchInput: 1.5,
340
+ batchOutput: 3,
341
+ training: 8,
342
+ },
172
343
  }
173
344
 
174
345
  const gpt4oMiniTrainingJuly2024: Model = {
@@ -276,6 +447,19 @@ const davinci002: Model = {
276
447
  cost: { input: 2, output: 2, batchInput: 1, batchOutput: 1 },
277
448
  }
278
449
 
450
+ const davinci002Finetune: Model = {
451
+ humanName: 'Davinci-002 Finetuning',
452
+ description: 'Davinci-002 finetuned for custom tasks.',
453
+ encoding: 'p50k_base',
454
+ cost: {
455
+ input: 12,
456
+ output: 12,
457
+ batchInput: 6,
458
+ batchOutput: 6,
459
+ training: 6,
460
+ },
461
+ }
462
+
279
463
  const babbage002: Model = {
280
464
  humanName: 'Babbage 002',
281
465
  description: 'Replacement for the GPT-3 ada and babbage base models.',
@@ -285,6 +469,19 @@ const babbage002: Model = {
285
469
  cost: { input: 0.4, output: 0.4, batchInput: 0.2, batchOutput: 0.2 },
286
470
  }
287
471
 
472
+ const babbage002Finetune: Model = {
473
+ humanName: 'Babbage-002 Finetuning',
474
+ description: 'Babbage-002 finetuned for custom tasks.',
475
+ encoding: 'p50k_base',
476
+ cost: {
477
+ input: 1.6,
478
+ output: 1.6,
479
+ batchInput: 0.8,
480
+ batchOutput: 0.8,
481
+ training: 0.4,
482
+ },
483
+ }
484
+
288
485
  // deprecated models:
289
486
  const gpt432k0613: Model = {
290
487
  humanName: 'GPT-4 32k',
@@ -647,14 +844,18 @@ const textSearchDavinciQuery001: Model = {
647
844
  }
648
845
 
649
846
  export const chatEnabledModels = {
847
+ o1: o1December2024,
848
+ 'o1-2024-12-17': o1December2024,
650
849
  'o1-preview': o1PreviewSeptember2024,
651
850
  'o1-preview-2024-09-12': o1PreviewSeptember2024,
652
851
  'o1-mini': o1MiniSeptember2024,
653
852
  'o1-mini-2024-09-12': o1MiniSeptember2024,
853
+ 'o3-mini': o3MiniModel,
654
854
 
655
855
  'chatgpt-4o-latest': chatgpt4oLatest,
656
856
 
657
857
  'gpt-4o': gpt4oAugust2024,
858
+ 'gpt-4o-2024-11-20': gpt4oNovember2024,
658
859
  'gpt-4o-2024-08-06': gpt4oAugust2024,
659
860
  'gpt-4o-2024-05-13': gpt4oMay2024,
660
861
  'gpt-4o-mini': gpt4oMiniJuly2024,
@@ -663,14 +864,23 @@ export const chatEnabledModels = {
663
864
  // audio models:
664
865
  'gpt-4o-realtime-preview': gpt4oRealtimePreview,
665
866
  'gpt-4o-realtime-preview-2024-10-01': gpt4oRealtimePreview20241001,
867
+ 'gpt-4o-realtime-preview-2024-12-17': gpt4oRealtimePreviewDecember2024,
868
+ 'gpt-4o-mini-realtime-preview': gpt4oMiniRealtimePreviewDecember2024,
869
+ 'gpt-4o-mini-realtime-preview-2024-12-17':
870
+ gpt4oMiniRealtimePreviewDecember2024,
666
871
  'gpt-4o-audio-preview': gpt4oAudioPreview,
667
872
  'gpt-4o-audio-preview-2024-10-01': gpt4oAudioPreview20241001,
873
+ 'gpt-4o-audio-preview-2024-12-17': gpt4oAudioPreviewDecember2024,
874
+ 'gpt-4o-mini-audio-preview': gpt4oMiniAudioPreviewDecember2024,
875
+ 'gpt-4o-mini-audio-preview-2024-12-17': gpt4oMiniAudioPreviewDecember2024,
668
876
 
669
877
  // finetune and training:
670
878
  'gpt-4o-2024-08-06-finetune': gpt4oFinetuning,
671
879
  'gpt-4o-mini-2024-07-18-finetune': gpt4oMiniFinetuning,
672
880
  'gpt-4o-mini-training': gpt4oMiniTrainingJuly2024,
673
881
  'gpt-4o-mini-training-2024-07-18': gpt4oMiniTrainingJuly2024,
882
+ 'davinci-002-finetune': davinci002Finetune,
883
+ 'babbage-002-finetune': babbage002Finetune,
674
884
 
675
885
  // older models:
676
886
  'gpt-4-turbo': gpt4TurboApril2024,
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @vitest-environment edge-runtime
3
+ */
4
+
5
+ // eslint-disable-next-line import/no-extraneous-dependencies
6
+ import { describe, expect, test } from 'vitest'
7
+ import { GptEncoding } from './GptEncoding.js'
8
+ import { resolveEncoding } from './resolveEncoding.js'
9
+
10
+ describe('edge-runtime', () => {
11
+ const encoding = GptEncoding.getEncodingApi('o200k_base', resolveEncoding)
12
+
13
+ const { decode, encode, isWithinTokenLimit } = encoding
14
+
15
+ test('simple text', () => {
16
+ const str = 'This is some text'
17
+ const encoded = [2_500, 382, 1_236, 2_201]
18
+ expect(encode(str)).toEqual(encoded)
19
+ expect(decode(encode(str))).toEqual(str)
20
+ expect(isWithinTokenLimit(str, 3)).toBe(false)
21
+ expect(isWithinTokenLimit(str, 5)).toBe(encoded.length)
22
+ })
23
+ })