node-llama-cpp 3.15.0 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/bindings/AddonTypes.d.ts +8 -1
  2. package/dist/bindings/Llama.js +5 -1
  3. package/dist/bindings/Llama.js.map +1 -1
  4. package/dist/bindings/getLlama.d.ts +1 -1
  5. package/dist/bindings/getLlama.js +1 -1
  6. package/dist/bindings/getLlama.js.map +1 -1
  7. package/dist/bindings/utils/testBindingBinary.js +2 -3
  8. package/dist/bindings/utils/testBindingBinary.js.map +1 -1
  9. package/dist/chatWrappers/generic/utils/extractFunctionCallSettingsFromJinjaTemplate.js +67 -8
  10. package/dist/chatWrappers/generic/utils/extractFunctionCallSettingsFromJinjaTemplate.js.map +1 -1
  11. package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js +2 -1
  12. package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js.map +1 -1
  13. package/dist/cli/commands/ChatCommand.d.ts +6 -0
  14. package/dist/cli/commands/ChatCommand.js +66 -3
  15. package/dist/cli/commands/ChatCommand.js.map +1 -1
  16. package/dist/cli/commands/CompleteCommand.d.ts +6 -0
  17. package/dist/cli/commands/CompleteCommand.js +66 -4
  18. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  19. package/dist/cli/commands/InfillCommand.d.ts +6 -0
  20. package/dist/cli/commands/InfillCommand.js +66 -4
  21. package/dist/cli/commands/InfillCommand.js.map +1 -1
  22. package/dist/cli/utils/parseXtcArg.d.ts +5 -0
  23. package/dist/cli/utils/parseXtcArg.js +16 -0
  24. package/dist/cli/utils/parseXtcArg.js.map +1 -0
  25. package/dist/config.d.ts +1 -0
  26. package/dist/config.js +3 -0
  27. package/dist/config.js.map +1 -1
  28. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +36 -1
  29. package/dist/evaluator/LlamaChat/LlamaChat.js +29 -10
  30. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  31. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +83 -2
  32. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +11 -5
  33. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  34. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.d.ts +2 -0
  35. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -1
  36. package/dist/evaluator/LlamaCompletion.d.ts +36 -3
  37. package/dist/evaluator/LlamaCompletion.js +7 -4
  38. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  39. package/dist/evaluator/LlamaContext/LlamaContext.js +67 -46
  40. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  41. package/dist/evaluator/LlamaContext/LlamaSampler.js +8 -0
  42. package/dist/evaluator/LlamaContext/LlamaSampler.js.map +1 -1
  43. package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.d.ts +1 -1
  44. package/dist/evaluator/LlamaContext/types.d.ts +115 -0
  45. package/dist/evaluator/LlamaModel/LlamaModel.d.ts +2 -2
  46. package/dist/evaluator/LlamaModel/LlamaModel.js +1 -14
  47. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
  48. package/dist/gguf/insights/GgufInsights.js +4 -0
  49. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  50. package/dist/gguf/types/GgufMetadataTypes.d.ts +5 -0
  51. package/dist/gguf/types/GgufMetadataTypes.js +5 -0
  52. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/dist/types.d.ts +51 -0
  55. package/dist/types.js.map +1 -1
  56. package/dist/utils/cmake.js +6 -3
  57. package/dist/utils/cmake.js.map +1 -1
  58. package/llama/CMakeLists.txt +1 -0
  59. package/llama/addon/AddonContext.cpp +19 -5
  60. package/llama/addon/AddonContext.h +1 -1
  61. package/llama/addon/AddonModel.cpp +7 -6
  62. package/llama/addon/AddonModelLora.cpp +1 -3
  63. package/llama/addon/AddonSampler.cpp +158 -0
  64. package/llama/addon/AddonSampler.h +13 -1
  65. package/llama/addon/globals/addonLog.cpp +5 -5
  66. package/llama/addon/globals/getGpuInfo.cpp +1 -1
  67. package/llama/binariesGithubRelease.json +1 -1
  68. package/llama/cmake/addVariantSuffix.cmake +1 -1
  69. package/llama/gitRelease.bundle +0 -0
  70. package/llama/gpuInfo/vulkan-gpu-info.cpp +12 -5
  71. package/llama/llama.cpp.info.json +1 -1
  72. package/package.json +63 -62
  73. package/templates/packed/electron-typescript-react.json +1 -1
  74. package/templates/packed/node-typescript.json +1 -1
