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.
- package/README.md +125 -43
- package/cjs/GptEncoding.d.ts +5 -0
- package/cjs/GptEncoding.js +6 -0
- package/cjs/GptEncoding.js.map +1 -1
- package/cjs/GptEncoding.test.js +38 -0
- package/cjs/GptEncoding.test.js.map +1 -1
- package/cjs/encoding/cl100k_base.d.ts +4 -0
- package/cjs/encoding/cl100k_base.js +17 -0
- package/cjs/encoding/cl100k_base.js.map +1 -1
- package/cjs/encoding/p50k_base.d.ts +4 -0
- package/cjs/encoding/p50k_base.js +17 -0
- package/cjs/encoding/p50k_base.js.map +1 -1
- package/cjs/encoding/p50k_edit.d.ts +4 -0
- package/cjs/encoding/p50k_edit.js +17 -0
- package/cjs/encoding/p50k_edit.js.map +1 -1
- package/cjs/encoding/r50k_base.d.ts +4 -0
- package/cjs/encoding/r50k_base.js +17 -0
- package/cjs/encoding/r50k_base.js.map +1 -1
- package/cjs/modelParams.js +12 -16
- package/cjs/modelParams.js.map +1 -1
- package/cjs/specialTokens.d.ts +5 -0
- package/cjs/specialTokens.js +9 -0
- package/cjs/specialTokens.js.map +1 -0
- package/data/TestPlans.txt +1024 -0
- package/dist/cl100k_base.js +1 -1
- package/dist/cl100k_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/GptEncoding.d.ts +5 -0
- package/esm/GptEncoding.js +8 -1
- package/esm/GptEncoding.js.map +1 -1
- package/esm/GptEncoding.test.js +35 -0
- package/esm/GptEncoding.test.js.map +1 -1
- package/esm/encoding/cl100k_base.d.ts +4 -0
- package/esm/encoding/cl100k_base.js +3 -0
- package/esm/encoding/cl100k_base.js.map +1 -1
- package/esm/encoding/p50k_base.d.ts +4 -0
- package/esm/encoding/p50k_base.js +3 -0
- package/esm/encoding/p50k_base.js.map +1 -1
- package/esm/encoding/p50k_edit.d.ts +4 -0
- package/esm/encoding/p50k_edit.js +3 -0
- package/esm/encoding/p50k_edit.js.map +1 -1
- package/esm/encoding/r50k_base.d.ts +4 -0
- package/esm/encoding/r50k_base.js +3 -0
- package/esm/encoding/r50k_base.js.map +1 -1
- package/esm/modelParams.js +1 -5
- package/esm/modelParams.js.map +1 -1
- package/esm/specialTokens.d.ts +5 -0
- package/esm/specialTokens.js +6 -0
- package/esm/specialTokens.js.map +1 -0
- package/package.json +5 -5
- package/src/GptEncoding.test.ts +40 -0
- package/src/GptEncoding.ts +13 -0
- package/src/encoding/cl100k_base.ts +4 -0
- package/src/encoding/p50k_base.ts +4 -0
- package/src/encoding/p50k_edit.ts +4 -0
- package/src/encoding/r50k_base.ts +4 -0
- package/src/modelParams.ts +7 -6
- package/src/specialTokens.ts +5 -0
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://codesandbox.io/s/gpt-tokenizer-tjcjoz?fontsize=14&hidenavigation=1&theme=dark)
|
|
4
4
|
|
|
5
|
-
`gpt-tokenizer` is a highly optimized Token Byte Pair Encoder/Decoder for all OpenAI's models (including those used by GPT-2, GPT-3, GPT-3.5 and GPT-4)
|
|
5
|
+
`gpt-tokenizer` is a highly optimized Token Byte Pair Encoder/Decoder for all OpenAI's models (including those used by GPT-2, GPT-3, GPT-3.5 and GPT-4). It's written in TypeScript, and is fully compatible with all modern JavaScript environments.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
OpenAI's GPT models utilize byte pair encoding to transform text into a sequence of integers before feeding them into the model.
|
|
8
8
|
|
|
9
9
|
As of 2023, it is the most feature-complete, open-source GPT tokenizer on NPM. It implements some unique features, such as:
|
|
10
10
|
|
|
@@ -14,23 +14,43 @@ As of 2023, it is the most feature-complete, open-source GPT tokenizer on NPM. I
|
|
|
14
14
|
- No global cache (no accidental memory leaks, as with the original GPT-3-Encoder implementation)
|
|
15
15
|
- Includes a highly performant `isWithinTokenLimit` function to assess token limit without encoding the entire text
|
|
16
16
|
- Improves overall performance by eliminating transitive arrays
|
|
17
|
-
-
|
|
17
|
+
- Type-safe (written in TypeScript)
|
|
18
18
|
- Works in the browser out-of-the-box
|
|
19
19
|
|
|
20
|
+
This package is a port of OpenAI's [tiktoken](https://github.com/openai/tiktoken), with some additional features sprinkled on top.
|
|
21
|
+
|
|
22
|
+
Thanks to @dmitry-brazhenko's [SharpToken](https://github.com/dmitry-brazhenko/SharpToken), whose code was served as a reference for the port.
|
|
23
|
+
|
|
24
|
+
Historical note: This package started off as a fork of [latitudegames/GPT-3-Encoder](https://github.com/latitudegames/GPT-3-Encoder), but version 2.0 was rewritten from scratch.
|
|
25
|
+
|
|
20
26
|
## Installation
|
|
21
27
|
|
|
22
|
-
As NPM package
|
|
28
|
+
### As NPM package
|
|
23
29
|
|
|
24
30
|
```bash
|
|
25
31
|
npm install gpt-tokenizer
|
|
26
32
|
```
|
|
27
33
|
|
|
28
|
-
As
|
|
34
|
+
### As a UMD module
|
|
29
35
|
|
|
30
36
|
```html
|
|
31
|
-
<script src="https://unpkg.com/gpt-tokenizer"
|
|
37
|
+
<script src="https://unpkg.com/gpt-tokenizer"></script>
|
|
38
|
+
|
|
39
|
+
<script>
|
|
40
|
+
// the package is now available as a global:
|
|
41
|
+
const { encode, decode } = GPTTokenizer
|
|
42
|
+
</script>
|
|
32
43
|
```
|
|
33
44
|
|
|
45
|
+
If you wish to use a custom encoding, fetch the relevant script:
|
|
46
|
+
|
|
47
|
+
- https://unpkg.com/gpt-tokenizer/dist/cl100k_base.js
|
|
48
|
+
- https://unpkg.com/gpt-tokenizer/dist/p50k_base.js
|
|
49
|
+
- https://unpkg.com/gpt-tokenizer/dist/p50k_edit.js
|
|
50
|
+
- https://unpkg.com/gpt-tokenizer/dist/r50k_base.js
|
|
51
|
+
|
|
52
|
+
Refer to [supported models and their encodings](#Supported-models-and-their-encodings) section for more information.
|
|
53
|
+
|
|
34
54
|
## Playground
|
|
35
55
|
|
|
36
56
|
You can play with the package in the browser using the [Playground](https://codesandbox.io/s/gpt-tokenizer-tjcjoz?fontsize=14&hidenavigation=1&theme=dark).
|
|
@@ -81,7 +101,7 @@ for await (const textChunk of decodeAsyncGenerator(asyncTokens)) {
|
|
|
81
101
|
}
|
|
82
102
|
```
|
|
83
103
|
|
|
84
|
-
By default, importing from `
|
|
104
|
+
By default, importing from `gpt-tokenizer` uses `cl100k_base` encoding, used by `gpt-3.5-turbo` and `gpt-4`.
|
|
85
105
|
|
|
86
106
|
To get a tokenizer for a different model, import it directly, for example:
|
|
87
107
|
|
|
@@ -93,62 +113,72 @@ import {
|
|
|
93
113
|
} from 'gpt-tokenizer/model/text-davinci-003'
|
|
94
114
|
```
|
|
95
115
|
|
|
96
|
-
|
|
116
|
+
If you're dealing with a resolver that doesn't support package.json `exports` resolution, you might need to import from the respective `cjs` or `esm` directory, e.g.:
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
import {
|
|
120
|
+
encode,
|
|
121
|
+
decode,
|
|
122
|
+
isWithinTokenLimit,
|
|
123
|
+
} from 'gpt-tokenizer/cjs/model/text-davinci-003'
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Supported models and their encodings
|
|
97
127
|
|
|
98
128
|
chat:
|
|
99
129
|
|
|
100
|
-
- gpt-4 (cl100k_base)
|
|
101
|
-
- gpt-3.5-turbo (cl100k_base)
|
|
130
|
+
- `gpt-4` (`cl100k_base`)
|
|
131
|
+
- `gpt-3.5-turbo` (`cl100k_base`)
|
|
102
132
|
|
|
103
133
|
text:
|
|
104
134
|
|
|
105
|
-
- text-davinci-003 (p50k_base)
|
|
106
|
-
- text-davinci-002 (p50k_base)
|
|
107
|
-
- text-davinci-001 (r50k_base)
|
|
108
|
-
- text-curie-001 (r50k_base)
|
|
109
|
-
- text-babbage-001 (r50k_base)
|
|
110
|
-
- text-ada-001 (r50k_base)
|
|
111
|
-
- davinci (r50k_base)
|
|
112
|
-
- curie (r50k_base)
|
|
113
|
-
- babbage (r50k_base)
|
|
114
|
-
- ada (r50k_base)
|
|
135
|
+
- `text-davinci-003` (`p50k_base`)
|
|
136
|
+
- `text-davinci-002` (`p50k_base`)
|
|
137
|
+
- `text-davinci-001` (`r50k_base`)
|
|
138
|
+
- `text-curie-001` (`r50k_base`)
|
|
139
|
+
- `text-babbage-001` (`r50k_base`)
|
|
140
|
+
- `text-ada-001` (`r50k_base`)
|
|
141
|
+
- `davinci` (`r50k_base`)
|
|
142
|
+
- `curie` (`r50k_base`)
|
|
143
|
+
- `babbage` (`r50k_base`)
|
|
144
|
+
- `ada` (`r50k_base`)
|
|
115
145
|
|
|
116
146
|
code:
|
|
117
147
|
|
|
118
|
-
- code-davinci-002 (p50k_base)
|
|
119
|
-
- code-davinci-001 (p50k_base)
|
|
120
|
-
- code-cushman-002 (p50k_base)
|
|
121
|
-
- code-cushman-001 (p50k_base)
|
|
122
|
-
- davinci-codex (p50k_base)
|
|
123
|
-
- cushman-codex (p50k_base)
|
|
148
|
+
- `code-davinci-002` (`p50k_base`)
|
|
149
|
+
- `code-davinci-001` (`p50k_base`)
|
|
150
|
+
- `code-cushman-002` (`p50k_base`)
|
|
151
|
+
- `code-cushman-001` (`p50k_base`)
|
|
152
|
+
- `davinci-codex` (`p50k_base`)
|
|
153
|
+
- `cushman-codex` (`p50k_base`)
|
|
124
154
|
|
|
125
155
|
edit:
|
|
126
156
|
|
|
127
|
-
- text-davinci-edit-001 (p50k_edit)
|
|
128
|
-
- code-davinci-edit-001 (p50k_edit)
|
|
157
|
+
- `text-davinci-edit-001` (`p50k_edit`)
|
|
158
|
+
- `code-davinci-edit-001` (`p50k_edit`)
|
|
129
159
|
|
|
130
160
|
embeddings:
|
|
131
161
|
|
|
132
|
-
- text-embedding-ada-002 (cl100k_base)
|
|
162
|
+
- `text-embedding-ada-002` (`cl100k_base`)
|
|
133
163
|
|
|
134
164
|
old embeddings:
|
|
135
165
|
|
|
136
|
-
- text-similarity-davinci-001 (r50k_base)
|
|
137
|
-
- text-similarity-curie-001 (r50k_base)
|
|
138
|
-
- text-similarity-babbage-001 (r50k_base)
|
|
139
|
-
- text-similarity-ada-001 (r50k_base)
|
|
140
|
-
- text-search-davinci-doc-001 (r50k_base)
|
|
141
|
-
- text-search-curie-doc-001 (r50k_base)
|
|
142
|
-
- text-search-babbage-doc-001 (r50k_base)
|
|
143
|
-
- text-search-ada-doc-001 (r50k_base)
|
|
144
|
-
- code-search-babbage-code-001 (r50k_base)
|
|
145
|
-
- code-search-ada-code-001 (r50k_base)
|
|
166
|
+
- `text-similarity-davinci-001` (`r50k_base`)
|
|
167
|
+
- `text-similarity-curie-001` (`r50k_base`)
|
|
168
|
+
- `text-similarity-babbage-001` (`r50k_base`)
|
|
169
|
+
- `text-similarity-ada-001` (`r50k_base`)
|
|
170
|
+
- `text-search-davinci-doc-001` (`r50k_base`)
|
|
171
|
+
- `text-search-curie-doc-001` (`r50k_base`)
|
|
172
|
+
- `text-search-babbage-doc-001` (`r50k_base`)
|
|
173
|
+
- `text-search-ada-doc-001` (`r50k_base`)
|
|
174
|
+
- `code-search-babbage-code-001` (`r50k_base`)
|
|
175
|
+
- `code-search-ada-code-001` (`r50k_base`)
|
|
146
176
|
|
|
147
177
|
## API
|
|
148
178
|
|
|
149
179
|
### `encode(text: string): number[]`
|
|
150
180
|
|
|
151
|
-
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
|
|
181
|
+
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.
|
|
152
182
|
|
|
153
183
|
Example:
|
|
154
184
|
|
|
@@ -161,7 +191,7 @@ const tokens = encode(text)
|
|
|
161
191
|
|
|
162
192
|
### `decode(tokens: number[]): string`
|
|
163
193
|
|
|
164
|
-
Decodes a sequence of tokens back into text. Use this method when you want to convert the output tokens from GPT
|
|
194
|
+
Decodes a sequence of tokens back into text. Use this method when you want to convert the output tokens from GPT models back into human-readable text.
|
|
165
195
|
|
|
166
196
|
Example:
|
|
167
197
|
|
|
@@ -174,7 +204,7 @@ const text = decode(tokens)
|
|
|
174
204
|
|
|
175
205
|
### `isWithinTokenLimit(text: string, tokenLimit: number): false | number`
|
|
176
206
|
|
|
177
|
-
Checks if the text is within the token limit. Returns `false` if the limit is exceeded, otherwise returns the number of tokens. Use this method to quickly check if a given text is within the token limit imposed by GPT
|
|
207
|
+
Checks if the text is within the token limit. Returns `false` if the limit is exceeded, otherwise returns the number of tokens. Use this method to quickly check if a given text is within the token limit imposed by GPT models, without encoding the entire text.
|
|
178
208
|
|
|
179
209
|
Example:
|
|
180
210
|
|
|
@@ -237,10 +267,62 @@ async function processTokens(asyncTokensIterator) {
|
|
|
237
267
|
}
|
|
238
268
|
```
|
|
239
269
|
|
|
270
|
+
## Special tokens
|
|
271
|
+
|
|
272
|
+
There are a few special tokens that are used by the GPT models.
|
|
273
|
+
Not all models support all of these tokens.
|
|
274
|
+
|
|
275
|
+
### Custom Allowed Sets
|
|
276
|
+
|
|
277
|
+
`gpt-tokenizer` allows you to specify custom sets of allowed special tokens when encoding text. To do this, pass a
|
|
278
|
+
`Set` containing the allowed special tokens as a parameter to the `encode` function:
|
|
279
|
+
|
|
280
|
+
```ts
|
|
281
|
+
import {
|
|
282
|
+
EndOfPrompt,
|
|
283
|
+
EndOfText,
|
|
284
|
+
FimMiddle,
|
|
285
|
+
FimPrefix,
|
|
286
|
+
FimSuffix,
|
|
287
|
+
encode,
|
|
288
|
+
} from 'gpt-tokenizer'
|
|
289
|
+
|
|
290
|
+
const inputText = `Some Text ${EndOfPrompt}`
|
|
291
|
+
const allowedSpecialTokens = new Set([EndOfPrompt])
|
|
292
|
+
const encoded = encode(inputText, allowedSpecialTokens)
|
|
293
|
+
const expectedEncoded = [8538, 2991, 220, 100276]
|
|
294
|
+
|
|
295
|
+
expect(encoded).toBe(expectedEncoded)
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Custom Disallowed Sets
|
|
299
|
+
|
|
300
|
+
Similarly, you can specify custom sets of disallowed special tokens when encoding text. Pass a `Set`
|
|
301
|
+
containing the disallowed special tokens as a parameter to the `encode` function:
|
|
302
|
+
|
|
303
|
+
```ts
|
|
304
|
+
import { encode } from 'gpt-tokenizer'
|
|
305
|
+
|
|
306
|
+
const inputText = `Some Text`
|
|
307
|
+
const disallowedSpecial = new Set(['Some'])
|
|
308
|
+
// throws an error:
|
|
309
|
+
const encoded = encode(inputText, undefined, disallowedSpecial)
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
In this example, an Error is thrown, because the input text contains a disallowed special token.
|
|
313
|
+
|
|
314
|
+
## Testing and Validation
|
|
315
|
+
|
|
316
|
+
`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.
|
|
317
|
+
|
|
318
|
+
Running the unit tests and verifying the test cases helps maintain consistency between the library and the original Python implementation.
|
|
319
|
+
|
|
240
320
|
## License
|
|
241
321
|
|
|
242
322
|
MIT
|
|
243
323
|
|
|
244
324
|
## Contributing
|
|
245
325
|
|
|
246
|
-
Contributions are welcome! Please open a pull request or an issue to discuss your
|
|
326
|
+
Contributions are welcome! Please open a pull request or an issue to discuss your bug reports, or use the discussions feature for ideas or any other inquiries.
|
|
327
|
+
|
|
328
|
+
Hope you find the `gpt-tokenizer` useful in your projects!
|
package/cjs/GptEncoding.d.ts
CHANGED
|
@@ -2,6 +2,11 @@ import { type EncodingName, type ModelName } from './mapping.js';
|
|
|
2
2
|
import { type GetMergeableRanksAsyncFn, type GetMergeableRanksFn } from './modelParams.js';
|
|
3
3
|
export declare const DISALLOW_ALL_SPECIAL_TOKENS = "all";
|
|
4
4
|
export declare class GptEncoding {
|
|
5
|
+
static EndOfPrompt: string;
|
|
6
|
+
static EndOfText: string;
|
|
7
|
+
static FimMiddle: string;
|
|
8
|
+
static FimPrefix: string;
|
|
9
|
+
static FimSuffix: string;
|
|
5
10
|
decoder: TextDecoder;
|
|
6
11
|
private bytePairEncodingCoreProcessor;
|
|
7
12
|
private specialTokenMapping;
|
package/cjs/GptEncoding.js
CHANGED
|
@@ -6,9 +6,15 @@ const BytePairEncodingCore_js_1 = require("./BytePairEncodingCore.js");
|
|
|
6
6
|
const escapeRegExp_js_1 = require("./escapeRegExp.js");
|
|
7
7
|
const mapping_js_1 = require("./mapping.js");
|
|
8
8
|
const modelParams_js_1 = require("./modelParams.js");
|
|
9
|
+
const specialTokens_js_1 = require("./specialTokens.js");
|
|
9
10
|
const utfUtil_js_1 = require("./utfUtil.js");
|
|
10
11
|
exports.DISALLOW_ALL_SPECIAL_TOKENS = 'all';
|
|
11
12
|
class GptEncoding {
|
|
13
|
+
static EndOfPrompt = specialTokens_js_1.EndOfPrompt;
|
|
14
|
+
static EndOfText = specialTokens_js_1.EndOfText;
|
|
15
|
+
static FimMiddle = specialTokens_js_1.FimMiddle;
|
|
16
|
+
static FimPrefix = specialTokens_js_1.FimPrefix;
|
|
17
|
+
static FimSuffix = specialTokens_js_1.FimSuffix;
|
|
12
18
|
decoder = new TextDecoder('utf8');
|
|
13
19
|
bytePairEncodingCoreProcessor;
|
|
14
20
|
specialTokenMapping;
|
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
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
3
8
|
const GptEncoding_js_1 = require("./GptEncoding.js");
|
|
4
9
|
const mapping_js_1 = require("./mapping.js");
|
|
5
10
|
const resolveEncoding_js_1 = require("./resolveEncoding.js");
|
|
@@ -38,6 +43,8 @@ const results = {
|
|
|
38
43
|
p50k_edit: sharedResults,
|
|
39
44
|
r50k_base: sharedResults,
|
|
40
45
|
};
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
47
|
+
const testPlans = loadTestPlans();
|
|
41
48
|
describe.each(mapping_js_1.encodingNames)('%s', (encodingName) => {
|
|
42
49
|
const encoding = GptEncoding_js_1.GptEncoding.getEncodingApi(encodingName, resolveEncoding_js_1.resolveEncoding);
|
|
43
50
|
const { decode, decodeGenerator, decodeAsyncGenerator, encode, isWithinTokenLimit, } = encoding;
|
|
@@ -116,5 +123,36 @@ describe.each(mapping_js_1.encodingNames)('%s', (encodingName) => {
|
|
|
116
123
|
expect(isWithinTokenLimit(str, 300)).toBe(result[str].length);
|
|
117
124
|
});
|
|
118
125
|
});
|
|
126
|
+
describe('test plan', () => {
|
|
127
|
+
testPlans[encodingName].forEach(({ sample, encoded }) => {
|
|
128
|
+
it(`encodes ${sample}`, () => {
|
|
129
|
+
expect(encode(sample)).toEqual(encoded);
|
|
130
|
+
});
|
|
131
|
+
it(`decodes ${sample}`, () => {
|
|
132
|
+
expect(decode(encoded)).toEqual(sample);
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
});
|
|
119
136
|
});
|
|
137
|
+
function loadTestPlans() {
|
|
138
|
+
const testPlanPath = path_1.default.join(__dirname, '../data/TestPlans.txt');
|
|
139
|
+
const testPlanData = fs_1.default.readFileSync(testPlanPath, 'utf8');
|
|
140
|
+
const tests = {
|
|
141
|
+
cl100k_base: [],
|
|
142
|
+
p50k_base: [],
|
|
143
|
+
p50k_edit: [],
|
|
144
|
+
r50k_base: [],
|
|
145
|
+
};
|
|
146
|
+
testPlanData.split('\n\n').forEach((testPlan) => {
|
|
147
|
+
const [encodingNameLine, sampleLine, encodedLine] = testPlan.split('\n');
|
|
148
|
+
if (!encodingNameLine || !sampleLine || !encodedLine)
|
|
149
|
+
return;
|
|
150
|
+
const encodingName = encodingNameLine.split(': ')[1];
|
|
151
|
+
tests[encodingName].push({
|
|
152
|
+
sample: sampleLine.split(': ').slice(1).join(': ') ?? '',
|
|
153
|
+
encoded: JSON.parse(encodedLine.split(': ')[1] ?? '[]'),
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
return tests;
|
|
157
|
+
}
|
|
120
158
|
//# sourceMappingURL=GptEncoding.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GptEncoding.test.js","sourceRoot":"","sources":["../src/GptEncoding.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GptEncoding.test.js","sourceRoot":"","sources":["../src/GptEncoding.test.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,gDAAuB;AACvB,qDAA8C;AAC9C,6CAA+D;AAC/D,6DAAsD;AAEtD,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,CAAC,GAAG,CAAC;IACZ,GAAG,EAAE,CAAC,GAAG,CAAC;IACV,mBAAmB,EAAE,CAAC,IAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAK,CAAC;IAC7C,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAM,CAAC;IAC/B,mBAAmB,EAAE,CAAC,KAAM,EAAE,KAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACjE,uBAAuB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC;IAClE,6CAA6C,EAAE;QAC7C,IAAK,EAAE,KAAM,EAAE,KAAM,EAAE,GAAG,EAAE,KAAM,EAAE,KAAM,EAAE,IAAK,EAAE,IAAK;KACzD;IACD,8CAA8C,EAAE;QAC9C,KAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;QAC1E,EAAE,EAAE,EAAE,EAAE,EAAE;KACX;CACF,CAAA;AAED,MAAM,OAAO,GAAG;IACd,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,GAAG,CAAC;QACZ,GAAG,EAAE,CAAC,GAAG,CAAC;QACV,mBAAmB,EAAE,CAAC,IAAK,EAAE,GAAG,EAAE,IAAK,EAAE,IAAK,CAAC;QAC/C,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAM,CAAC;QAC/B,mBAAmB,EAAE,CAAC,KAAM,EAAE,KAAM,EAAE,GAAG,EAAE,IAAK,EAAE,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC;QACnE,uBAAuB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC;QAClE,6CAA6C,EAAE;YAC7C,IAAK,EAAE,IAAK,EAAE,GAAG,EAAE,KAAM,EAAE,GAAG,EAAE,IAAK;SACtC;QACD,8CAA8C,EAAE;YAC9C,KAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAK,EAAE,GAAG,EAAE,IAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAM,EAAE,EAAE,EAAE,GAAG;YACtE,IAAK,EAAE,KAAM;SACd;KACF;IACD,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;CACe,CAAA;AAEzC,mEAAmE;AACnE,MAAM,SAAS,GAAG,aAAa,EAAE,CAAA;AAEjC,QAAQ,CAAC,IAAI,CAAC,0BAAa,CAAC,CAAC,IAAI,EAAE,CAAC,YAA0B,EAAE,EAAE;IAChE,MAAM,QAAQ,GAAG,4BAAW,CAAC,cAAc,CAAC,YAAY,EAAE,oCAAe,CAAC,CAAA;IAE1E,MAAM,EACJ,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,MAAM,EACN,kBAAkB,GACnB,GAAG,QAAQ,CAAA;IAEZ,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAEpC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YACtB,MAAM,GAAG,GAAG,EAAE,CAAA;YACd,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACxC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC1C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACf,MAAM,GAAG,GAAG,GAAG,CAAA;YACf,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACxC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC1C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACb,MAAM,GAAG,GAAG,IAAI,CAAA;YAChB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YACrB,MAAM,GAAG,GAAG,mBAAmB,CAAA;YAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACxC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC9C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC1B,MAAM,GAAG,GAAG,aAAa,CAAA;YACzB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAC/C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACxC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACpE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,mBAAmB,CAAA;YAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACxC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC9C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,GAAG,GAAG,mBAAmB,CAAA;YAC/B,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9C,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/C,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,KAAK,SAAS,CAAC,CAAC,wBAAwB;YACtC,MAAM,GAAG,GAAG,mBAAmB,CAAA;YAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;gBAC/B,4CAA4C;gBAC5C,MAAM,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;aACnC;QACH,CAAC;QAED,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,SAAS,GAAG,oBAAoB,CAAC,wBAAwB,EAAE,CAAC,CAAA;YAClE,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAA;YACnD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,EAAE;gBACnC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;aACvC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,GAAG,GAAG,6CAA6C,CAAA;YAEzD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC1B,MAAM,GAAG,GAAG,8CAA8C,CAAA;YAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACxC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACnE,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YACtD,EAAE,CAAC,WAAW,MAAM,EAAE,EAAE,GAAG,EAAE;gBAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACzC,CAAC,CAAC,CAAA;YACF,EAAE,CAAC,WAAW,MAAM,EAAE,EAAE,GAAG,EAAE;gBAC3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACzC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,aAAa;IACpB,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAA;IAClE,MAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IAC1D,MAAM,KAAK,GAGP;QACF,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;KACd,CAAA;IACD,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9C,MAAM,CAAC,gBAAgB,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxE,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;YAAE,OAAM;QAC5D,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAiB,CAAA;QACpE,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;YACvB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACxD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
import { GptEncoding } from '../GptEncoding.js';
|
|
2
|
+
export * from '../specialTokens.js';
|
|
3
|
+
declare const api: GptEncoding;
|
|
1
4
|
declare const decode: (inputTokensToDecode: Iterable<number>) => string, decodeAsyncGenerator: (inputTokensToDecode: AsyncIterable<number>) => AsyncGenerator<string, void, unknown>, decodeGenerator: (inputTokensToDecode: Iterable<number>) => Generator<string, void, unknown>, encode: (lineToEncode: string, allowedSpecial?: Set<string>, disallowedSpecial?: Set<string>) => number[], encodeGenerator: (lineToEncode: string, allowedSpecial?: Set<string>, disallowedSpecial?: Set<string>) => Generator<number[], number, unknown>, isWithinTokenLimit: (text: string, tokenLimit: number) => number | false;
|
|
2
5
|
export { decode, decodeAsyncGenerator, decodeGenerator, encode, encodeGenerator, isWithinTokenLimit, };
|
|
6
|
+
export default api;
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
18
|
};
|
|
@@ -8,6 +22,7 @@ exports.isWithinTokenLimit = exports.encodeGenerator = exports.encode = exports.
|
|
|
8
22
|
const convertTokenBytePairEncodingFromTuples_js_1 = require("../convertTokenBytePairEncodingFromTuples.js");
|
|
9
23
|
const cl100k_base_js_1 = __importDefault(require("../encodings/cl100k_base.js"));
|
|
10
24
|
const GptEncoding_js_1 = require("../GptEncoding.js");
|
|
25
|
+
__exportStar(require("../specialTokens.js"), exports);
|
|
11
26
|
const api = GptEncoding_js_1.GptEncoding.getEncodingApi('cl100k_base', () => (0, convertTokenBytePairEncodingFromTuples_js_1.convertTokenBytePairEncodingFromTuples)(cl100k_base_js_1.default));
|
|
12
27
|
const { decode, decodeAsyncGenerator, decodeGenerator, encode, encodeGenerator, isWithinTokenLimit, } = api;
|
|
13
28
|
exports.decode = decode;
|
|
@@ -16,4 +31,6 @@ exports.decodeGenerator = decodeGenerator;
|
|
|
16
31
|
exports.encode = encode;
|
|
17
32
|
exports.encodeGenerator = encodeGenerator;
|
|
18
33
|
exports.isWithinTokenLimit = isWithinTokenLimit;
|
|
34
|
+
// eslint-disable-next-line import/no-default-export
|
|
35
|
+
exports.default = api;
|
|
19
36
|
//# sourceMappingURL=cl100k_base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cl100k_base.js","sourceRoot":"","sources":["../../src/encoding/cl100k_base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cl100k_base.js","sourceRoot":"","sources":["../../src/encoding/cl100k_base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,4GAAqG;AACrG,iFAAiD;AACjD,sDAA+C;AAE/C,sDAAmC;AAEnC,MAAM,GAAG,GAAG,4BAAW,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,CACzD,IAAA,kFAAsC,EAAC,wBAAO,CAAC,CAChD,CAAA;AACD,MAAM,EACJ,MAAM,EACN,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,eAAe,EACf,kBAAkB,GACnB,GAAG,GAAG,CAAA;AAEL,wBAAM;AACN,oDAAoB;AACpB,0CAAe;AACf,wBAAM;AACN,0CAAe;AACf,gDAAkB;AAEpB,oDAAoD;AACpD,kBAAe,GAAG,CAAA"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
import { GptEncoding } from '../GptEncoding.js';
|
|
2
|
+
export * from '../specialTokens.js';
|
|
3
|
+
declare const api: GptEncoding;
|
|
1
4
|
declare const decode: (inputTokensToDecode: Iterable<number>) => string, decodeAsyncGenerator: (inputTokensToDecode: AsyncIterable<number>) => AsyncGenerator<string, void, unknown>, decodeGenerator: (inputTokensToDecode: Iterable<number>) => Generator<string, void, unknown>, encode: (lineToEncode: string, allowedSpecial?: Set<string>, disallowedSpecial?: Set<string>) => number[], encodeGenerator: (lineToEncode: string, allowedSpecial?: Set<string>, disallowedSpecial?: Set<string>) => Generator<number[], number, unknown>, isWithinTokenLimit: (text: string, tokenLimit: number) => number | false;
|
|
2
5
|
export { decode, decodeAsyncGenerator, decodeGenerator, encode, encodeGenerator, isWithinTokenLimit, };
|
|
6
|
+
export default api;
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
18
|
};
|
|
@@ -8,6 +22,7 @@ exports.isWithinTokenLimit = exports.encodeGenerator = exports.encode = exports.
|
|
|
8
22
|
const convertTokenBytePairEncodingFromTuples_js_1 = require("../convertTokenBytePairEncodingFromTuples.js");
|
|
9
23
|
const p50k_base_js_1 = __importDefault(require("../encodings/p50k_base.js"));
|
|
10
24
|
const GptEncoding_js_1 = require("../GptEncoding.js");
|
|
25
|
+
__exportStar(require("../specialTokens.js"), exports);
|
|
11
26
|
const api = GptEncoding_js_1.GptEncoding.getEncodingApi('p50k_base', () => (0, convertTokenBytePairEncodingFromTuples_js_1.convertTokenBytePairEncodingFromTuples)(p50k_base_js_1.default));
|
|
12
27
|
const { decode, decodeAsyncGenerator, decodeGenerator, encode, encodeGenerator, isWithinTokenLimit, } = api;
|
|
13
28
|
exports.decode = decode;
|
|
@@ -16,4 +31,6 @@ exports.decodeGenerator = decodeGenerator;
|
|
|
16
31
|
exports.encode = encode;
|
|
17
32
|
exports.encodeGenerator = encodeGenerator;
|
|
18
33
|
exports.isWithinTokenLimit = isWithinTokenLimit;
|
|
34
|
+
// eslint-disable-next-line import/no-default-export
|
|
35
|
+
exports.default = api;
|
|
19
36
|
//# sourceMappingURL=p50k_base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p50k_base.js","sourceRoot":"","sources":["../../src/encoding/p50k_base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"p50k_base.js","sourceRoot":"","sources":["../../src/encoding/p50k_base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,4GAAqG;AACrG,6EAA+C;AAC/C,sDAA+C;AAE/C,sDAAmC;AAEnC,MAAM,GAAG,GAAG,4BAAW,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,CACvD,IAAA,kFAAsC,EAAC,sBAAO,CAAC,CAChD,CAAA;AACD,MAAM,EACJ,MAAM,EACN,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,eAAe,EACf,kBAAkB,GACnB,GAAG,GAAG,CAAA;AAEL,wBAAM;AACN,oDAAoB;AACpB,0CAAe;AACf,wBAAM;AACN,0CAAe;AACf,gDAAkB;AAEpB,oDAAoD;AACpD,kBAAe,GAAG,CAAA"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
import { GptEncoding } from '../GptEncoding.js';
|
|
2
|
+
export * from '../specialTokens.js';
|
|
3
|
+
declare const api: GptEncoding;
|
|
1
4
|
declare const decode: (inputTokensToDecode: Iterable<number>) => string, decodeAsyncGenerator: (inputTokensToDecode: AsyncIterable<number>) => AsyncGenerator<string, void, unknown>, decodeGenerator: (inputTokensToDecode: Iterable<number>) => Generator<string, void, unknown>, encode: (lineToEncode: string, allowedSpecial?: Set<string>, disallowedSpecial?: Set<string>) => number[], encodeGenerator: (lineToEncode: string, allowedSpecial?: Set<string>, disallowedSpecial?: Set<string>) => Generator<number[], number, unknown>, isWithinTokenLimit: (text: string, tokenLimit: number) => number | false;
|
|
2
5
|
export { decode, decodeAsyncGenerator, decodeGenerator, encode, encodeGenerator, isWithinTokenLimit, };
|
|
6
|
+
export default api;
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
18
|
};
|
|
@@ -8,6 +22,7 @@ exports.isWithinTokenLimit = exports.encodeGenerator = exports.encode = exports.
|
|
|
8
22
|
const convertTokenBytePairEncodingFromTuples_js_1 = require("../convertTokenBytePairEncodingFromTuples.js");
|
|
9
23
|
const p50k_base_js_1 = __importDefault(require("../encodings/p50k_base.js"));
|
|
10
24
|
const GptEncoding_js_1 = require("../GptEncoding.js");
|
|
25
|
+
__exportStar(require("../specialTokens.js"), exports);
|
|
11
26
|
const api = GptEncoding_js_1.GptEncoding.getEncodingApi('p50k_edit', () => (0, convertTokenBytePairEncodingFromTuples_js_1.convertTokenBytePairEncodingFromTuples)(p50k_base_js_1.default));
|
|
12
27
|
const { decode, decodeAsyncGenerator, decodeGenerator, encode, encodeGenerator, isWithinTokenLimit, } = api;
|
|
13
28
|
exports.decode = decode;
|
|
@@ -16,4 +31,6 @@ exports.decodeGenerator = decodeGenerator;
|
|
|
16
31
|
exports.encode = encode;
|
|
17
32
|
exports.encodeGenerator = encodeGenerator;
|
|
18
33
|
exports.isWithinTokenLimit = isWithinTokenLimit;
|
|
34
|
+
// eslint-disable-next-line import/no-default-export
|
|
35
|
+
exports.default = api;
|
|
19
36
|
//# sourceMappingURL=p50k_edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p50k_edit.js","sourceRoot":"","sources":["../../src/encoding/p50k_edit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"p50k_edit.js","sourceRoot":"","sources":["../../src/encoding/p50k_edit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,4GAAqG;AACrG,6EAA+C;AAC/C,sDAA+C;AAE/C,sDAAmC;AAEnC,MAAM,GAAG,GAAG,4BAAW,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,CACvD,IAAA,kFAAsC,EAAC,sBAAO,CAAC,CAChD,CAAA;AACD,MAAM,EACJ,MAAM,EACN,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,eAAe,EACf,kBAAkB,GACnB,GAAG,GAAG,CAAA;AAEL,wBAAM;AACN,oDAAoB;AACpB,0CAAe;AACf,wBAAM;AACN,0CAAe;AACf,gDAAkB;AAEpB,oDAAoD;AACpD,kBAAe,GAAG,CAAA"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
import { GptEncoding } from '../GptEncoding.js';
|
|
2
|
+
export * from '../specialTokens.js';
|
|
3
|
+
declare const api: GptEncoding;
|
|
1
4
|
declare const decode: (inputTokensToDecode: Iterable<number>) => string, decodeAsyncGenerator: (inputTokensToDecode: AsyncIterable<number>) => AsyncGenerator<string, void, unknown>, decodeGenerator: (inputTokensToDecode: Iterable<number>) => Generator<string, void, unknown>, encode: (lineToEncode: string, allowedSpecial?: Set<string>, disallowedSpecial?: Set<string>) => number[], encodeGenerator: (lineToEncode: string, allowedSpecial?: Set<string>, disallowedSpecial?: Set<string>) => Generator<number[], number, unknown>, isWithinTokenLimit: (text: string, tokenLimit: number) => number | false;
|
|
2
5
|
export { decode, decodeAsyncGenerator, decodeGenerator, encode, encodeGenerator, isWithinTokenLimit, };
|
|
6
|
+
export default api;
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
18
|
};
|
|
@@ -8,6 +22,7 @@ exports.isWithinTokenLimit = exports.encodeGenerator = exports.encode = exports.
|
|
|
8
22
|
const convertTokenBytePairEncodingFromTuples_js_1 = require("../convertTokenBytePairEncodingFromTuples.js");
|
|
9
23
|
const r50k_base_js_1 = __importDefault(require("../encodings/r50k_base.js"));
|
|
10
24
|
const GptEncoding_js_1 = require("../GptEncoding.js");
|
|
25
|
+
__exportStar(require("../specialTokens.js"), exports);
|
|
11
26
|
const api = GptEncoding_js_1.GptEncoding.getEncodingApi('r50k_base', () => (0, convertTokenBytePairEncodingFromTuples_js_1.convertTokenBytePairEncodingFromTuples)(r50k_base_js_1.default));
|
|
12
27
|
const { decode, decodeAsyncGenerator, decodeGenerator, encode, encodeGenerator, isWithinTokenLimit, } = api;
|
|
13
28
|
exports.decode = decode;
|
|
@@ -16,4 +31,6 @@ exports.decodeGenerator = decodeGenerator;
|
|
|
16
31
|
exports.encode = encode;
|
|
17
32
|
exports.encodeGenerator = encodeGenerator;
|
|
18
33
|
exports.isWithinTokenLimit = isWithinTokenLimit;
|
|
34
|
+
// eslint-disable-next-line import/no-default-export
|
|
35
|
+
exports.default = api;
|
|
19
36
|
//# sourceMappingURL=r50k_base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"r50k_base.js","sourceRoot":"","sources":["../../src/encoding/r50k_base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"r50k_base.js","sourceRoot":"","sources":["../../src/encoding/r50k_base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,4GAAqG;AACrG,6EAA+C;AAC/C,sDAA+C;AAE/C,sDAAmC;AAEnC,MAAM,GAAG,GAAG,4BAAW,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,CACvD,IAAA,kFAAsC,EAAC,sBAAO,CAAC,CAChD,CAAA;AACD,MAAM,EACJ,MAAM,EACN,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,eAAe,EACf,kBAAkB,GACnB,GAAG,GAAG,CAAA;AAEL,wBAAM;AACN,oDAAoB;AACpB,0CAAe;AACf,wBAAM;AACN,0CAAe;AACf,gDAAkB;AAEpB,oDAAoD;AACpD,kBAAe,GAAG,CAAA"}
|