gpt-tokenizer 2.0.0-beta.1 → 2.0.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 (63) hide show
  1. package/README.md +125 -43
  2. package/cjs/GptEncoding.d.ts +5 -0
  3. package/cjs/GptEncoding.js +6 -0
  4. package/cjs/GptEncoding.js.map +1 -1
  5. package/cjs/GptEncoding.test.js +38 -0
  6. package/cjs/GptEncoding.test.js.map +1 -1
  7. package/cjs/encoding/cl100k_base.d.ts +4 -0
  8. package/cjs/encoding/cl100k_base.js +17 -0
  9. package/cjs/encoding/cl100k_base.js.map +1 -1
  10. package/cjs/encoding/p50k_base.d.ts +4 -0
  11. package/cjs/encoding/p50k_base.js +17 -0
  12. package/cjs/encoding/p50k_base.js.map +1 -1
  13. package/cjs/encoding/p50k_edit.d.ts +4 -0
  14. package/cjs/encoding/p50k_edit.js +17 -0
  15. package/cjs/encoding/p50k_edit.js.map +1 -1
  16. package/cjs/encoding/r50k_base.d.ts +4 -0
  17. package/cjs/encoding/r50k_base.js +17 -0
  18. package/cjs/encoding/r50k_base.js.map +1 -1
  19. package/cjs/modelParams.js +12 -16
  20. package/cjs/modelParams.js.map +1 -1
  21. package/cjs/specialTokens.d.ts +5 -0
  22. package/cjs/specialTokens.js +9 -0
  23. package/cjs/specialTokens.js.map +1 -0
  24. package/data/TestPlans.txt +1024 -0
  25. package/dist/cl100k_base.js +1 -1
  26. package/dist/cl100k_base.js.map +1 -1
  27. package/dist/p50k_base.js +1 -1
  28. package/dist/p50k_base.js.map +1 -1
  29. package/dist/p50k_edit.js +1 -1
  30. package/dist/p50k_edit.js.map +1 -1
  31. package/dist/r50k_base.js +1 -1
  32. package/dist/r50k_base.js.map +1 -1
  33. package/esm/GptEncoding.d.ts +5 -0
  34. package/esm/GptEncoding.js +8 -1
  35. package/esm/GptEncoding.js.map +1 -1
  36. package/esm/GptEncoding.test.js +35 -0
  37. package/esm/GptEncoding.test.js.map +1 -1
  38. package/esm/encoding/cl100k_base.d.ts +4 -0
  39. package/esm/encoding/cl100k_base.js +3 -0
  40. package/esm/encoding/cl100k_base.js.map +1 -1
  41. package/esm/encoding/p50k_base.d.ts +4 -0
  42. package/esm/encoding/p50k_base.js +3 -0
  43. package/esm/encoding/p50k_base.js.map +1 -1
  44. package/esm/encoding/p50k_edit.d.ts +4 -0
  45. package/esm/encoding/p50k_edit.js +3 -0
  46. package/esm/encoding/p50k_edit.js.map +1 -1
  47. package/esm/encoding/r50k_base.d.ts +4 -0
  48. package/esm/encoding/r50k_base.js +3 -0
  49. package/esm/encoding/r50k_base.js.map +1 -1
  50. package/esm/modelParams.js +1 -5
  51. package/esm/modelParams.js.map +1 -1
  52. package/esm/specialTokens.d.ts +5 -0
  53. package/esm/specialTokens.js +6 -0
  54. package/esm/specialTokens.js.map +1 -0
  55. package/package.json +5 -5
  56. package/src/GptEncoding.test.ts +40 -0
  57. package/src/GptEncoding.ts +13 -0
  58. package/src/encoding/cl100k_base.ts +4 -0
  59. package/src/encoding/p50k_base.ts +4 -0
  60. package/src/encoding/p50k_edit.ts +4 -0
  61. package/src/encoding/r50k_base.ts +4 -0
  62. package/src/modelParams.ts +7 -6
  63. package/src/specialTokens.ts +5 -0
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getModelParamsAsync = exports.getModelParams = void 0;
4
- const EndOfText = '<|endoftext|>';
5
- const FimPrefix = '<|fim_prefix|>';
6
- const FimMiddle = '<|fim_middle|>';
7
- const FimSuffix = '<|fim_suffix|>';
8
- const EndOfPrompt = '<|endofprompt|>';
4
+ const specialTokens_js_1 = require("./specialTokens.js");
9
5
  const tokenSplitRegex = /'s|'t|'re|'ve|'m|'ll|'d| ?\p{L}+| ?\p{N}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+/gu;
10
6
  function R50KBase(mergeableBytePairRanks) {
11
7
  return {
12
8
  expectedVocabularySize: 50257,
13
9
  tokenSplitRegex,
14
10
  mergeableBytePairRanks,
15
- specialTokenMapping: new Map([[EndOfText, 50256]]),
11
+ specialTokenMapping: new Map([[specialTokens_js_1.EndOfText, 50256]]),
16
12
  };
17
13
  }