@@ -18,6 +18,7 @@ import { withCliCommandDescriptionDocsUrl } from "../utils/withCliCommandDescrip
18
18
  import { documentationPageUrls } from "../../config.js";
19
19
  import { ConsoleInteraction, ConsoleInteractionKey } from "../utils/ConsoleInteraction.js";
20
20
  import { DraftSequenceTokenPredictor } from "../../evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js";
21
+ import { parseXtcArg } from "../utils/parseXtcArg.js";
21
22
  export const InfillCommand = {
22
23
  command: "infill [modelPath]",
23
24
  describe: withCliCommandDescriptionDocsUrl("Generate an infill completion for a given suffix and prefix texts", documentationPageUrls.CLI.Infill),
@@ -125,6 +126,11 @@ export const InfillCommand = {
125
126
  type: "number",
126
127
  description: "Used to control the randomness of the generated text. Only relevant when using `temperature`.",
127
128
  defaultDescription: "The current epoch time"
129
+ })
130
+ .option("xtc", {
131
+ type: "string",
132
+ description: "Exclude Top Choices (XTC) removes the top tokens from consideration and avoids more obvious and repetitive generations. `probability` (a number between `0` and `1`) controls the chance that the top tokens will be removed in the next token generation step, `threshold` (a number between `0` and `1`) controls the minimum probability of a token for it to be removed. Set this argument to `probability,threshold` to set both values. For example, `0.5,0.1`",
133
+ coerce: parseXtcArg
128
134
  })
