node-llama-cpp 2.7.5 → 3.0.0-beta.1

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 (101) hide show
  1. package/README.md +1 -1
  2. package/dist/chatWrappers/generateContextTextFromConversationHistory.d.ts +0 -8
  3. package/dist/chatWrappers/generateContextTextFromConversationHistory.js +0 -8
  4. package/dist/chatWrappers/generateContextTextFromConversationHistory.js.map +1 -1
  5. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +13 -0
  6. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +49 -0
  7. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -0
  8. package/dist/cli/cli.js +1 -1
  9. package/dist/cli/cli.js.map +1 -1
  10. package/dist/cli/commands/BuildCommand.d.ts +2 -2
  11. package/dist/cli/commands/BuildCommand.js +1 -1
  12. package/dist/cli/commands/BuildCommand.js.map +1 -1
  13. package/dist/cli/commands/ChatCommand.js +20 -10
  14. package/dist/cli/commands/ChatCommand.js.map +1 -1
  15. package/dist/cli/commands/ClearCommand.js +2 -1
  16. package/dist/cli/commands/ClearCommand.js.map +1 -1
  17. package/dist/cli/commands/DownloadCommand.d.ts +4 -5
  18. package/dist/cli/commands/DownloadCommand.js +3 -2
  19. package/dist/cli/commands/DownloadCommand.js.map +1 -1
  20. package/dist/commands.d.ts +2 -1
  21. package/dist/commands.js +2 -1
  22. package/dist/commands.js.map +1 -1
  23. package/dist/config.d.ts +1 -0
  24. package/dist/config.js +1 -0
  25. package/dist/config.js.map +1 -1
  26. package/dist/index.d.ts +7 -4
  27. package/dist/index.js +6 -4
  28. package/dist/index.js.map +1 -1
  29. package/dist/llamaEvaluator/LlamaBins.d.ts +19 -4
  30. package/dist/llamaEvaluator/LlamaBins.js +3 -3
  31. package/dist/llamaEvaluator/LlamaChatSession.d.ts +24 -23
  32. package/dist/llamaEvaluator/LlamaChatSession.js +90 -36
  33. package/dist/llamaEvaluator/LlamaChatSession.js.map +1 -1
  34. package/dist/llamaEvaluator/LlamaContext/LlamaContext.d.ts +112 -0
  35. package/dist/llamaEvaluator/LlamaContext/LlamaContext.js +640 -0
  36. package/dist/llamaEvaluator/LlamaContext/LlamaContext.js.map +1 -0
  37. package/dist/llamaEvaluator/LlamaContext/types.d.ts +90 -0
  38. package/dist/llamaEvaluator/LlamaContext/types.js +2 -0
  39. package/dist/llamaEvaluator/LlamaContext/types.js.map +1 -0
  40. package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.d.ts +5 -0
  41. package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js +16 -0
  42. package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +1 -0
  43. package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.d.ts +5 -0
  44. package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js +42 -0
  45. package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +1 -0
  46. package/dist/llamaEvaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +2 -0
  47. package/dist/llamaEvaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js +13 -0
  48. package/dist/llamaEvaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +1 -0
  49. package/dist/llamaEvaluator/LlamaGrammar.d.ts +5 -5
  50. package/dist/llamaEvaluator/LlamaGrammar.js +7 -7
  51. package/dist/llamaEvaluator/LlamaGrammarEvaluationState.d.ts +6 -5
  52. package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js +8 -7
  53. package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js.map +1 -1
  54. package/dist/llamaEvaluator/LlamaModel.d.ts +93 -112
  55. package/dist/llamaEvaluator/LlamaModel.js +294 -59
  56. package/dist/llamaEvaluator/LlamaModel.js.map +1 -1
  57. package/dist/types.d.ts +3 -1
  58. package/dist/utils/ReplHistory.js +1 -1
  59. package/dist/utils/ReplHistory.js.map +1 -1
  60. package/dist/utils/cloneLlamaCppRepo.d.ts +1 -0
  61. package/dist/utils/cloneLlamaCppRepo.js +26 -1
  62. package/dist/utils/cloneLlamaCppRepo.js.map +1 -1
  63. package/dist/utils/getBin.d.ts +71 -39
  64. package/dist/utils/getBin.js.map +1 -1
  65. package/dist/utils/getBuildDefaults.d.ts +6 -0
  66. package/dist/utils/getBuildDefaults.js +10 -0
  67. package/dist/utils/getBuildDefaults.js.map +1 -0
  68. package/dist/utils/getReleaseInfo.d.ts +7 -0
  69. package/dist/utils/getReleaseInfo.js +30 -0
  70. package/dist/utils/getReleaseInfo.js.map +1 -0
  71. package/dist/utils/parseModelFileName.d.ts +9 -0
  72. package/dist/utils/parseModelFileName.js +68 -0
  73. package/dist/utils/parseModelFileName.js.map +1 -0
  74. package/dist/utils/parseModelTypeDescription.d.ts +6 -0
  75. package/dist/utils/parseModelTypeDescription.js +9 -0
  76. package/dist/utils/parseModelTypeDescription.js.map +1 -0
  77. package/llama/.clang-format +10 -9
  78. package/llama/addon.cpp +689 -356
  79. package/llama/binariesGithubRelease.json +1 -1
  80. package/llama/gitRelease.bundle +0 -0
  81. package/llama/grammars/README.md +2 -2
  82. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  83. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  84. package/llamaBins/linux-x64/llama-addon.node +0 -0
  85. package/llamaBins/mac-arm64/ggml-metal.metal +107 -1
  86. package/llamaBins/mac-arm64/llama-addon.node +0 -0
  87. package/llamaBins/mac-x64/ggml-metal.metal +107 -1
  88. package/llamaBins/mac-x64/llama-addon.node +0 -0
  89. package/llamaBins/win-x64/llama-addon.exp +0 -0
  90. package/llamaBins/win-x64/llama-addon.lib +0 -0
  91. package/llamaBins/win-x64/llama-addon.node +0 -0
  92. package/package.json +13 -7
  93. package/dist/chatWrappers/createChatWrapperByBos.d.ts +0 -2
  94. package/dist/chatWrappers/createChatWrapperByBos.js +0 -14
  95. package/dist/chatWrappers/createChatWrapperByBos.js.map +0 -1
  96. package/dist/llamaEvaluator/LlamaContext.d.ts +0 -100
  97. package/dist/llamaEvaluator/LlamaContext.js +0 -141
  98. package/dist/llamaEvaluator/LlamaContext.js.map +0 -1
  99. package/dist/utils/withLock.d.ts +0 -1
  100. package/dist/utils/withLock.js +0 -19
  101. package/dist/utils/withLock.js.map +0 -1
