@mikugg/guidance 0.17.2 → 0.19.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/dist/index.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.Tokenizer = exports.TokenGenerator = exports.Template = exports.Agents = void 0;
27
37
  const Agents = __importStar(require("./lib/Agent"));
@@ -12,8 +12,9 @@ var __await = (this && this.__await) || function (v) { return this instanceof __
12
12
  var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
13
13
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
14
14
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
15
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
16
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
15
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
16
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
17
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
17
18
  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
18
19
  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
19
20
  function fulfill(value) { resume("next", value); }
@@ -1,7 +1,7 @@
1
1
  import { AbstractTokenizer } from './tokenizer';
2
2
  import { AbstractTokenGenerator } from './token-generator';
3
3
  export declare enum TEMPLATE_METHODS {
4
- SEL = "SEL",
4
+ SEL = "SEL",// select for a group of options
5
5
  GEN = "GEN"
6
6
  }
7
7
  export declare class TemplateProcessor<TRequestOptions = undefined> {
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/lib/template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,oBAAY,gBAAgB;IAC1B,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,qBAAa,iBAAiB,CAAC,eAAe,GAAG,SAAS;IACxD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,MAAM,CAAU;gBAEZ,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,sBAAsB,CAAC,eAAe,CAAC;IAMrF,YAAY,CAAC,SAAS,EAAE,iBAAiB;IAIzC,YAAY,CAAC,SAAS,EAAE,sBAAsB,CAAC,eAAe,CAAC;IAIzD,eAAe,CAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EACzC,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IASjB,qBAAqB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EACzC,UAAU,CAAC,EAAE,eAAe,GAC3B,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;IAuI5C,OAAO,CAAC,cAAc;CAQvB"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/lib/template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,oBAAY,gBAAgB;IAC1B,GAAG,QAAQ,CAAE,gCAAgC;IAC7C,GAAG,QAAQ;CACZ;AAED,qBAAa,iBAAiB,CAAC,eAAe,GAAG,SAAS;IACxD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,MAAM,CAAU;gBAEZ,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,sBAAsB,CAAC,eAAe,CAAC;IAMrF,YAAY,CAAC,SAAS,EAAE,iBAAiB;IAIzC,YAAY,CAAC,SAAS,EAAE,sBAAsB,CAAC,eAAe,CAAC;IAIzD,eAAe,CAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EACzC,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IASjB,qBAAqB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EACzC,UAAU,CAAC,EAAE,eAAe,GAC3B,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;IAuI5C,OAAO,CAAC,cAAc;CAQvB"}
@@ -19,8 +19,9 @@ var __await = (this && this.__await) || function (v) { return this instanceof __
19
19
  var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
20
20
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
21
21
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
22
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
23
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
22
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
23
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
24
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
24
25
  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
25
26
  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
26
27
  function fulfill(value) { resume("next", value); }
@@ -52,8 +53,8 @@ class TemplateProcessor {
52
53
  this.generator = generator;
53
54
  }
54
55
  processTemplate(template, variables, reqOptions) {
55
- var _a, e_1, _b, _c;
56
56
  return __awaiter(this, void 0, void 0, function* () {
57
+ var _a, e_1, _b, _c;
57
58
  let finalResult = new Map();
58
59
  try {
59
60
  for (var _d = true, _e = __asyncValues(this.processTemplateStream(template, variables, reqOptions)), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = templateParser;
3
4
  function templateParser(template) {
4
5
  const patternRegex = /{{(GEN|SEL)\s+(\w+)\s+([^}]+)}}/;
5
6
  const match = template.match(patternRegex);
@@ -41,4 +42,3 @@ function templateParser(template) {
41
42
  params,
42
43
  };
43
44
  }
44
- exports.default = templateParser;
@@ -1,5 +1,6 @@
1
- import OpenAI, { ClientOptions } from 'openai';
1
+ import { ClientOptions } from 'openai';
2
2
  import { CompletionCreateParams } from 'openai/resources/completions.mjs';
3
+ import { RequestOptions } from 'openai/core';
3
4
  export declare abstract class AbstractTokenGenerator<TRequestOptions = undefined> {
4
5
  abstract generateTokenLogProgs(prompt: string, logit_bias: Record<string, number>, reqOptions?: TRequestOptions): Promise<Record<string, number>>;
5
6
  abstract generateString(prompt: string, options: Record<string, number | string | string[]>, reqOptions?: TRequestOptions): AsyncGenerator<string>;
@@ -8,7 +9,7 @@ export declare abstract class AbstractTokenGenerator<TRequestOptions = undefined
8
9
  * OpenAI Token Generator
9
10
  *
10
11
  */
11
- export declare class OpenAITokenGenerator extends AbstractTokenGenerator<OpenAI.RequestOptions<Record<string, unknown>> | undefined> {
12
+ export declare class OpenAITokenGenerator extends AbstractTokenGenerator<RequestOptions<Record<string, unknown>> | undefined> {
12
13
  private openai;
13
14
  private model;
14
15
  private defaultCompletionParams?;
@@ -17,7 +18,7 @@ export declare class OpenAITokenGenerator extends AbstractTokenGenerator<OpenAI.
17
18
  model: string;
18
19
  baseURL?: string;
19
20
  }, options?: ClientOptions, defaultCompletionParams?: CompletionCreateParams);
20
- generateTokenLogProgs(prompt: string, logit_bias: Record<string, number>, reqOptions?: OpenAI.RequestOptions<Record<string, unknown>> | undefined): Promise<Record<string, number>>;
21
- generateString(prompt: string, options: Record<string, string | number | string[]>, reqOptions?: OpenAI.RequestOptions<Record<string, unknown>> | undefined): AsyncGenerator<string>;
21
+ generateTokenLogProgs(prompt: string, logit_bias: Record<string, number>, reqOptions?: RequestOptions<Record<string, unknown>> | undefined): Promise<Record<string, number>>;
22
+ generateString(prompt: string, options: Record<string, string | number | string[]>, reqOptions?: RequestOptions<Record<string, unknown>> | undefined): AsyncGenerator<string>;
22
23
  }
23
24
  //# sourceMappingURL=token-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-generator.d.ts","sourceRoot":"","sources":["../../src/lib/token-generator.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,8BAAsB,sBAAsB,CAAC,eAAe,GAAG,SAAS;IACtE,QAAQ,CAAC,qBAAqB,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EACnD,UAAU,CAAC,EAAE,eAAe,GAC3B,cAAc,CAAC,MAAM,CAAC;CAC1B;AACD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,sBAAsB,CAC9D,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAC3D;IACC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,uBAAuB,CAAC,CAAyB;gBAGvD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EACD,OAAO,CAAC,EAAE,aAAa,EACvB,uBAAuB,CAAC,EAAE,sBAAsB;IAYnC,qBAAqB,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GACtE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAiBlB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EACnD,UAAU,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GACtE,cAAc,CAAC,MAAM,CAAC;CAiB1B"}
1
+ {"version":3,"file":"token-generator.d.ts","sourceRoot":"","sources":["../../src/lib/token-generator.ts"],"names":[],"mappings":"AAAA,OAAe,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,8BAAsB,sBAAsB,CAAC,eAAe,GAAG,SAAS;IACtE,QAAQ,CAAC,qBAAqB,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EACnD,UAAU,CAAC,EAAE,eAAe,GAC3B,cAAc,CAAC,MAAM,CAAC;CAC1B;AACD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IACnH,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,uBAAuB,CAAC,CAAyB;gBAGvD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EACD,OAAO,CAAC,EAAE,aAAa,EACvB,uBAAuB,CAAC,EAAE,sBAAsB;IAYnC,qBAAqB,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GAC/D,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAiBlB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EACnD,UAAU,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GAC/D,cAAc,CAAC,MAAM,CAAC;CAiB1B"}
@@ -19,8 +19,9 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
19
19
  var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
20
20
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
21
21
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
22
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
23
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
22
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
23
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
24
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
24
25
  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
25
26
  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
26
27
  function fulfill(value) { resume("next", value); }
@@ -48,8 +49,8 @@ class OpenAITokenGenerator extends AbstractTokenGenerator {
48
49
  this.defaultCompletionParams = defaultCompletionParams;
49
50
  }
50
51
  generateTokenLogProgs(prompt, logit_bias, reqOptions) {
51
- var _a;
52
52
  return __awaiter(this, void 0, void 0, function* () {
53
+ var _a;
53
54
  const result = yield this.openai.completions.create({
54
55
  stream: false,
55
56
  model: this.model,
@@ -64,24 +65,24 @@ class OpenAITokenGenerator extends AbstractTokenGenerator {
64
65
  });
65
66
  }
66
67
  generateString(prompt, options, reqOptions) {
67
- var _a;
68
68
  return __asyncGenerator(this, arguments, function* generateString_1() {
69
- var _b, e_1, _c, _d;
69
+ var _a, e_1, _b, _c;
70
+ var _d;
70
71
  const stream = yield __await(this.openai.completions.create(Object.assign(Object.assign(Object.assign({}, this.defaultCompletionParams), options), { model: this.model, prompt, stream: true }), reqOptions));
71
72
  let result = '';
72
73
  try {
73
- for (var _e = true, stream_1 = __asyncValues(stream), stream_1_1; stream_1_1 = yield __await(stream_1.next()), _b = stream_1_1.done, !_b; _e = true) {
74
- _d = stream_1_1.value;
74
+ for (var _e = true, stream_1 = __asyncValues(stream), stream_1_1; stream_1_1 = yield __await(stream_1.next()), _a = stream_1_1.done, !_a; _e = true) {
75
+ _c = stream_1_1.value;
75
76
  _e = false;
76
- const chunk = _d;
77
- result += (_a = chunk.choices[0]) === null || _a === void 0 ? void 0 : _a.text;
77
+ const chunk = _c;
78
+ result += (_d = chunk.choices[0]) === null || _d === void 0 ? void 0 : _d.text;
78
79
  yield yield __await(result);
79
80
  }
80
81
  }
81
82
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
82
83
  finally {
83
84
  try {
84
- if (!_e && !_b && (_c = stream_1.return)) yield __await(_c.call(stream_1));
85
+ if (!_e && !_a && (_b = stream_1.return)) yield __await(_b.call(stream_1));
85
86
  }
86
87
  finally { if (e_1) throw e_1.error; }
87
88
  }
@@ -19,4 +19,13 @@ export declare class MistralTokenizer extends AbstractTokenizer {
19
19
  decodeString(arr: number[], add_bos_token?: boolean, add_preceding_space?: boolean): string;
20
20
  getEOS(): string;
21
21
  }
22
+ export declare class LenMLTokenizer extends AbstractTokenizer {
23
+ private tokenizer;
24
+ private tokenizerPromise;
25
+ constructor(baseUrl: string);
26
+ ready(): Promise<void>;
27
+ encodeString(str: string, add_special_tokens?: boolean): number[];
28
+ decodeString(arr: number[], skip_special_tokens?: boolean, clean_up_tokenization_spaces?: boolean): string;
29
+ getEOS(): string;
30
+ }
22
31
  //# sourceMappingURL=tokenizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/lib/tokenizer.ts"],"names":[],"mappings":"AAIA,8BAAsB,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAc;IACjC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAC5C,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAC5C,QAAQ,CAAC,MAAM,IAAI,MAAM;CAC1B;AAED,qBAAa,cAAe,SAAQ,iBAAiB;IAC1C,YAAY,CACnB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,OAAO,EACvB,mBAAmB,CAAC,EAAE,OAAO,EAC7B,eAAe,CAAC,EAAE,OAAO,GACxB,MAAM,EAAE;IAWF,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,OAAO,GAAG,MAAM;IAQ3F,MAAM,IAAI,MAAM;CAG1B;AAED,qBAAa,YAAa,SAAQ,iBAAiB;IACxC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAMnC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAInC,MAAM,IAAI,MAAM;CAG1B;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB;IAC5C,YAAY,CACnB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,OAAO,EACvB,mBAAmB,CAAC,EAAE,OAAO,EAC7B,eAAe,CAAC,EAAE,OAAO,GACxB,MAAM,EAAE;IAWF,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,OAAO,GAAG,MAAM;IAQ3F,MAAM,IAAI,MAAM;CAG1B"}
1
+ {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/lib/tokenizer.ts"],"names":[],"mappings":"AAIA,8BAAsB,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAc;IACjC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAC5C,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAC5C,QAAQ,CAAC,MAAM,IAAI,MAAM;CAC1B;AAED,qBAAa,cAAe,SAAQ,iBAAiB;IAC1C,YAAY,CACnB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,OAAO,EACvB,mBAAmB,CAAC,EAAE,OAAO,EAC7B,eAAe,CAAC,EAAE,OAAO,GACxB,MAAM,EAAE;IAWF,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,OAAO,GAAG,MAAM;IAQ3F,MAAM,IAAI,MAAM;CAG1B;AAED,qBAAa,YAAa,SAAQ,iBAAiB;IACxC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAMnC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAInC,MAAM,IAAI,MAAM;CAG1B;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB;IAC5C,YAAY,CACnB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,OAAO,EACvB,mBAAmB,CAAC,EAAE,OAAO,EAC7B,eAAe,CAAC,EAAE,OAAO,GACxB,MAAM,EAAE;IAWF,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,OAAO,GAAG,MAAM;IAQ3F,MAAM,IAAI,MAAM;CAG1B;AAED,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,OAAO,CAAC,SAAS,CAWD;IAEhB,OAAO,CAAC,gBAAgB,CAAgB;gBAE5B,OAAO,EAAE,MAAM;IAWrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,GAAE,OAAc,GAAG,MAAM,EAAE;IAQvE,YAAY,CACnB,GAAG,EAAE,MAAM,EAAE,EACb,mBAAmB,GAAE,OAAc,EACnC,4BAA4B,GAAE,OAAc,GAC3C,MAAM;IASA,MAAM,IAAI,MAAM;CAG1B"}
@@ -1,12 +1,22 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
5
14
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MistralTokenizer = exports.GTPTokenizer = exports.LLaMATokenizer = exports.AbstractTokenizer = void 0;
15
+ exports.LenMLTokenizer = exports.MistralTokenizer = exports.GTPTokenizer = exports.LLaMATokenizer = exports.AbstractTokenizer = void 0;
7
16
  const _llama_tokenizer_1 = __importDefault(require("./_llama-tokenizer"));
8
17
  const gpt_tokenizer_1 = require("gpt-tokenizer");
9
18
  const _mistral_tokenizer_1 = __importDefault(require("./_mistral-tokenizer"));
19
+ const tokenizers_1 = require("@lenml/tokenizers");
10
20
  class AbstractTokenizer {
11
21
  constructor() {
12
22
  this.name = 'abstract';
@@ -73,3 +83,39 @@ class MistralTokenizer extends AbstractTokenizer {
73
83
  }
74
84
  }
75
85
  exports.MistralTokenizer = MistralTokenizer;
86
+ class LenMLTokenizer extends AbstractTokenizer {
87
+ constructor(baseUrl) {
88
+ super();
89
+ this.tokenizer = null;
90
+ const sourceUrls = {
91
+ tokenizerJSON: `${baseUrl}/tokenizer.json?download=true`,
92
+ tokenizerConfig: `${baseUrl}/tokenizer_config.json?download=true`,
93
+ };
94
+ this.tokenizerPromise = tokenizers_1.TokenizerLoader.fromPreTrainedUrls(sourceUrls).then((tokenizer) => {
95
+ this.tokenizer = tokenizer;
96
+ });
97
+ }
98
+ ready() {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ return this.tokenizerPromise;
101
+ });
102
+ }
103
+ encodeString(str, add_special_tokens = true) {
104
+ var _a;
105
+ return (((_a = this.tokenizer) === null || _a === void 0 ? void 0 : _a.encode(str, {
106
+ add_special_tokens,
107
+ })) || []);
108
+ }
109
+ decodeString(arr, skip_special_tokens = true, clean_up_tokenization_spaces = true) {
110
+ var _a;
111
+ return (((_a = this.tokenizer) === null || _a === void 0 ? void 0 : _a.decode(arr, {
112
+ skip_special_tokens,
113
+ clean_up_tokenization_spaces,
114
+ })) || '');
115
+ }
116
+ getEOS() {
117
+ var _a;
118
+ return ((_a = this.tokenizer) === null || _a === void 0 ? void 0 : _a.eos_token) || '';
119
+ }
120
+ }
121
+ exports.LenMLTokenizer = LenMLTokenizer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikugg/guidance",
3
- "version": "0.17.2",
3
+ "version": "0.19.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,8 +27,9 @@
27
27
  "registry": "https://registry.npmjs.org/"
28
28
  },
29
29
  "dependencies": {
30
+ "@lenml/tokenizers": "^3.4.0",
30
31
  "gpt-tokenizer": "^2.1.2",
31
- "openai": "^4.19.0"
32
+ "openai": "4.19.0"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@types/jest": "^29.5.8",
@@ -38,7 +39,7 @@
38
39
  "jest": "^29.7.0",
39
40
  "ts-jest": "^29.1.1",
40
41
  "ts-node": "^10.9.1",
41
- "typescript": "^5.2.2"
42
+ "typescript": "^5.7.3"
42
43
  },
43
- "gitHead": "a25fb27825b1989604a4f0d9d4a51d2b11baac07"
44
+ "gitHead": "09c9f8f83a5fabf161d64ee359d47745911d26a4"
44
45
  }