129
135
  .option("gpuLayers", {
130
136
  alias: "gl",
@@ -160,6 +166,30 @@ export const InfillCommand = {
160
166
  alias: "rpp",
161
167
  type: "number",
162
168
  description: "Lower the probability of all the tokens in the `punishTokens` array by `repeatPresencePenalty`. Set to a value between `0` and `1` to enable."
169
+ })
170
+ .option("dryRepeatPenaltyStrength", {
171
+ alias: ["drps", "dryStrength"],
172
+ type: "number",
173
+ default: 0,
174
+ description: "The strength for DRY (Do Repeat Yourself) penalties. A number between `0` and `1`, where `0` means no DRY penalties, and `1` means full strength DRY penalties. The recommended value is `0.8`."
175
+ })
176
+ .option("dryRepeatPenaltyBase", {
177
+ alias: ["drpb", "dryBase"],
178
+ type: "number",
179
+ default: 1.75,
180
+ description: "The base value for the exponential penality calculation for DRY (Do Repeat Yourself) penalties. A higher value will lead to more aggressive penalization of repetitions."
181
+ })
182
+ .option("dryRepeatPenaltyAllowedLength", {
183
+ alias: ["drpal", "dryAllowedLength"],
184
+ type: "number",
185
+ default: 2,
186
+ description: "The maximum sequence length (in tokens) that DRY (Do Repeat Yourself) will allow to be repeated without being penalized. Repetitions shorter than or equal to this length will not be penalized."
187
+ })
188
+ .option("dryRepeatPenaltyLastTokens", {
189
+ alias: ["drplt", "dryLastTokens"],
190
+ type: "number",
191
+ default: -1,
192
+ description: "Number of recent tokens generated by the model for DRY (Do Repeat Yourself) to consider for sequence repetition matching. Set to `-1` to consider all tokens in the context sequence. Setting to `0` will disable DRY penalties."
163
193
  })
164
194
  .option("maxTokens", {
165
195
  alias: "mt",
@@ -223,12 +253,13 @@ export const InfillCommand = {
223
253
  description: "Print llama.cpp's internal timings after each response"
224
254
  });
225
255
  },
226
- async handler({ modelPath, header, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention, swaFullCache, threads, temperature, minP, topK, topP, seed, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, tokenPredictionDraftModel, tokenPredictionModelContextSize, debug, numa, meter, timing, noMmap, noDirectIo, printTimings }) {
256
+ async handler({ modelPath, header, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention, swaFullCache, threads, temperature, minP, topK, topP, seed, xtc, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, dryRepeatPenaltyStrength, dryRepeatPenaltyBase, dryRepeatPenaltyAllowedLength, dryRepeatPenaltyLastTokens, maxTokens, tokenPredictionDraftModel, tokenPredictionModelContextSize, debug, numa, meter, timing, noMmap, noDirectIo, printTimings }) {
227
257
  try {
228
258
  await RunInfill({
229
259
  modelPath, header, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention,
230
- swaFullCache, threads, temperature, minP, topK, topP, seed, gpuLayers, lastTokensRepeatPenalty,
231
- repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens,
260
+ swaFullCache, threads, temperature, minP, topK, topP, seed, xtc, gpuLayers, lastTokensRepeatPenalty,
261
+ repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, dryRepeatPenaltyStrength,
262
+ dryRepeatPenaltyBase, dryRepeatPenaltyAllowedLength, dryRepeatPenaltyLastTokens, maxTokens,
232
263
  tokenPredictionDraftModel, tokenPredictionModelContextSize, debug, numa, meter, timing, noMmap, noDirectIo, printTimings
233
264
  });
234
265
  }
@@ -239,7 +270,7 @@ export const InfillCommand = {
239
270
  }
240
271
  }
241
272
  };
242
- async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention, swaFullCache, threads, temperature, minP, topK, topP, seed, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, tokenPredictionDraftModel, tokenPredictionModelContextSize, maxTokens, debug, numa, meter, timing, noMmap, noDirectIo, printTimings }) {
273
+ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention, swaFullCache, threads, temperature, minP, topK, topP, seed, xtc, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, dryRepeatPenaltyStrength, dryRepeatPenaltyBase, dryRepeatPenaltyAllowedLength, dryRepeatPenaltyLastTokens, tokenPredictionDraftModel, tokenPredictionModelContextSize, maxTokens, debug, numa, meter, timing, noMmap, noDirectIo, printTimings }) {
243
274
  if (contextSize === -1)
244
275
  contextSize = undefined;
245
276
  if (gpuLayers === -1)
@@ -453,6 +484,28 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
453
484
  show: !penalizeRepeatingNewLine,
454
485
  title: "Penalize repeating new line",
455
486
  value: "disabled"
487
+ }, {
488
+ show: dryRepeatPenaltyStrength != null && dryRepeatPenaltyStrength !== 0,
489
+ title: "DRY strength",
490
+ value: String(dryRepeatPenaltyStrength) + " (apply to " + (dryRepeatPenaltyLastTokens === -1
491
+ ? "the entire context sequence"
492
+ : ("last " + dryRepeatPenaltyLastTokens + " tokens")) + ")"
493
+ }, {
494
+ show: dryRepeatPenaltyStrength != null && dryRepeatPenaltyStrength !== 0,
495
+ title: "DRY base",
496
+ value: String(dryRepeatPenaltyBase)
497
+ }, {
498
+ show: dryRepeatPenaltyStrength != null && dryRepeatPenaltyStrength !== 0,
499
+ title: "DRY allow length",
500
+ value: String(dryRepeatPenaltyAllowedLength)
501
+ }, {
502
+ show: xtc != null,
503
+ title: "XTC probability",
504
+ value: String(xtc?.probability)
505
+ }, {
506
+ show: xtc != null,
507
+ title: "XTC threshold",
508
+ value: String(xtc?.threshold)
456
509
  }, {
457
510
  show: timing,
458
511
  title: "Response timing",
@@ -520,6 +573,7 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
520
573
  topK,
521
574
  topP,
522
575
  seed: seed ?? undefined,
576
+ xtc,
523
577
  signal: abortController.signal,
524
578
  repeatPenalty: {
525
579
  penalty: repeatPenalty,
@@ -528,6 +582,14 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
528
582
  penalizeNewLine: penalizeRepeatingNewLine,
529
583
  lastTokens: lastTokensRepeatPenalty
530
584
  },
585
+ dryRepeatPenalty: dryRepeatPenaltyStrength == null ? undefined : {
586
+ strength: dryRepeatPenaltyStrength,
587
+ base: dryRepeatPenaltyBase,
588
+ allowedLength: dryRepeatPenaltyAllowedLength,
589
+ lastTokens: dryRepeatPenaltyLastTokens === -1
590
+ ? null
591
+ : dryRepeatPenaltyLastTokens
592
+ },
531
593
  maxTokens: maxTokens === -1
532
594
  ? context.contextSize
533
595
  : maxTokens <= 0
@@ -1 +1 @@
1
- {"version":3,"file":"InfillCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/InfillCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InfillCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/InfillCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function parseXtcArg(xtcString?: string): ParsedXtcArg | undefined;
2
+ export type ParsedXtcArg = {
3
+ probability: number;
4
+ threshold: number;
5
+ };
@@ -0,0 +1,16 @@
1
+ const xtcArgFormat = /^(\d+|\d*\.\d+),(\d*|\d?\.\d+)$/;
2
+ export function parseXtcArg(xtcString) {
3
+ if (xtcString == null || xtcString === "")
4
+ return undefined;
5
+ const match = xtcString.match(xtcArgFormat);
6
+ if (match != null && match[1] != null && match[2] != null) {
7
+ const probability = parseFloat(match[1]);
8
+ const threshold = parseFloat(match[2]);
9
+ if (probability >= 0 && probability <= 1 && threshold >= 0 && threshold <= 1) {
10
+ return { probability, threshold };
11
+ }
12
+ }
13
+ throw new Error(`Invalid xtc argument: ${xtcString}. ` +
14
+ 'Expected format: "probability,threshold" where probability and threshold are numbers between 0 and 1.');
15
+ }
16
+ //# sourceMappingURL=parseXtcArg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseXtcArg.js","sourceRoot":"","sources":["../../../src/cli/utils/parseXtcArg.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,iCAAiC,CAAC;AAEvD,MAAM,UAAU,WAAW,CAAC,SAAkB;IAC1C,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,EAAE;QACrC,OAAO,SAAS,CAAC;IAErB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CACX,yBAAyB,SAAS,IAAI;QACtC,uGAAuG,CAC1G,CAAC;AACN,CAAC"}
package/dist/config.d.ts CHANGED
@@ -32,6 +32,7 @@ export declare const defaultLlamaCppGpuSupport: false | "metal" | "cuda" | "vulk
32
32
  export declare const defaultLlamaCppLogLevel: LlamaLogLevel;
33
33
  export declare const defaultLlamaCppDebugMode: boolean;
34
34
  export declare const defaultSkipDownload: boolean;
35
+ export declare const defaultBindingTestLogLevel: LlamaLogLevel;
35
36
  export declare const defaultXpacksStoreDirectory: string;
36
37
  export declare const defaultXpacksCacheDirectory: string;
37
38
  export declare const customCmakeOptionsEnvVarPrefix = "NODE_LLAMA_CPP_CMAKE_OPTION_";
package/dist/config.js CHANGED
@@ -60,6 +60,9 @@ export const defaultLlamaCppDebugMode = env.get("NODE_LLAMA_CPP_DEBUG")
60
60
  export const defaultSkipDownload = env.get("NODE_LLAMA_CPP_SKIP_DOWNLOAD")
61
61
  .default("false")
62
62
  .asBool();
63
+ export const defaultBindingTestLogLevel = env.get("NODE_LLAMA_CPP_BINDING_TEST_LOG_LEVEL")
64
+ .default(LlamaLogLevel.error)
65
+ .asEnum(LlamaLogLevelValues);
63
66
  export const defaultXpacksStoreDirectory = env.get("NODE_LLAMA_CPP_XPACKS_STORE_FOLDER")
64
67
  .default(localXpacksStoreDirectory)
65
68
  .asString();
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { EventRelay } from "lifecycle-utils";
2
2
  import { ChatWrapper } from "../../ChatWrapper.js";
3
3
  import { LlamaContextSequence } from "../LlamaContext/LlamaContext.js";
4
- import { ChatHistoryItem, ChatModelFunctions, ChatModelSegmentType, LLamaContextualRepeatPenalty, Token, Tokenizer } from "../../types.js";
4
+ import { ChatHistoryItem, ChatModelFunctions, ChatModelSegmentType, LLamaContextualRepeatPenalty, Token, Tokenizer, LLamaContextualDryRepeatPenalty } from "../../types.js";
5
5
  import { GbnfJsonSchemaToType } from "../../utils/gbnfJson/types.js";
6
6
  import { LlamaGrammar } from "../LlamaGrammar.js";
7
7
  import { LlamaText, LlamaTextJSON } from "../../utils/LlamaText.js";
@@ -191,6 +191,28 @@ export type LLamaChatGenerateResponseOptions<Functions extends ChatModelFunction
191
191
  * Only relevant when using `temperature`.
192
192
  */
193
193
  seed?: number;
194
+ /**
195
+ * Exclude Top Choices (XTC) removes the top tokens from consideration and avoids more obvious and repetitive generations.
196
+ * Using it leads to more creative responses, but also to increased hallucinations.
197
+ *
198
+ * The `probability` value controls the chance that the top tokens will be removed in the next token generation step.
199
+ * The `threshold` value control the minimum probability of a token for it to be removed.
200
+ *
201
+ * Start with `{probability: 0.5, threshold: 0.1}` and adjust from there.
202
+ *
203
+ * Disabled by default.
204
+ */
205
+ xtc?: {
206
+ /**
207
+ * A number between `0` and `1` representing the probability of applying Exclude Top Choices (XTC) at each token generation step.
208
+ */
209
+ probability: number;
210
+ /**
211
+ * A number between `0` and `1` representing the minimum probability
212
+ * of a token for it to be removed when applying Exclude Top Choices (XTC).
213
+ */
214
+ threshold: number;
215
+ };
194
216
  /**
195
217
  * Trim whitespace from the end of the generated text
196
218
  *
@@ -198,6 +220,17 @@ export type LLamaChatGenerateResponseOptions<Functions extends ChatModelFunction
198
220
  */
199
221
  trimWhitespaceSuffix?: boolean;
200
222
  repeatPenalty?: false | LLamaContextualRepeatPenalty;
223
+ /**
224
+ * DRY (Don't Repeat Yourself) penalty is a technique to reduce repetitions in the generated text
225
+ * by penalizing tokens based on recent token usage patterns.
226
+ *
227
+ * With the right parameters choice, it makes it impossible for the model to
228
+ * repeat itself verbatim with the same tokens in the same order (the model can still repeat itself by
229
+ * using different tokens or by paraphrasing, but that is far less of an issue than a broken-record looping).
230
+ *
231
+ * Disabled by default.
232
+ */
233
+ dryRepeatPenalty?: LLamaContextualDryRepeatPenalty;
201
234
  /**
202
235
  * Adjust the probability of tokens being generated.
203
236
  * Can be used to bias the model to generate tokens that you want it to lean towards,
@@ -321,8 +354,10 @@ export type LLamaChatLoadAndCompleteUserMessageOptions<Functions extends ChatMod
321
354
  topK?: LLamaChatGenerateResponseOptions<Functions>["topK"];
322
355
  topP?: LLamaChatGenerateResponseOptions<Functions>["topP"];
323
356
  seed?: LLamaChatGenerateResponseOptions<Functions>["seed"];
357
+ xtc?: LLamaChatGenerateResponseOptions<Functions>["xtc"];
324
358
  trimWhitespaceSuffix?: LLamaChatGenerateResponseOptions<Functions>["trimWhitespaceSuffix"];
325
359
  repeatPenalty?: LLamaChatGenerateResponseOptions<Functions>["repeatPenalty"];
360
+ dryRepeatPenalty?: LLamaChatGenerateResponseOptions<Functions>["dryRepeatPenalty"];
326
361
  tokenBias?: LLamaChatGenerateResponseOptions<Functions>["tokenBias"];
327
362
  evaluationPriority?: LLamaChatGenerateResponseOptions<Functions>["evaluationPriority"];
328
363
  contextShift?: LLamaChatGenerateResponseOptions<Functions>["contextShift"];
@@ -80,7 +80,7 @@ export class LlamaChat {
80
80
  return this.sequence.model;
81
81
  }
82
82
  async generateResponse(history, options = {}) {
83
- const { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, budgets, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, abortOnNonText = false, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = options;
83
+ const { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, budgets, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, xtc, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, dryRepeatPenalty, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, abortOnNonText = false, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = options;
84
84
  this.sequence.tokenPredictor?.updateInputTokens?.(this.model.tokenize(findLastUserMessageInChatHistory(history)?.text ?? ""));
85
85
  const generateResponseState = new GenerateResponseState(this, this._chatWrapper, history, {
86
86
  onTextChunk,
@@ -96,9 +96,11 @@ export class LlamaChat {
96
96
  topK,
97
97
  topP,
98
98
  seed,
99
+ xtc,
99
100
  grammar: grammar, // this is a workaround to allow passing both `functions` and `grammar`
100
101
  trimWhitespaceSuffix,
101
102
  repeatPenalty,
103
+ dryRepeatPenalty,
102
104
  tokenBias,
103
105
  evaluationPriority,
104
106
  functions,
@@ -202,7 +204,7 @@ export class LlamaChat {
202
204
  });
203
205
  }
204
206
  async loadChatAndCompleteUserMessage(history, options = {}) {
205
- const { initialUserPrompt = "", stopOnAbortSignal = false, onTextChunk, onToken, signal, maxTokens = defaultMaxPreloadTokens(this.sequence), temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, documentFunctionParams, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.8 } = {} } = options;
207
+ const { initialUserPrompt = "", stopOnAbortSignal = false, onTextChunk, onToken, signal, maxTokens = defaultMaxPreloadTokens(this.sequence), temperature, minP, topK, topP, seed, xtc, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, dryRepeatPenalty, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, documentFunctionParams, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.8 } = {} } = options;
206
208
  this.sequence.tokenPredictor?.updateInputTokens?.(this.model.tokenize((findLastModelMessageInChatHistory(history)?.response ?? [])
207
209
  .map((item) => {
208
210
  if (typeof item === "string")
@@ -227,9 +229,11 @@ export class LlamaChat {
227
229
  topK,
228
230
  topP,
229
231
  seed,
232
+ xtc,
230
233
  grammar: grammar, // this is a workaround to allow passing both `functions` and `grammar`
231
234
  trimWhitespaceSuffix,
232
235
  repeatPenalty,
236
+ dryRepeatPenalty,
233
237
  tokenBias,
234
238
  evaluationPriority,
235
239
  functions,
@@ -721,6 +725,7 @@ class GenerateResponseState {
721
725
  topK;
722
726
  topP;
723
727
  seed;
728
+ xtc;
724
729
  grammar;
725
730
  trimWhitespaceSuffix;
726
731
  tokenBias;
@@ -737,6 +742,7 @@ class GenerateResponseState {
737
742
  repeatPenaltyEnabled;
738
743
  resolvedContextShift;
739
744
  resolvedRepeatPenalty;
745
+ dryRepeatPenalty;
740
746
  grammarEvaluationState;
741
747
  functionNameGrammar;
742
748
  functionsGrammar;
@@ -798,7 +804,7 @@ class GenerateResponseState {
798
804
  currentTokens = [];
799
805
  currentText = "";
800
806
  currentQueuedTokenRelease;
801
- constructor(llamaChat, chatWrapper, history, { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, budgets, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, abortOnNonText, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = {}) {
807
+ constructor(llamaChat, chatWrapper, history, { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, budgets, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, xtc, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, dryRepeatPenalty, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, abortOnNonText, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = {}) {
802
808
  this.llamaChat = llamaChat;
803
809
  this.chatWrapper = chatWrapper;
804
810
  this.history = history;
@@ -815,6 +821,7 @@ class GenerateResponseState {
815
821
  this.topK = topK;
816
822
  this.topP = topP;
817
823
  this.seed = seed;
824
+ this.xtc = xtc;
818
825
  this.grammar = grammar;
819
826
  this.trimWhitespaceSuffix = trimWhitespaceSuffix;
820
827
  this.tokenBias = tokenBias;
@@ -847,6 +854,7 @@ class GenerateResponseState {
847
854
  lastTokens: repeatPenalty?.lastTokens ?? defaultRepeatPenaltyLastTokens
848
855
  };
849
856
  this.repeatPenaltyEnabled = this.resolvedRepeatPenalty.lastTokens > 0;
857
+ this.dryRepeatPenalty = dryRepeatPenalty;
850
858
  this.grammarEvaluationState = this.grammar != null
851
859
  ? new LlamaGrammarEvaluationState({ model: this.llamaChat.model, grammar: this.grammar })
852
860
  : undefined;
@@ -863,11 +871,16 @@ class GenerateResponseState {
863
871
  if (this.grammar != null)
864
872
  StopGenerationDetector.resolveStopTriggers(this.grammar.stopGenerationTriggers, this.llamaChat.model.tokenizer)
865
873
  .map((stopTrigger) => this.stopGenerationDetector.addStopTrigger(stopTrigger));
866
- if (this.functions != null && Object.keys(this.functions).length > 0 && !this.abortOnNonText)
867
- this.functionSyntaxStartDetector.addStopTrigger(StopGenerationDetector.resolveLlamaTextTrigger(LlamaText([
874
+ if (this.functions != null && Object.keys(this.functions).length > 0 && !this.abortOnNonText) {
875
+ for (const sectionPrefix of [
868
876
  this.chatWrapper.settings.functions?.parallelism?.call?.sectionPrefix ?? "",
869
- this.chatWrapper.settings.functions.call.prefix
870
- ]), this.llamaChat.model.tokenizer));
877
+ ...(this.chatWrapper.settings.functions?.parallelism?.call.sectionPrefixAlternateMatches ?? [])
878
+ ])
879
+ this.functionSyntaxStartDetector.addStopTrigger(StopGenerationDetector.resolveLlamaTextTrigger(LlamaText([
880
+ sectionPrefix,
881
+ this.chatWrapper.settings.functions.call.prefix
882
+ ]), this.llamaChat.model.tokenizer));
883
+ }
871
884
  const segmentDefinitions = new Map();
872
885
  for (const segmentType of allSegmentTypes) {
873
886
  const segmentDefinition = getChatWrapperSegmentDefinition(this.chatWrapper.settings, segmentType);
@@ -889,10 +902,14 @@ class GenerateResponseState {
889
902
  : SegmentHandler.getSegmentTokenCounts(lastModelMessageFullResponse, this.llamaChat.model.tokenizer)
890
903
  });
891
904
  if (this.abortOnNonText) {
892
- this.stopGenerationDetector.addStopTrigger(StopGenerationDetector.resolveLlamaTextTrigger(LlamaText([
905
+ for (const sectionPrefix of [
893
906
  this.chatWrapper.settings.functions?.parallelism?.call?.sectionPrefix ?? "",
894
- this.chatWrapper.settings.functions.call.prefix
895
- ]), this.llamaChat.model.tokenizer));
907
+ ...(this.chatWrapper.settings.functions?.parallelism?.call.sectionPrefixAlternateMatches ?? [])
908
+ ])
909
+ this.stopGenerationDetector.addStopTrigger(StopGenerationDetector.resolveLlamaTextTrigger(LlamaText([
910
+ sectionPrefix,
911
+ this.chatWrapper.settings.functions.call.prefix
912
+ ]), this.llamaChat.model.tokenizer));
896
913
  for (const segmentType of allSegmentTypes) {
897
914
  const segmentDefinition = getChatWrapperSegmentDefinition(this.chatWrapper.settings, segmentType);
898
915
  if (segmentDefinition != null)
@@ -1765,6 +1782,7 @@ class GenerateResponseState {
1765
1782
  topK: this.topK,
1766
1783
  topP: this.topP,
1767
1784
  seed: this.seed,
1785
+ xtc: this.xtc,
1768
1786
  grammarEvaluationState: () => {
1769
1787
  if (this.functionEvaluationMode !== false)
1770
1788
  return this.functionsEvaluationState;
@@ -1777,6 +1795,7 @@ class GenerateResponseState {
1777
1795
  frequencyPenalty: this.resolvedRepeatPenalty.frequencyPenalty,
1778
1796
  presencePenalty: this.resolvedRepeatPenalty.presencePenalty
1779
1797
  },
1798
+ dryRepeatPenalty: this.dryRepeatPenalty,
1780
1799
  tokenBias: this.tokenBias,
1781
1800
  evaluationPriority: this.evaluationPriority,
1782
1801
  yieldEogToken: true