@@ -1,76 +1,311 @@
1
1
  import process from "process";
2
2
  import path from "path";
3
+ import { DisposedError, EventRelay } from "lifecycle-utils";
3
4
  import { removeNullFields } from "../utils/removeNullFields.js";
4
- import { llamaCppNode, LLAMAModel } from "./LlamaBins.js";
5
+ import { addonBinding, AddonModel } from "./LlamaBins.js";
5
6
  export class LlamaModel {
6
- /** @internal */
7
- _model;
8
- /** @internal */
9
- _contextOptions;
10
- /** @internal */
11
- _evaluationOptions;
7
+ /** @internal */ _model;
8
+ /** @internal */ _tokens;
9
+ /** @internal */ _filename;
10
+ /** @internal */ _disposedState = { disposed: false };
11
+ /** @internal */ _typeDescription;
12
+ /** @internal */ _trainContextSize;
13
+ onDispose = new EventRelay();
12
14
  /**
13
15
  * > options source:
14
16
  * > [github:ggerganov/llama.cpp/llama.h](
15
- * > https://github.com/ggerganov/llama.cpp/blob/b5ffb2849d23afe73647f68eec7b68187af09be6/llama.h#L102) (`struct llama_context_params`)
16
- * @param {object} options
17
- * @param {string} options.modelPath - path to the model on the filesystem
18
- * @param {number | null} [options.seed] - If null, a random seed will be used
19
- * @param {number} [options.contextSize] - text context size
20
- * @param {number} [options.batchSize] - prompt processing batch size
21
- * @param {number} [options.gpuLayers] - number of layers to store in VRAM
22
- * @param {number} [options.threads] - number of threads to use to evaluate tokens
23
- * @param {number} [options.temperature] - Temperature is a hyperparameter that controls the randomness of the generated text.
24
- * It affects the probability distribution of the model's output tokens.
25
- * A higher temperature (e.g., 1.5) makes the output more random and creative,
26
- * while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative.
27
- * The suggested temperature is 0.8, which provides a balance between randomness and determinism.
28
- * At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run.
29
- *
30
- * Set to `0` to disable.
31
- * @param {number} [options.topK] - Limits the model to consider only the K most likely next tokens for sampling at each step of
32
- * sequence generation.
33
- * An integer number between `1` and the size of the vocabulary.
34
- * Set to `0` to disable (which uses the full vocabulary).
35
- *
36
- * Only relevant when `temperature` is set to a value greater than 0.
37
- * @param {number} [options.topP] - Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P,
38
- * and samples the next token only from this set.
39
- * A float number between `0` and `1`.
40
- * Set to `1` to disable.
41
- *
42
- * Only relevant when `temperature` is set to a value greater than `0`.
43
- * @param {boolean} [options.f16Kv] - use fp16 for KV cache
44
- * @param {boolean} [options.logitsAll] - the llama_eval() call computes all logits, not just the last one
45
- * @param {boolean} [options.vocabOnly] - only load the vocabulary, no weights
46
- * @param {boolean} [options.useMmap] - use mmap if possible
47
- * @param {boolean} [options.useMlock] - force system to keep model in RAM
48
- * @param {boolean} [options.embedding] - embedding mode only
49
- */
50
- constructor({ modelPath, seed = null, contextSize = 1024 * 4, batchSize, gpuLayers, threads = 6, temperature = 0, topK = 40, topP = 0.95, f16Kv, logitsAll, vocabOnly, useMmap, useMlock, embedding }) {
51
- this._model = new LLAMAModel(path.resolve(process.cwd(), modelPath), removeNullFields({
17
+ * > https://github.com/ggerganov/llama.cpp/blob/05816027d649f977468fc804cdb54e99eac246d1/llama.h#L161) (`struct llama_model_params`)
18
+ * @param options
19
+ * @param options.modelPath - path to the model on the filesystem
20
+ * @param [options.gpuLayers] - number of layers to store in VRAM
21
+ * @param [options.vocabOnly] - only load the vocabulary, no weights
22
+ * @param [options.useMmap] - use mmap if possible
23
+ * @param [options.useMlock] - force system to keep model in RAM
24
+ */
25
+ constructor({ modelPath, gpuLayers, vocabOnly, useMmap, useMlock }) {
26
+ this._model = new AddonModel(path.resolve(process.cwd(), modelPath), removeNullFields({
52
27
  gpuLayers,
53
28
  vocabOnly,
54
29
  useMmap,
55
30
  useMlock
56
31
  }));
57
- this._contextOptions = {
58
- seed,
59
- contextSize,
60
- batchSize,
61
- f16Kv,
62
- logitsAll,
63
- embedding,
64
- threads
65
- };
66
- this._evaluationOptions = {
67
- temperature,
68
- topK,
69
- topP
70
- };
32
+ this._tokens = LlamaModelTokens._create(this._model, this._disposedState);
33
+ this._filename = path.basename(modelPath);
34
+ }
35
+ dispose() {
36
+ if (this._disposedState.disposed)
37
+ return;
38
+ this.onDispose.dispatchEvent();
39
+ this._model.dispose();
40
+ this._disposedState.disposed = true;
41
+ }
42
+ /** @hidden */
43
+ [Symbol.dispose]() {
44
+ this.dispose();
45
+ }
46
+ get disposed() {
47
+ return this._disposedState.disposed;
48
+ }
49
+ get tokens() {
50
+ return this._tokens;
51
+ }
52
+ get filename() {
53
+ return this._filename;
54
+ }
55
+ /** Transform text into tokens that can be fed to the model */
56
+ tokenize(text) {
57
+ this._ensureNotDisposed();
58
+ if (text === "")
59
+ return [];
60
+ return Array.from(this._model.tokenize(text));
61
+ }
62
+ /** Transform tokens into text */
63
+ detokenize(tokens) {
64
+ this._ensureNotDisposed();
65
+ if (tokens.length === 0)
66
+ return "";
67
+ return this._model.detokenize(Uint32Array.from(tokens));
68
+ }
69
+ /** @hidden `ModelTypeDescription` type alias is too long in the documentation */
70
+ get typeDescription() {
71
+ this._ensureNotDisposed();
72
+ if (this._typeDescription == null)
73
+ this._typeDescription = this._model.getModelDescription();
74
+ return this._typeDescription;
75
+ }
76
+ /** The context size the model was trained on */
77
+ get trainContextSize() {
78
+ this._ensureNotDisposed();
79
+ if (this._trainContextSize == null)
80
+ this._trainContextSize = this._model.getTrainContextSize();
81
+ return this._trainContextSize;
82
+ }
83
+ /** @internal */
84
+ _ensureNotDisposed() {
85
+ if (this._disposedState.disposed)
86
+ throw new DisposedError();
71
87
  }
72
88
  static get systemInfo() {
73
- return llamaCppNode.systemInfo();
89
+ return addonBinding.systemInfo();
90
+ }
91
+ }
92
+ export class LlamaModelTokens {
93
+ /** @internal */ _model;
94
+ /** @internal */ _disposedState;
95
+ /** @internal */ _infillTokens;
96
+ /** @internal */ _bosToken;
97
+ /** @internal */ _eosToken;
98
+ /** @internal */ _nlToken;
99
+ /** @internal */ _bosString;
100
+ /** @internal */ _eosString;
101
+ /** @internal */ _nlString;
102
+ constructor(model, disposedState) {
103
+ this._model = model;
104
+ this._disposedState = disposedState;
105
+ }
106
+ /**
107
+ * @returns infill tokens
108
+ */
109
+ get infill() {
110
+ this._ensureNotDisposed();
111
+ if (this._infillTokens == null)
112
+ this._infillTokens = LlamaModelInfillTokens._create(this._model, this._disposedState);
113
+ return this._infillTokens;
114
+ }
115
+ /**
116
+ * @returns The BOS (Beginning Of Sequence) token.
117
+ */
118
+ get bos() {
119
+ this._ensureNotDisposed();
120
+ if (this._bosToken == null)
121
+ this._bosToken = this._model.tokenBos();
122
+ if (this._bosToken === -1)
123
+ return null;
124
+ return this._bosToken;
125
+ }
126
+ /**
127
+ * @returns The EOS (End Of Sequence) token.
128
+ */
129
+ get eos() {
130
+ this._ensureNotDisposed();
131
+ if (this._eosToken == null)
132
+ this._eosToken = this._model.tokenEos();
133
+ if (this._eosToken === -1)
134
+ return null;
135
+ return this._eosToken;
136
+ }
137
+ /**
138
+ * @returns The NL (New Line) token.
139
+ */
140
+ get nl() {
141
+ this._ensureNotDisposed();
142
+ if (this._nlToken == null)
143
+ this._nlToken = this._model.tokenNl();
144
+ if (this._nlToken === -1)
145
+ return null;
146
+ return this._nlToken;
147
+ }
148
+ /**
149
+ * @returns The BOS (Beginning Of Sequence) token as a string.
150
+ */
151
+ get bosString() {
152
+ this._ensureNotDisposed();
153
+ const bosToken = this.bos;
154
+ if (bosToken == null)
155
+ return null;
156
+ if (this._bosString == null)
157
+ this._bosString = this._model.getTokenString(bosToken);
158
+ return this._bosString;
159
+ }
160
+ /**
161
+ * @returns The EOS (End Of Sequence) token as a string.
162
+ */
163
+ get eosString() {
164
+ this._ensureNotDisposed();
165
+ const eosToken = this.eos;
166
+ if (eosToken == null)
167
+ return null;
168
+ if (this._eosString == null)
169
+ this._eosString = this._model.getTokenString(eosToken);
170
+ return this._eosString;
171
+ }
172
+ /**
173
+ * @returns The NL (New Line) token as a string.
174
+ */
175
+ get nlString() {
176
+ this._ensureNotDisposed();
177
+ const nlToken = this.nl;
178
+ if (nlToken == null)
179
+ return null;
180
+ if (this._nlString == null)
181
+ this._nlString = this._model.getTokenString(nlToken);
182
+ return this._nlString;
183
+ }
184
+ /** @internal */
185
+ _ensureNotDisposed() {
186
+ if (this._disposedState.disposed)
187
+ throw new DisposedError();
188
+ }
189
+ /** @internal */
190
+ static _create(model, disposedState) {
191
+ return new LlamaModelTokens(model, disposedState);
192
+ }
193
+ }
194
+ export class LlamaModelInfillTokens {
195
+ /** @internal */ _model;
196
+ /** @internal */ _disposedState;
197
+ /** @internal */ _prefixToken;
198
+ /** @internal */ _middleToken;
199
+ /** @internal */ _suffixToken;
200
+ /** @internal */ _eotToken;
201
+ /** @internal */ _prefixString;
202
+ /** @internal */ _middleString;
203
+ /** @internal */ _suffixString;
204
+ /** @internal */ _eotString;
205
+ constructor(model, disposedState) {
206
+ this._model = model;
207
+ this._disposedState = disposedState;
208
+ }
209
+ /**
210
+ * @returns The beginning of infill prefix token.
211
+ */
212
+ get prefix() {
213
+ this._ensureNotDisposed();
214
+ if (this._prefixToken == null)
215
+ this._prefixToken = this._model.prefixToken();
216
+ if (this._prefixToken === -1)
217
+ return null;
218
+ return this._prefixToken;
219
+ }
220
+ /**
221
+ * @returns The beginning of infill middle token.
222
+ */
223
+ get middle() {
224
+ this._ensureNotDisposed();
225
+ if (this._middleToken == null)
226
+ this._middleToken = this._model.middleToken();
227
+ if (this._middleToken === -1)
228
+ return null;
229
+ return this._middleToken;
230
+ }
231
+ /**
232
+ * @returns The beginning of infill suffix token.
233
+ */
234
+ get suffix() {
235
+ this._ensureNotDisposed();
236
+ if (this._suffixToken == null)
237
+ this._suffixToken = this._model.suffixToken();
238
+ if (this._suffixToken === -1)
239
+ return null;
240
+ return this._suffixToken;
241
+ }
242
+ /**
243
+ * @returns End of infill middle token (End Of Text).
244
+ */
245
+ get eot() {
246
+ this._ensureNotDisposed();
247
+ if (this._eotToken == null)
248
+ this._eotToken = this._model.eotToken();
249
+ if (this._eotToken === -1)
250
+ return null;
251
+ return this._eotToken;
252
+ }
253
+ /**
254
+ * @returns The beginning of infill prefix token as a string.
255
+ */
256
+ get prefixString() {
257
+ this._ensureNotDisposed();
258
+ const prefixToken = this.prefix;
259
+ if (prefixToken == null)
260
+ return null;
261
+ if (this._prefixString == null)
262
+ this._prefixString = this._model.getTokenString(prefixToken);
263
+ return this._prefixString;
264
+ }
265
+ /**
266
+ * @returns The beginning of infill middle token as a string.
267
+ */
268
+ get middleString() {
269
+ this._ensureNotDisposed();
270
+ const middleToken = this.middle;
271
+ if (middleToken == null)
272
+ return null;
273
+ if (this._middleString == null)
274
+ this._middleString = this._model.getTokenString(middleToken);
275
+ return this._middleString;
276
+ }
277
+ /**
278
+ * @returns The beginning of infill suffix token as a string.
279
+ */
280
+ get suffixString() {
281
+ this._ensureNotDisposed();
282
+ const suffixToken = this.suffix;
283
+ if (suffixToken == null)
284
+ return null;
285
+ if (this._suffixString == null)
286
+ this._suffixString = this._model.getTokenString(suffixToken);
287
+ return this._suffixString;
288
+ }
289
+ /**
290
+ * @returns End of infill middle token (End Of Text) as a string.
291
+ */
292
+ get eotString() {
293
+ this._ensureNotDisposed();
294
+ const eotToken = this.eot;
295
+ if (eotToken == null)
296
+ return null;
297
+ if (this._eotString == null)
298
+ this._eotString = this._model.getTokenString(eotToken);
299
+ return this._eotString;
300
+ }
301
+ /** @internal */
302
+ _ensureNotDisposed() {
303
+ if (this._disposedState.disposed)
304
+ throw new DisposedError();
305
+ }
306
+ /** @internal */
307
+ static _create(model, disposedState) {
308
+ return new LlamaModelInfillTokens(model, disposedState);
74
309
  }
75
310
  }
76
311
  //# sourceMappingURL=LlamaModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaModel.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AA0GxD,MAAM,OAAO,UAAU;IACnB,gBAAgB;IACA,MAAM,CAAa;IAEnC,gBAAgB;IACA,eAAe,CAQ7B;IAEF,gBAAgB;IACA,kBAAkB,CAIhC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,YAAmB,EACf,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EACpE,OAAO,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAC/F;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,gBAAgB,CAAC;YAClF,SAAS;YACT,SAAS;YACT,OAAO;YACP,QAAQ;SACX,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,eAAe,GAAG;YACnB,IAAI;YACJ,WAAW;YACX,SAAS;YACT,KAAK;YACL,SAAS;YACT,SAAS;YACT,OAAO;SACV,CAAC;QAEF,IAAI,CAAC,kBAAkB,GAAG;YACtB,WAAW;YACX,IAAI;YACJ,IAAI;SACP,CAAC;IACN,CAAC;IAEM,MAAM,KAAK,UAAU;QACxB,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;CACJ"}
1
+ {"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaModel.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAoBxD,MAAM,OAAO,UAAU;IACnB,gBAAgB,CAAiB,MAAM,CAAa;IACpD,gBAAgB,CAAkB,OAAO,CAAmB;IAC5D,gBAAgB,CAAkB,SAAS,CAAU;IACrD,gBAAgB,CAAkB,cAAc,GAAkB,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC;IACpF,gBAAgB,CAAS,gBAAgB,CAAwB;IACjE,gBAAgB,CAAS,iBAAiB,CAAU;IAEpC,SAAS,GAAG,IAAI,UAAU,EAAQ,CAAC;IAEnD;;;;;;;;;;OAUG;IACH,YAAmB,EACf,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAClC;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,gBAAgB,CAAC;YAClF,SAAS;YACT,SAAS;YACT,OAAO;YACP,QAAQ;SACX,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAEM,OAAO;QACV,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ;YAC5B,OAAO;QAEX,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxC,CAAC;IAED,cAAc;IACP,CAAC,MAAM,CAAC,OAAO,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,8DAA8D;IACvD,QAAQ,CAAC,IAAY;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,KAAK,EAAE;YACX,OAAO,EAAE,CAAC;QAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAY,CAAC;IAC7D,CAAC;IAED,iCAAiC;IAC1B,UAAU,CAAC,MAAwB;QACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YACnB,OAAO,EAAE,CAAC;QAEd,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,iFAAiF;IACjF,IAAW,eAAe;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI;YAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAE9D,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,gDAAgD;IAChD,IAAW,gBAAgB;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAE/D,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,gBAAgB;IACR,kBAAkB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ;YAC5B,MAAM,IAAI,aAAa,EAAE,CAAC;IAClC,CAAC;IAEM,MAAM,KAAK,UAAU;QACxB,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;CACJ;AAED,MAAM,OAAO,gBAAgB;IACzB,gBAAgB,CAAkB,MAAM,CAAa;IACrD,gBAAgB,CAAkB,cAAc,CAAgB;IAChE,gBAAgB,CAAS,aAAa,CAA0B;IAChE,gBAAgB,CAAS,SAAS,CAAS;IAC3C,gBAAgB,CAAS,SAAS,CAAS;IAC3C,gBAAgB,CAAS,QAAQ,CAAS;IAC1C,gBAAgB,CAAS,UAAU,CAAU;IAC7C,gBAAgB,CAAS,UAAU,CAAU;IAC7C,gBAAgB,CAAS,SAAS,CAAU;IAE5C,YAAoB,KAAiB,EAAE,aAA4B;QAC/D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAC1B,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAE1F,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,GAAG;QACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE5C,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAW,GAAG;QACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE5C,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAW,EAAE;QACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAE1C,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;QAE1B,IAAI,QAAQ,IAAI,IAAI;YAChB,OAAO,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;QAE1B,IAAI,QAAQ,IAAI,IAAI;YAChB,OAAO,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QAExB,IAAI,OAAO,IAAI,IAAI;YACf,OAAO,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,gBAAgB;IACR,kBAAkB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ;YAC5B,MAAM,IAAI,aAAa,EAAE,CAAC;IAClC,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,OAAO,CAAC,KAAiB,EAAE,aAA4B;QACjE,OAAO,IAAI,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;CACJ;AAED,MAAM,OAAO,sBAAsB;IAC/B,gBAAgB,CAAkB,MAAM,CAAa;IACrD,gBAAgB,CAAkB,cAAc,CAAgB;IAChE,gBAAgB,CAAS,YAAY,CAAS;IAC9C,gBAAgB,CAAS,YAAY,CAAS;IAC9C,gBAAgB,CAAS,YAAY,CAAS;IAC9C,gBAAgB,CAAS,SAAS,CAAS;IAC3C,gBAAgB,CAAS,aAAa,CAAU;IAChD,gBAAgB,CAAS,aAAa,CAAU;IAChD,gBAAgB,CAAS,aAAa,CAAU;IAChD,gBAAgB,CAAS,UAAU,CAAU;IAE7C,YAAoB,KAAiB,EAAE,aAA4B;QAC/D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,GAAG;QACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE5C,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhC,IAAI,WAAW,IAAI,IAAI;YACnB,OAAO,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhC,IAAI,WAAW,IAAI,IAAI;YACnB,OAAO,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhC,IAAI,WAAW,IAAI,IAAI;YACnB,OAAO,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;QAE1B,IAAI,QAAQ,IAAI,IAAI;YAChB,OAAO,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,gBAAgB;IACR,kBAAkB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ;YAC5B,MAAM,IAAI,aAAa,EAAE,CAAC;IAClC,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,OAAO,CAAC,KAAiB,EAAE,aAA4B;QACjE,OAAO,IAAI,sBAAsB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;CACJ"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- export type Token = number;
1
+ export type Token = number & {
2
+ __token: never;
3
+ };
2
4
  export type ConversationInteraction = {
3
5
  prompt: string;
4
6
  response: string;
@@ -1,5 +1,5 @@
1
1
  import fs from "fs-extra";
2
- import { withLock } from "./withLock.js";
2
+ import { withLock } from "lifecycle-utils";
3
3
  const emptyHistory = {
4
4
  history: []
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReplHistory.js","sourceRoot":"","sources":["../../src/utils/ReplHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReplHistory.js","sourceRoot":"","sources":["../../src/utils/ReplHistory.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export declare function cloneLlamaCppRepo(githubOwner: string, githubRepo: string, tag: string, useBundles?: boolean): Promise<void>;
2
+ export declare function getClonedLlamaCppRepoReleaseTag(): Promise<string | null>;
@@ -2,7 +2,7 @@ import simpleGit from "simple-git";
2
2
  import cliProgress from "cli-progress";
3
3
  import chalk from "chalk";
4
4
  import fs from "fs-extra";
5
- import { llamaCppDirectory } from "../config.js";
5
+ import { llamaCppDirectory, llamaCppDirectoryTagFilePath } from "../config.js";
6
6
  import { getGitBundlePathForRelease } from "./gitReleaseBundles.js";
7
7
  export async function cloneLlamaCppRepo(githubOwner, githubRepo, tag, useBundles = true) {
8
8
  const gitBundleForTag = !useBundles ? null : await getGitBundlePathForRelease(githubOwner, githubRepo, tag);
@@ -45,6 +45,7 @@ export async function cloneLlamaCppRepo(githubOwner, githubRepo, tag, useBundles
45
45
  }
46
46
  catch (err) {
47
47
  await fs.remove(llamaCppDirectory);
48
+ await fs.remove(llamaCppDirectoryTagFilePath);
48
49
  console.error("Failed to clone git bundle, cloning from GitHub instead", err);
49
50
  printCloneErrorHelp(String(err));
50
51
  }
@@ -62,6 +63,18 @@ export async function cloneLlamaCppRepo(githubOwner, githubRepo, tag, useBundles
62
63
  printCloneErrorHelp(String(err));
63
64
  throw err;
64
65
  }
66
+ try {
67
+ const clonedLlamaCppRepoTagJson = {
68
+ tag
69
+ };
70
+ await fs.writeJson(llamaCppDirectoryTagFilePath, clonedLlamaCppRepoTagJson, {
71
+ spaces: 4
72
+ });
73
+ }
74
+ catch (err) {
75
+ console.error("Failed to write llama.cpp tag file", err);
76
+ throw err;
77
+ }
65
78
  }
66
79
  function printCloneErrorHelp(error) {
67
80
  // This error happens with some docker images where the current user is different
@@ -74,4 +87,16 @@ function printCloneErrorHelp(error) {
74
87
  chalk.yellow("Or run this command to fix it everywhere:") + "\n" +
75
88
  'git config --global --add safe.directory "*"');
76
89
  }
90
+ export async function getClonedLlamaCppRepoReleaseTag() {
91
+ if (!(await fs.pathExists(llamaCppDirectoryTagFilePath)))
92
+ return null;
93
+ try {
94
+ const clonedLlamaCppRepoTagJson = await fs.readJson(llamaCppDirectoryTagFilePath);
95
+ return clonedLlamaCppRepoTagJson.tag;
96
+ }
97
+ catch (err) {
98
+ console.error("Failed to read llama.cpp tag file", err);
99
+ return null;
100
+ }
101
+ }
77
102
  //# sourceMappingURL=cloneLlamaCppRepo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloneLlamaCppRepo.js","sourceRoot":"","sources":["../../src/utils/cloneLlamaCppRepo.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAGlE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAAmB,EAAE,UAAkB,EAAE,GAAW,EAAE,aAAsB,IAAI;IACpH,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,0BAA0B,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5G,MAAM,YAAY,GAAG,sBAAsB,WAAW,IAAI,UAAU,MAAM,CAAC;IAE3E,KAAK,UAAU,oBAAoB,CAAI,SAAiB,EAAE,QAAyD;QAC/G,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC;YACpC,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;SACpI,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEvC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE;YACtB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,GAAG,WAAW,IAAI,UAAU,KAAK,SAAS,GAAG;SACtD,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,SAAS,CAAC;YACnC,QAAQ,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAC;gBACjC,MAAM,aAAa,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;gBAE7D,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YAChE,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI;YACA,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAEjD,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAExB,OAAO,GAAG,CAAC;SACd;gBAAS;YACN,WAAW,CAAC,IAAI,EAAE,CAAC;SACtB;IACL,CAAC;IAED,IAAI,eAAe,IAAI,IAAI,EAAE;QACzB,IAAI;YACA,MAAM,oBAAoB,CAAC,cAAc,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE;gBACtE,MAAM,oBAAoB,CAAC,KAAK,CAAC,eAAe,EAAE,iBAAiB,EAAE;oBACjE,SAAS,EAAE,IAAI;iBAClB,CAAC,CAAC;gBAEH,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,OAAO;SACV;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,GAAG,CAAC,CAAC;YAE9E,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC;KACJ;IAED,IAAI;QACA,MAAM,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE;YAChE,MAAM,oBAAoB,CAAC,KAAK,CAAC,YAAY,EAAE,iBAAiB,EAAE;gBAC9D,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;KACN;IAAC,OAAO,GAAG,EAAE;QACV,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjC,MAAM,GAAG,CAAC;KACb;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACtC,iFAAiF;IACjF,wDAAwD;IACxD,6EAA6E;IAC7E,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,IAAI;YACb,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,0FAA0F,CAAC,GAAG,IAAI;YAChJ,4CAA4C,GAAG,iBAAiB,GAAG,OAAO;YAC1E,KAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,GAAG,IAAI;YAChE,8CAA8C,CACjD,CAAC;AACV,CAAC"}
1
+ {"version":3,"file":"cloneLlamaCppRepo.js","sourceRoot":"","sources":["../../src/utils/cloneLlamaCppRepo.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,60 @@
1
+ import { Token } from "../types.js";
1
2
  export declare function getPrebuildBinPath(): Promise<string | null>;
2
- export declare function loadBin(): Promise<LlamaCppNodeModule>;
3
- export type LlamaCppNodeModule = {
4
- LLAMAModel: LLAMAModel;
5
- LLAMAContext: LLAMAContext;
6
- LLAMAGrammar: LLAMAGrammar;
7
- LLAMAGrammarEvaluationState: LLAMAGrammarEvaluationState;
3
+ export declare function loadBin(): Promise<BindingModule>;
4
+ export type BindingModule = {
5
+ AddonModel: {
6
+ new (modelPath: string, params: {
7
+ gpuLayers?: number;
8
+ vocabOnly?: boolean;
9
+ useMmap?: boolean;
10
+ useMlock?: boolean;
11
+ }): AddonModel;
12
+ };
13
+ AddonContext: {
14
+ new (model: AddonModel, params: {
15
+ seed?: number;
16
+ contextSize?: number;
17
+ batchSize?: number;
18
+ f16Kv?: boolean;
19
+ logitsAll?: boolean;
20
+ embedding?: boolean;
21
+ threads?: number;
22
+ }): AddonContext;
23
+ };
24
+ AddonGrammar: {
25
+ new (grammarPath: string, params?: {
26
+ printGrammar?: boolean;
27
+ }): AddonGrammar;
28
+ };
29
+ AddonGrammarEvaluationState: {
30
+ new (grammar: AddonGrammar): AddonGrammarEvaluationState;
31
+ };
8
32
  systemInfo(): string;
9
33
  };
10
- export type LLAMAModel = {
11
- new (modelPath: string, params: {
12
- gpuLayers?: number;
13
- vocabOnly?: boolean;
14
- useMmap?: boolean;
15
- useMlock?: boolean;
16
- }): LLAMAModel;
34
+ export type AddonModel = {
35
+ dispose(): void;
36
+ tokenize(text: string): Uint32Array;
37
+ detokenize(tokens: Uint32Array): string;
38
+ getTrainContextSize(): number;
39
+ getTotalSize(): number;
40
+ getTotalParameters(): number;
41
+ getModelDescription(): ModelTypeDescription;
42
+ tokenBos(): Token;
43
+ tokenEos(): Token;
44
+ tokenNl(): Token;
45
+ prefixToken(): Token;
46
+ middleToken(): Token;
47
+ suffixToken(): Token;
48
+ eotToken(): Token;
49
+ getTokenString(token: number): string;
17
50
  };
18
- export type LLAMAContext = {
19
- new (model: LLAMAModel, params: {
20
- seed?: number;
21
- contextSize?: number;
22
- batchSize?: number;
23
- f16Kv?: boolean;
24
- logitsAll?: boolean;
25
- embedding?: boolean;
26
- threads?: number;
27
- }): LLAMAContext;
28
- encode(text: string): Uint32Array;
29
- eval(tokens: Uint32Array, options?: {
51
+ export type AddonContext = {
52
+ dispose(): void;
53
+ getContextSize(): number;
54
+ initBatch(size: number): void;
55
+ addToBatch(sequenceId: number, firstTokenSequenceIndex: number, tokens: Uint32Array, generateLogitAtTheEnd: boolean): BatchLogitIndex | undefined;
56
+ decodeBatch(): Promise<void>;
57
+ sampleToken(batchLogitIndex: BatchLogitIndex, options?: {
30
58
  temperature?: number;
31
59
  topK?: number;
32
60
  topP?: number;
@@ -34,20 +62,24 @@ export type LLAMAContext = {
34
62
  repeatPenaltyTokens?: Uint32Array;
35
63
  repeatPenaltyPresencePenalty?: number;
36
64
  repeatPenaltyFrequencyPenalty?: number;
37
- grammarEvaluationState?: LLAMAGrammarEvaluationState;
38
- }): Promise<number>;
39
- decode(tokens: Uint32Array): string;
40
- tokenBos(): number;
41
- tokenEos(): number;
42
- tokenNl(): number;
43
- getContextSize(): number;
44
- getTokenString(token: number): string;
65
+ grammarEvaluationState?: AddonGrammarEvaluationState;
66
+ }): Promise<Token>;
67
+ disposeSequence(sequenceId: number): void;
68
+ removeTokenCellsFromSequence(sequenceId: number, startPos: number, endPos: number): void;
69
+ shiftSequenceTokenCells(sequenceId: number, startPos: number, endPos: number, shiftDelta: number): void;
70
+ };
71
+ export type BatchLogitIndex = number & {
72
+ __batchLogitIndex: never;
45
73
  };
46
- export type LLAMAGrammar = {
47
- new (grammarPath: string, params?: {
48
- printGrammar?: boolean;
49
- }): LLAMAGrammar;
74
+ export type AddonGrammar = "AddonGrammar" & {
75
+ __brand: never;
50
76
  };
51
- export type LLAMAGrammarEvaluationState = {
52
- new (grammar: LLAMAGrammar): LLAMAGrammarEvaluationState;
77
+ export type AddonGrammarEvaluationState = "AddonGrammarEvaluationState" & {
78
+ __brand: never;
53
79
  };
80
+ export type ModelTypeDescription = `${AddonModelArchName} ${AddonModelTypeName} ${AddonModelFileTypeName}`;
81
+ export type AddonModelArchName = "unknown" | "llama" | "falcon" | "gpt2" | "gptj" | "gptneox" | "mpt" | "baichuan" | "starcoder" | "persimmon" | "refact" | "bloom" | "stablelm";
82
+ export type AddonModelTypeName = "1B" | "3B" | "7B" | "8B" | "13B" | "15B" | "30B" | "34B" | "40B" | "65B" | "70B" | "?B";
83
+ export type AddonModelFileTypeName = _AddonModelFileTypeName | `${_AddonModelFileTypeName} (guessed)`;
84
+ type _AddonModelFileTypeName = "all F32" | "mostly F16" | "mostly Q4_0" | "mostly Q4_1" | "mostly Q4_1, some F16" | "mostly Q5_0" | "mostly Q5_1" | "mostly Q8_0" | "mostly Q2_K" | "mostly Q3_K - Small" | "mostly Q3_K - Medium" | "mostly Q3_K - Large" | "mostly Q4_K - Small" | "mostly Q4_K - Medium" | "mostly Q5_K - Small" | "mostly Q5_K - Medium" | "mostly Q6_K" | "unknown, may not work";
85
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"getBin.js","sourceRoot":"","sources":["../../src/utils/getBin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getBin.js","sourceRoot":"","sources":["../../src/utils/getBin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function getBuildDefaults(): Promise<{
2
+ repo: string;
3
+ release: string;
4
+ metalSupport: boolean;
5
+ cudaSupport: boolean;
6
+ }>;
@@ -0,0 +1,10 @@
1
+ import { defaultLlamaCppCudaSupport, defaultLlamaCppGitHubRepo, defaultLlamaCppMetalSupport, defaultLlamaCppRelease } from "../config.js";
2
+ export async function getBuildDefaults() {
3
+ return {
4
+ repo: defaultLlamaCppGitHubRepo,
5
+ release: defaultLlamaCppRelease,
6
+ metalSupport: defaultLlamaCppMetalSupport,
7
+ cudaSupport: defaultLlamaCppCudaSupport
8
+ };
9
+ }
10
+ //# sourceMappingURL=getBuildDefaults.js.map