18
14
  function P50KBase(mergeableBytePairRanks) {
@@ -20,15 +16,15 @@ function P50KBase(mergeableBytePairRanks) {
20
16
  expectedVocabularySize: 50281,
21
17
  tokenSplitRegex,
22
18
  mergeableBytePairRanks,
23
- specialTokenMapping: new Map([[EndOfText, 50256]]),
19
+ specialTokenMapping: new Map([[specialTokens_js_1.EndOfText, 50256]]),
24
20
  };
25
21
  }
26
22
  function P50KEdit(mergeableBytePairRanks) {
27
23
  const specialTokenMapping = new Map([
28
- [EndOfText, 50256],
29
- [FimPrefix, 50281],
30
- [FimMiddle, 50282],
31
- [FimSuffix, 50283],
24
+ [specialTokens_js_1.EndOfText, 50256],
25
+ [specialTokens_js_1.FimPrefix, 50281],
26
+ [specialTokens_js_1.FimMiddle, 50282],
27
+ [specialTokens_js_1.FimSuffix, 50283],
32
28
  ]);
33
29
  return {
34
30
  tokenSplitRegex,
@@ -38,11 +34,11 @@ function P50KEdit(mergeableBytePairRanks) {
38
34
  }
39
35
  function Cl100KBase(mergeableBytePairRanks) {
40
36
  const specialTokenMapping = new Map([
41
- [EndOfText, 100257],
42
- [FimPrefix, 100258],
43
- [FimMiddle, 100259],
44
- [FimSuffix, 100260],
45
- [EndOfPrompt, 100276],
37
+ [specialTokens_js_1.EndOfText, 100257],
38
+ [specialTokens_js_1.FimPrefix, 100258],
39
+ [specialTokens_js_1.FimMiddle, 100259],
40
+ [specialTokens_js_1.FimSuffix, 100260],
41
+ [specialTokens_js_1.EndOfPrompt, 100276],
46
42
  ]);
47
43
  return {
48
44
  tokenSplitRegex: /(?:'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,
@@ -1 +1 @@
1
- {"version":3,"file":"modelParams.js","sourceRoot":"","sources":["../src/modelParams.ts"],"names":[],"mappings":";;;AAqBA,MAAM,SAAS,GAAG,eAAe,CAAA;AACjC,MAAM,SAAS,GAAG,gBAAgB,CAAA;AAClC,MAAM,SAAS,GAAG,gBAAgB,CAAA;AAClC,MAAM,SAAS,GAAG,gBAAgB,CAAA;AAClC,MAAM,WAAW,GAAG,iBAAiB,CAAA;AAErC,MAAM,eAAe,GACnB,8EAA8E,CAAA;AAEhF,SAAS,QAAQ,CAAC,sBAAkC;IAClD,OAAO;QACL,sBAAsB,EAAE,KAAM;QAC9B,eAAe;QACf,sBAAsB;QACtB,mBAAmB,EAAE,IAAI,GAAG,CAAiB,CAAC,CAAC,SAAS,EAAE,KAAM,CAAC,CAAC,CAAC;KACpE,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,sBAAkC;IAClD,OAAO;QACL,sBAAsB,EAAE,KAAM;QAC9B,eAAe;QACf,sBAAsB;QACtB,mBAAmB,EAAE,IAAI,GAAG,CAAiB,CAAC,CAAC,SAAS,EAAE,KAAM,CAAC,CAAC,CAAC;KACpE,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,sBAAkC;IAClD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAiB;QAClD,CAAC,SAAS,EAAE,KAAM,CAAC;QACnB,CAAC,SAAS,EAAE,KAAM,CAAC;QACnB,CAAC,SAAS,EAAE,KAAM,CAAC;QACnB,CAAC,SAAS,EAAE,KAAM,CAAC;KACpB,CAAC,CAAA;IAEF,OAAO;QACL,eAAe;QACf,sBAAsB;QACtB,mBAAmB;KACpB,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,sBAAkC;IACpD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAiB;QAClD,CAAC,SAAS,EAAE,MAAO,CAAC;QACpB,CAAC,SAAS,EAAE,MAAO,CAAC;QACpB,CAAC,SAAS,EAAE,MAAO,CAAC;QACpB,CAAC,SAAS,EAAE,MAAO,CAAC;QACpB,CAAC,WAAW,EAAE,MAAO,CAAC;KACvB,CAAC,CAAA;IAEF,OAAO;QACL,eAAe,EACb,uHAAuH;QACzH,sBAAsB;QACtB,mBAAmB;KACpB,CAAA;AACH,CAAC;AAOD,SAAgB,cAAc,CAC5B,YAA0B,EAC1B,iBAAsC;IAEtC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC9D,QAAQ,YAAY,CAAC,WAAW,EAAE,EAAE;QAClC,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,sBAAsB,CAAC,CAAA;QAEzC,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,sBAAsB,CAAC,CAAA;QAEzC,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,sBAAsB,CAAC,CAAA;QAEzC,KAAK,aAAa;YAChB,OAAO,UAAU,CAAC,sBAAsB,CAAC,CAAA;QAE3C;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAA;KAC5D;AACH,CAAC;AArBD,wCAqBC;AAEM,KAAK,UAAU,mBAAmB,CACvC,YAA0B,EAC1B,iBAA2C;IAE3C,MAAM,sBAAsB,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAA;IACpE,OAAO,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAA;AACnE,CAAC;AAND,kDAMC"}
1
+ {"version":3,"file":"modelParams.js","sourceRoot":"","sources":["../src/modelParams.ts"],"names":[],"mappings":";;;AAGA,yDAM2B;AAmB3B,MAAM,eAAe,GACnB,8EAA8E,CAAA;AAEhF,SAAS,QAAQ,CAAC,sBAAkC;IAClD,OAAO;QACL,sBAAsB,EAAE,KAAM;QAC9B,eAAe;QACf,sBAAsB;QACtB,mBAAmB,EAAE,IAAI,GAAG,CAAiB,CAAC,CAAC,4BAAS,EAAE,KAAM,CAAC,CAAC,CAAC;KACpE,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,sBAAkC;IAClD,OAAO;QACL,sBAAsB,EAAE,KAAM;QAC9B,eAAe;QACf,sBAAsB;QACtB,mBAAmB,EAAE,IAAI,GAAG,CAAiB,CAAC,CAAC,4BAAS,EAAE,KAAM,CAAC,CAAC,CAAC;KACpE,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,sBAAkC;IAClD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAiB;QAClD,CAAC,4BAAS,EAAE,KAAM,CAAC;QACnB,CAAC,4BAAS,EAAE,KAAM,CAAC;QACnB,CAAC,4BAAS,EAAE,KAAM,CAAC;QACnB,CAAC,4BAAS,EAAE,KAAM,CAAC;KACpB,CAAC,CAAA;IAEF,OAAO;QACL,eAAe;QACf,sBAAsB;QACtB,mBAAmB;KACpB,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,sBAAkC;IACpD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAiB;QAClD,CAAC,4BAAS,EAAE,MAAO,CAAC;QACpB,CAAC,4BAAS,EAAE,MAAO,CAAC;QACpB,CAAC,4BAAS,EAAE,MAAO,CAAC;QACpB,CAAC,4BAAS,EAAE,MAAO,CAAC;QACpB,CAAC,8BAAW,EAAE,MAAO,CAAC;KACvB,CAAC,CAAA;IAEF,OAAO;QACL,eAAe,EACb,uHAAuH;QACzH,sBAAsB;QACtB,mBAAmB;KACpB,CAAA;AACH,CAAC;AAOD,SAAgB,cAAc,CAC5B,YAA0B,EAC1B,iBAAsC;IAEtC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC9D,QAAQ,YAAY,CAAC,WAAW,EAAE,EAAE;QAClC,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,sBAAsB,CAAC,CAAA;QAEzC,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,sBAAsB,CAAC,CAAA;QAEzC,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,sBAAsB,CAAC,CAAA;QAEzC,KAAK,aAAa;YAChB,OAAO,UAAU,CAAC,sBAAsB,CAAC,CAAA;QAE3C;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAA;KAC5D;AACH,CAAC;AArBD,wCAqBC;AAEM,KAAK,UAAU,mBAAmB,CACvC,YAA0B,EAC1B,iBAA2C;IAE3C,MAAM,sBAAsB,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAA;IACpE,OAAO,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAA;AACnE,CAAC;AAND,kDAMC"}
@@ -0,0 +1,5 @@
1
+ export declare const EndOfText = "<|endoftext|>";
2
+ export declare const FimPrefix = "<|fim_prefix|>";
3
+ export declare const FimMiddle = "<|fim_middle|>";
4
+ export declare const FimSuffix = "<|fim_suffix|>";
5
+ export declare const EndOfPrompt = "<|endofprompt|>";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EndOfPrompt = exports.FimSuffix = exports.FimMiddle = exports.FimPrefix = exports.EndOfText = void 0;
4
+ exports.EndOfText = '<|endoftext|>';
5
+ exports.FimPrefix = '<|fim_prefix|>';
6
+ exports.FimMiddle = '<|fim_middle|>';
7
+ exports.FimSuffix = '<|fim_suffix|>';
8
+ exports.EndOfPrompt = '<|endofprompt|>';
9
+ //# sourceMappingURL=specialTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialTokens.js","sourceRoot":"","sources":["../src/specialTokens.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,eAAe,CAAA;AAC3B,QAAA,SAAS,GAAG,gBAAgB,CAAA;AAC5B,QAAA,SAAS,GAAG,gBAAgB,CAAA;AAC5B,QAAA,SAAS,GAAG,gBAAgB,CAAA;AAC5B,QAAA,WAAW,GAAG,iBAAiB,CAAA"}