node-llama-cpp 3.0.0-beta.16 → 3.0.0-beta.18

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 (173) hide show
  1. package/README.md +8 -5
  2. package/dist/ChatWrapper.d.ts +1 -15
  3. package/dist/ChatWrapper.js +22 -32
  4. package/dist/ChatWrapper.js.map +1 -1
  5. package/dist/apiDocsOverrides.d.ts +1 -0
  6. package/dist/apiDocsOverrides.js +5 -0
  7. package/dist/apiDocsOverrides.js.map +1 -0
  8. package/dist/bindings/AddonTypes.d.ts +4 -1
  9. package/dist/bindings/getLlama.d.ts +5 -1
  10. package/dist/bindings/getLlama.js +11 -4
  11. package/dist/bindings/getLlama.js.map +1 -1
  12. package/dist/bindings/utils/hasBuildingFromSourceDependenciesInstalled.d.ts +3 -0
  13. package/dist/bindings/utils/hasBuildingFromSourceDependenciesInstalled.js +27 -0
  14. package/dist/bindings/utils/hasBuildingFromSourceDependenciesInstalled.js.map +1 -0
  15. package/dist/chatWrappers/FunctionaryChatWrapper.js +39 -40
  16. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
  17. package/dist/chatWrappers/{LlamaChatWrapper.d.ts → Llama2ChatWrapper.d.ts} +1 -1
  18. package/dist/chatWrappers/{LlamaChatWrapper.js → Llama2ChatWrapper.js} +3 -3
  19. package/dist/chatWrappers/Llama2ChatWrapper.js.map +1 -0
  20. package/dist/chatWrappers/Llama3ChatWrapper.d.ts +31 -0
  21. package/dist/chatWrappers/Llama3ChatWrapper.js +129 -0
  22. package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -0
  23. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +2 -2
  24. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +6 -2
  25. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
  26. package/dist/chatWrappers/generic/TemplateChatWrapper.d.ts +3 -4
  27. package/dist/chatWrappers/generic/TemplateChatWrapper.js +1 -2
  28. package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -1
  29. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.d.ts +42 -0
  30. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js +82 -0
  31. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js.map +1 -0
  32. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +3 -3
  33. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -1
  34. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +6 -4
  35. package/dist/chatWrappers/utils/resolveChatWrapper.js +23 -17
  36. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  37. package/dist/cli/cli.js +5 -3
  38. package/dist/cli/cli.js.map +1 -1
  39. package/dist/cli/commands/ChatCommand.d.ts +2 -0
  40. package/dist/cli/commands/ChatCommand.js +26 -9
  41. package/dist/cli/commands/ChatCommand.js.map +1 -1
  42. package/dist/cli/commands/CompleteCommand.d.ts +2 -0
  43. package/dist/cli/commands/CompleteCommand.js +24 -7
  44. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  45. package/dist/cli/commands/DebugCommand.js +3 -5
  46. package/dist/cli/commands/DebugCommand.js.map +1 -1
  47. package/dist/cli/commands/DownloadCommand.d.ts +1 -1
  48. package/dist/cli/commands/DownloadCommand.js +2 -1
  49. package/dist/cli/commands/DownloadCommand.js.map +1 -1
  50. package/dist/cli/commands/InfillCommand.d.ts +2 -0
  51. package/dist/cli/commands/InfillCommand.js +24 -7
  52. package/dist/cli/commands/InfillCommand.js.map +1 -1
  53. package/dist/cli/commands/PullCommand.d.ts +12 -0
  54. package/dist/cli/commands/PullCommand.js +109 -0
  55. package/dist/cli/commands/PullCommand.js.map +1 -0
  56. package/dist/cli/commands/inspect/commands/InspectGgufCommand.d.ts +1 -0
  57. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +23 -11
  58. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  59. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +2 -0
  60. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +43 -11
  61. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  62. package/dist/cli/recommendedModels.js +61 -0
  63. package/dist/cli/recommendedModels.js.map +1 -1
  64. package/dist/cli/utils/printCommonInfoLines.js +4 -3
  65. package/dist/cli/utils/printCommonInfoLines.js.map +1 -1
  66. package/dist/cli/utils/resolveCommandGgufPath.d.ts +3 -1
  67. package/dist/cli/utils/resolveCommandGgufPath.js +44 -39
  68. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
  69. package/dist/cli/utils/resolveModelRecommendationFileOptions.d.ts +1 -1
  70. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +18 -2
  71. package/dist/evaluator/LlamaChat/LlamaChat.js +271 -186
  72. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  73. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js +3 -1
  74. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js.map +1 -1
  75. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +22 -3
  76. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +18 -7
  77. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  78. package/dist/evaluator/LlamaCompletion.d.ts +2 -2
  79. package/dist/evaluator/LlamaCompletion.js +11 -13
  80. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  81. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +6 -11
  82. package/dist/evaluator/LlamaContext/LlamaContext.js +23 -16
  83. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  84. package/dist/evaluator/LlamaEmbeddingContext.d.ts +2 -10
  85. package/dist/evaluator/LlamaEmbeddingContext.js +10 -24
  86. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  87. package/dist/evaluator/LlamaGrammar.d.ts +1 -1
  88. package/dist/evaluator/LlamaModel.d.ts +23 -3
  89. package/dist/evaluator/LlamaModel.js +32 -5
  90. package/dist/evaluator/LlamaModel.js.map +1 -1
  91. package/dist/evaluator/TokenBias.d.ts +1 -1
  92. package/dist/evaluator/TokenBias.js +3 -3
  93. package/dist/evaluator/TokenBias.js.map +1 -1
  94. package/dist/gguf/insights/GgufInsights.js +12 -12
  95. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  96. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js +27 -3
  97. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -1
  98. package/dist/gguf/parser/parseGguf.js +5 -0
  99. package/dist/gguf/parser/parseGguf.js.map +1 -1
  100. package/dist/gguf/readGgufFileInfo.d.ts +5 -2
  101. package/dist/gguf/readGgufFileInfo.js +38 -10
  102. package/dist/gguf/readGgufFileInfo.js.map +1 -1
  103. package/dist/gguf/types/GgufFileInfoTypes.d.ts +32 -0
  104. package/dist/gguf/types/GgufFileInfoTypes.js.map +1 -1
  105. package/dist/gguf/types/GgufMetadataTypes.d.ts +4 -0
  106. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  107. package/dist/gguf/utils/getGgufMetadataArchitectureData.js +1 -1
  108. package/dist/gguf/utils/getGgufMetadataArchitectureData.js.map +1 -1
  109. package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.d.ts +2 -0
  110. package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js +39 -0
  111. package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js.map +1 -0
  112. package/dist/gguf/utils/resolveSplitGgufParts.d.ts +7 -0
  113. package/dist/gguf/utils/resolveSplitGgufParts.js +55 -0
  114. package/dist/gguf/utils/resolveSplitGgufParts.js.map +1 -0
  115. package/dist/index.d.ts +9 -5
  116. package/dist/index.js +7 -3
  117. package/dist/index.js.map +1 -1
  118. package/dist/types.d.ts +21 -1
  119. package/dist/types.js.map +1 -1
  120. package/dist/utils/LlamaText.d.ts +31 -21
  121. package/dist/utils/LlamaText.js +253 -223
  122. package/dist/utils/LlamaText.js.map +1 -1
  123. package/dist/utils/StopGenerationDetector.d.ts +1 -1
  124. package/dist/utils/StopGenerationDetector.js +21 -18
  125. package/dist/utils/StopGenerationDetector.js.map +1 -1
  126. package/dist/utils/TokenStreamRegulator.d.ts +4 -2
  127. package/dist/utils/TokenStreamRegulator.js +22 -4
  128. package/dist/utils/TokenStreamRegulator.js.map +1 -1
  129. package/dist/utils/createModelDownloader.d.ts +99 -0
  130. package/dist/utils/createModelDownloader.js +226 -0
  131. package/dist/utils/createModelDownloader.js.map +1 -0
  132. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +18 -8
  133. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -1
  134. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +15 -11
  135. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -1
  136. package/dist/utils/parseTextTemplate.d.ts +2 -2
  137. package/dist/utils/parseTextTemplate.js +2 -2
  138. package/dist/utils/runtime.d.ts +4 -0
  139. package/dist/utils/runtime.js +8 -0
  140. package/dist/utils/runtime.js.map +1 -0
  141. package/dist/utils/utilTypes.d.ts +3 -0
  142. package/dist/utils/utilTypes.js +2 -0
  143. package/dist/utils/utilTypes.js.map +1 -0
  144. package/llama/addon.cpp +67 -14
  145. package/llama/binariesGithubRelease.json +1 -1
  146. package/llama/gitRelease.bundle +0 -0
  147. package/llama/grammars/README.md +1 -1
  148. package/llama/llama.cpp.info.json +1 -1
  149. package/llamaBins/linux-arm64/_nlcBuildMetadata.json +1 -1
  150. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  151. package/llamaBins/linux-armv7l/_nlcBuildMetadata.json +1 -1
  152. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  153. package/llamaBins/linux-x64/_nlcBuildMetadata.json +1 -1
  154. package/llamaBins/linux-x64/llama-addon.node +0 -0
  155. package/llamaBins/linux-x64-cuda/_nlcBuildMetadata.json +1 -1
  156. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  157. package/llamaBins/linux-x64-vulkan/_nlcBuildMetadata.json +1 -1
  158. package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
  159. package/llamaBins/mac-arm64-metal/_nlcBuildMetadata.json +1 -1
  160. package/llamaBins/mac-arm64-metal/default.metallib +0 -0
  161. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  162. package/llamaBins/mac-x64/_nlcBuildMetadata.json +1 -1
  163. package/llamaBins/mac-x64/llama-addon.node +0 -0
  164. package/llamaBins/win-arm64/_nlcBuildMetadata.json +1 -1
  165. package/llamaBins/win-arm64/llama-addon.node +0 -0
  166. package/llamaBins/win-x64/_nlcBuildMetadata.json +1 -1
  167. package/llamaBins/win-x64/llama-addon.node +0 -0
  168. package/llamaBins/win-x64-cuda/_nlcBuildMetadata.json +1 -1
  169. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  170. package/llamaBins/win-x64-vulkan/_nlcBuildMetadata.json +1 -1
  171. package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
  172. package/package.json +9 -5
  173. package/dist/chatWrappers/LlamaChatWrapper.js.map +0 -1
@@ -107,9 +107,9 @@ export class LlamaContext {
107
107
  /**
108
108
  * Before calling this method, make sure to call `sequencesLeft` to check if there are any sequences left.
109
109
  * When there are no sequences left, this method will throw an error.
110
- * @param [options]
111
110
  */
112
- getSequence({ contextShift: { size: contextShiftSize = Math.min(100, Math.ceil(this.contextSize / 2)), strategy: contextShiftStrategy = "eraseBeginning" } = {}, _tokenMeter } = {}) {
111
+ getSequence(options = {}) {
112
+ const { contextShift: { size: contextShiftSize = Math.min(100, Math.ceil(this.contextSize / 2)), strategy: contextShiftStrategy = "eraseBeginning" } = {}, _tokenMeter } = options;
113
113
  this._ensureNotDisposed();
114
114
  const nextSequenceId = this._popSequenceId();
115
115
  if (nextSequenceId == null)
@@ -335,6 +335,10 @@ export class LlamaContext {
335
335
  this._ctx.acceptGrammarEvaluationStateToken(grammarEvaluationState._state, token);
336
336
  }
337
337
  /** @internal */
338
+ _canBeNextTokenForGrammarEvaluationState(grammarEvaluationState, token) {
339
+ return this._ctx.canBeNextTokenForGrammarEvaluationState(grammarEvaluationState._state, token);
340
+ }
341
+ /** @internal */
338
342
  _popSequenceId() {
339
343
  if (this._unusedSequenceIds.length > 0)
340
344
  return this._unusedSequenceIds.shift();
@@ -563,11 +567,8 @@ export class LlamaContextSequence {
563
567
  await this.evaluateWithoutGeneratingNewTokens(newSequenceTokens);
564
568
  });
565
569
  }
566
- /**
567
- * @param tokens
568
- * @param [options]
569
- */
570
- evaluate(tokens, { temperature = 0, minP = 0, topK = 40, topP = 0.95, grammarEvaluationState, repeatPenalty, tokenBias, evaluationPriority = 5, contextShift: { size: contextShiftSize = this._contextShift.size, strategy: contextShiftStrategy = this._contextShift.strategy } = {}, yieldEosToken = false } = {}) {
570
+ evaluate(tokens, options = {}) {
571
+ const { temperature = 0, minP = 0, topK = 40, topP = 0.95, grammarEvaluationState, repeatPenalty, tokenBias, evaluationPriority = 5, contextShift: { size: contextShiftSize = this._contextShift.size, strategy: contextShiftStrategy = this._contextShift.strategy } = {}, yieldEogToken = false, _noSampling = false } = options;
571
572
  return this._evaluate(tokens, {
572
573
  temperature,
573
574
  minP,
@@ -581,7 +582,8 @@ export class LlamaContextSequence {
581
582
  size: contextShiftSize,
582
583
  strategy: contextShiftStrategy
583
584
  },
584
- yieldEosToken
585
+ yieldEogToken,
586
+ _noSampling
585
587
  });
586
588
  }
587
589
  /**
@@ -604,7 +606,7 @@ export class LlamaContextSequence {
604
606
  }
605
607
  }
606
608
  /** @internal */
607
- async *_evaluate(tokens, { temperature = 0, minP = 0, topK = 40, topP = 0.95, grammarEvaluationState, repeatPenalty, tokenBias, evaluationPriority = 5, generateNewTokens = true, contextShiftOptions, yieldEosToken = false }) {
609
+ async *_evaluate(tokens, { temperature = 0, minP = 0, topK = 40, topP = 0.95, grammarEvaluationState, repeatPenalty, tokenBias, evaluationPriority = 5, generateNewTokens = true, contextShiftOptions, yieldEogToken = false, _noSampling = false }) {
608
610
  this._ensureNotDisposed();
609
611
  let evalTokens = tokens;
610
612
  if (evalTokens.length === 0)
@@ -614,6 +616,8 @@ export class LlamaContextSequence {
614
616
  this._ensureNotDisposed();
615
617
  // Evaluate to get the next token.
616
618
  const nextToken = await this._decodeTokens(evalTokens, generateNewTokens, evaluationPriority, this._tokenMeter, contextShiftOptions, (batchLogitIndex) => {
619
+ if (_noSampling)
620
+ return null;
617
621
  const repeatPenaltyTokens = repeatPenalty?.punishTokens instanceof Function
618
622
  ? repeatPenalty.punishTokens()
619
623
  : repeatPenalty?.punishTokens;
@@ -642,11 +646,14 @@ export class LlamaContextSequence {
642
646
  if (nextToken == null)
643
647
  return;
644
648
  // the model finished generating text
645
- if (!yieldEosToken && nextToken === this._context.model.tokens.eos)
649
+ if (!yieldEogToken && this._context.model.isEogToken(nextToken))
646
650
  break;
647
- yield nextToken;
648
- // Create tokens for the next eval.
649
- evalTokens = [nextToken];
651
+ const replacementToken = (yield nextToken);
652
+ // set the tokens for the next evaluation
653
+ if (replacementToken != null)
654
+ evalTokens = [replacementToken];
655
+ else
656
+ evalTokens = [nextToken];
650
657
  }
651
658
  }
652
659
  /** @internal */
@@ -656,10 +663,10 @@ export class LlamaContextSequence {
656
663
  return await withLock(this, "evaluate", async () => {
657
664
  while (tokensLeftToDecode.length > 0) {
658
665
  this._ensureNotDisposed();
659
- let freeSpace = this._context.contextSize - this._nextTokenIndex;
666
+ let freeSpace = this._context.contextSize - 1 - this._nextTokenIndex;
660
667
  if (freeSpace <= 1) {
661
668
  await this._freeUpSpaceForTokens(contextShiftOptions);
662
- freeSpace = this._context.contextSize - this._nextTokenIndex;
669
+ freeSpace = this._context.contextSize - 1 - this._nextTokenIndex;
663
670
  if (freeSpace <= 1)
664
671
  throw new Error("Failed to free up space for new tokens");
665
672
  }
@@ -705,7 +712,7 @@ export class LlamaContextSequence {
705
712
  if (ranges == null)
706
713
  throw new Error("Invalid delete ranges");
707
714
  await this.eraseContextTokenRanges(ranges);
708
- if (this.nextTokenIndex >= this._context.contextSize)
715
+ if (this.nextTokenIndex >= this._context.contextSize - 1)
709
716
  await this.eraseContextTokenRanges([{ start: 0, end: size }]);
710
717
  }
711
718
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LlamaContext.js","sourceRoot":"","sources":["../../../src/evaluator/LlamaContext/LlamaContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlamaContext.js","sourceRoot":"","sources":["../../../src/evaluator/LlamaContext/LlamaContext.ts"],"names":[],"mappings":"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"}
@@ -45,15 +45,7 @@ export declare class LlamaEmbeddingContext {
45
45
  [Symbol.asyncDispose](): Promise<void>;
46
46
  get disposed(): boolean;
47
47
  }
48
- export type LlamaEmbeddingJSON = {
49
- type: "LlamaEmbedding";
48
+ export type LlamaEmbedding = {
49
+ type: "embedding";
50
50
  vector: number[];
51
51
  };
52
- export declare class LlamaEmbedding {
53
- readonly vector: number[];
54
- constructor({ vector }: {
55
- vector: number[];
56
- });
57
- toJSON(): LlamaEmbeddingJSON;
58
- static fromJSON(json: LlamaEmbeddingJSON): LlamaEmbedding;
59
- }
@@ -17,25 +17,31 @@ export class LlamaEmbeddingContext {
17
17
  });
18
18
  }
19
19
  async getEmbeddingFor(input) {
20
- const resolvedInput = tokenizeInput(input, this._llamaContext.model.tokenize);
20
+ const resolvedInput = tokenizeInput(input, this._llamaContext.model.tokenizer);
21
21
  if (resolvedInput.length > this._llamaContext.contextSize)
22
22
  throw new Error("Input is longer than the context size. " +
23
23
  "Try to increase the context size or use another model that supports longer contexts.");
24
24
  else if (resolvedInput.length === 0)
25
- return new LlamaEmbedding({ vector: [] });
25
+ return {
26
+ type: "embedding",
27
+ vector: []
28
+ };
26
29
  return await withLock(this, "evaluate", async () => {
27
30
  await this._sequence.eraseContextTokenRanges([{
28
31
  start: 0,
29
32
  end: this._sequence.nextTokenIndex
30
33
  }]);
31
- const iterator = this._sequence.evaluate(resolvedInput);
34
+ const iterator = this._sequence.evaluate(resolvedInput, { _noSampling: true });
32
35
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
36
  for await (const token of iterator) {
34
37
  break; // only generate one token to get embeddings
35
38
  }
36
39
  const embedding = this._llamaContext._ctx.getEmbedding(resolvedInput.length);
37
40
  const embeddingVector = Array.from(embedding);
38
- return new LlamaEmbedding({ vector: embeddingVector });
41
+ return {
42
+ type: "embedding",
43
+ vector: embeddingVector
44
+ };
39
45
  });
40
46
  }
41
47
  async dispose() {
@@ -64,24 +70,4 @@ export class LlamaEmbeddingContext {
64
70
  });
65
71
  }
66
72
  }
67
- export class LlamaEmbedding {
68
- vector;
69
- constructor({ vector }) {
70
- this.vector = vector;
71
- }
72
- toJSON() {
73
- return {
74
- type: "LlamaEmbedding",
75
- vector: this.vector
76
- };
77
- }
78
- static fromJSON(json) {
79
- if (json == null || json.type !== "LlamaEmbedding" || !(json.vector instanceof Array) ||
80
- json.vector.some(v => typeof v !== "number"))
81
- throw new Error("Invalid LlamaEmbedding JSON");
82
- return new LlamaEmbedding({
83
- vector: json.vector
84
- });
85
- }
86
- }
87
73
  //# sourceMappingURL=LlamaEmbeddingContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LlamaEmbeddingContext.js","sourceRoot":"","sources":["../../src/evaluator/LlamaEmbeddingContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlamaEmbeddingContext.js","sourceRoot":"","sources":["../../src/evaluator/LlamaEmbeddingContext.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export declare class LlamaGrammar {
25
25
  */
26
26
  constructor({ llama, grammar, stopGenerationTriggers, trimWhitespaceSuffix, printGrammar }: LlamaGrammarOptions);
27
27
  get grammar(): string;
28
- get stopGenerationTriggers(): readonly (StopGenerationTrigger | LlamaText)[];
28
+ get stopGenerationTriggers(): readonly (import("../utils/LlamaText.js")._LlamaText | StopGenerationTrigger)[];
29
29
  get trimWhitespaceSuffix(): boolean;
30
30
  static getFor(llama: Llama, type: "json" | "list" | "arithmetic" | "japanese" | "chess"): Promise<LlamaGrammar>;
31
31
  }
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { EventRelay } from "lifecycle-utils";
3
- import { Token } from "../types.js";
3
+ import { Token, Tokenizer } from "../types.js";
4
4
  import { ModelTypeDescription } from "../bindings/AddonTypes.js";
5
5
  import { LlamaVocabularyType } from "../bindings/types.js";
6
6
  import { GgufFileInfo } from "../gguf/types/GgufFileInfoTypes.js";
@@ -50,6 +50,12 @@ export type LlamaModelOptions = {
50
50
  * Use with caution as this can crash your system if the available resources are insufficient.
51
51
  */
52
52
  useMlock?: boolean;
53
+ /**
54
+ * Check for tensor validity before actually loading the model.
55
+ * Using it increases the time it takes to load the model.
56
+ * Defaults to `false`.
57
+ */
58
+ checkTensors?: boolean;
53
59
  /**
54
60
  * Called with the load percentage when the model is being loaded.
55
61
  * @param loadProgress - a number between 0 (exclusive) and 1 (inclusive).
@@ -66,6 +72,7 @@ export type LlamaModelOptions = {
66
72
  ignoreMemorySafetyChecks?: boolean;
67
73
  };
68
74
  export declare class LlamaModel {
75
+ readonly tokenizer: Tokenizer;
69
76
  readonly onDispose: EventRelay<void>;
70
77
  private constructor();
71
78
  dispose(): Promise<void>;
@@ -91,12 +98,25 @@ export declare class LlamaModel {
91
98
  * @param [specialTokens] - if set to true, text that correspond to special tokens will be tokenized to those tokens.
92
99
  * For example, `<s>` will be tokenized to the BOS token if `specialTokens` is set to `true`,
93
100
  * otherwise it will be tokenized to tokens that corresponds to the plaintext `<s>` string.
101
+ * @param [options] - additional options for tokenization.
102
+ * If set to `"trimLeadingSpace"`, a leading space will be trimmed from the tokenized output if the output has an
103
+ * additional space at the beginning.
94
104
  */
95
105
  tokenize(text: string, specialTokens?: boolean, options?: "trimLeadingSpace"): Token[];
96
106
  tokenize(text: BuiltinSpecialTokenValue, specialTokens: "builtin"): Token[];
97
- /** Transform tokens into text */
98
- detokenize(tokens: readonly Token[]): string;
107
+ /**
108
+ * Transform tokens into text
109
+ * @param tokens - the tokens to detokenize.
110
+ * @param [specialTokens] - if set to `true`, special tokens will be detokenized to their corresponding token text representation.
111
+ * Recommended for debugging purposes only.
112
+ * Defaults to `false`.
113
+ */
114
+ detokenize(tokens: readonly Token[], specialTokens?: boolean): string;
99
115
  getTokenType(token: Token): GgufMetadataTokenizerTokenType | null;
116
+ /** Check whether the given token is a special token (a control-type token) */
117
+ isSpecialToken(token: Token): boolean;
118
+ /** Check whether the given token is an EOG (End Of Generation) token, like EOS or EOT. */
119
+ isEogToken(token: Token): boolean;
100
120
  createContext(options?: LlamaContextOptions): Promise<LlamaContext>;
101
121
  createEmbeddingContext(options?: LlamaEmbeddingContextOptions): Promise<LlamaEmbeddingContext>;
102
122
  /** @hidden `ModelTypeDescription` type alias is too long in the documentation */
@@ -6,6 +6,7 @@ import { DisposeGuard } from "../utils/DisposeGuard.js";
6
6
  import { LlamaLocks, LlamaVocabularyType, LlamaVocabularyTypeValues } from "../bindings/types.js";
7
7
  import { readGgufFileInfo } from "../gguf/readGgufFileInfo.js";
8
8
  import { GgufInsights } from "../gguf/insights/GgufInsights.js";
9
+ import { GgufMetadataTokenizerTokenType } from "../gguf/types/GgufMetadataTypes.js";
9
10
  import { getConsoleLogPrefix } from "../utils/getConsoleLogPrefix.js";
10
11
  import { LlamaContext } from "./LlamaContext/LlamaContext.js";
11
12
  import { LlamaEmbeddingContext } from "./LlamaEmbeddingContext.js";
@@ -25,8 +26,9 @@ export class LlamaModel {
25
26
  /** @internal */ _trainContextSize;
26
27
  /** @internal */ _embeddingVectorSize;
27
28
  /** @internal */ _vocabularyType;
29
+ tokenizer;
28
30
  onDispose = new EventRelay();
29
- constructor({ modelPath, gpuLayers, vocabOnly, useMmap, useMlock, onLoadProgress, loadSignal }, { _llama, _fileInfo, _fileInsights }) {
31
+ constructor({ modelPath, gpuLayers, vocabOnly, useMmap, useMlock, checkTensors, onLoadProgress, loadSignal }, { _llama, _fileInfo, _fileInsights }) {
30
32
  this._llama = _llama;
31
33
  this._fileInfo = _fileInfo;
32
34
  this._fileInsights = _fileInsights;
@@ -41,6 +43,7 @@ export class LlamaModel {
41
43
  useMlock: _llama.supportsMlock
42
44
  ? useMlock
43
45
  : undefined,
46
+ checkTensors: checkTensors ?? false,
44
47
  onLoadProgress: onLoadProgress == null
45
48
  ? undefined
46
49
  : (loadPercentage) => {
@@ -68,6 +71,10 @@ export class LlamaModel {
68
71
  });
69
72
  this.tokenize = this.tokenize.bind(this);
70
73
  this.detokenize = this.detokenize.bind(this);
74
+ this.isSpecialToken = this.isSpecialToken.bind(this);
75
+ this.tokenize.detokenize = this.detokenize;
76
+ this.tokenize.isSpecialToken = this.isSpecialToken;
77
+ this.tokenizer = this.tokenize;
71
78
  }
72
79
  async dispose() {
73
80
  if (this._disposedState.disposed)
@@ -118,6 +125,7 @@ export class LlamaModel {
118
125
  case "BOS": return this.tokens.bos == null ? [] : [this.tokens.bos];
119
126
  case "EOS": return this.tokens.eos == null ? [] : [this.tokens.eos];
120
127
  case "NL": return this.tokens.nl == null ? [] : [this.tokens.nl];
128
+ case "EOT": return this.tokens.infill.eot == null ? [] : [this.tokens.infill.eot];
121
129
  }
122
130
  void (builtinToken);
123
131
  throw new Error(`Unknown builtin special token: ${builtinToken}`);
@@ -130,7 +138,9 @@ export class LlamaModel {
130
138
  ? [this.tokens.eos, this.tokens.eosString]
131
139
  : (this.tokens.nl != null && this.tokens.nlString != null)
132
140
  ? [this.tokens.nl, this.tokens.nlString]
133
- : [null, null];
141
+ : (this.tokens.infill.eot != null && this.tokens.infill.eotString != null)
142
+ ? [this.tokens.infill.eot, this.tokens.infill.eotString]
143
+ : [null, null];
134
144
  if (workaroundToken != null && workaroundTokenString != null) {
135
145
  const tokens = Array.from(this._model.tokenize(workaroundTokenString + text, true));
136
146
  const workaroundTokenIndex = tokens.indexOf(workaroundToken);
@@ -154,18 +164,35 @@ export class LlamaModel {
154
164
  }
155
165
  return Array.from(this._model.tokenize(text, specialTokens));
156
166
  }
157
- /** Transform tokens into text */
158
- detokenize(tokens) {
167
+ /**
168
+ * Transform tokens into text
169
+ * @param tokens - the tokens to detokenize.
170
+ * @param [specialTokens] - if set to `true`, special tokens will be detokenized to their corresponding token text representation.
171
+ * Recommended for debugging purposes only.
172
+ * Defaults to `false`.
173
+ */
174
+ detokenize(tokens, specialTokens = false) {
159
175
  this._ensureNotDisposed();
160
176
  if (tokens.length === 0)
161
177
  return "";
162
- return this._model.detokenize(Uint32Array.from(tokens));
178
+ return this._model.detokenize(Uint32Array.from(tokens), Boolean(specialTokens));
163
179
  }
164
180
  getTokenType(token) {
165
181
  if (this.vocabularyType === LlamaVocabularyType.none)
166
182
  return null;
167
183
  return this._model.getTokenType(token);
168
184
  }
185
+ /** Check whether the given token is a special token (a control-type token) */
186
+ isSpecialToken(token) {
187
+ const tokenType = this.getTokenType(token);
188
+ return tokenType === GgufMetadataTokenizerTokenType.control;
189
+ }
190
+ /** Check whether the given token is an EOG (End Of Generation) token, like EOS or EOT. */
191
+ isEogToken(token) {
192
+ if (token == null)
193
+ return false;
194
+ return token === this.tokens.eos || token === this.tokens.infill.eot || this._model.isEogToken(token);
195
+ }
169
196
  async createContext(options = {}) {
170
197
  return await withLock(this._llama._memoryLock, LlamaLocks.loadToMemory, options.createSignal, async () => {
171
198
  const preventDisposalHandle = this._backendModelDisposeGuard.createPreventDisposalHandle();
@@ -1 +1 @@
1
- {"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/evaluator/LlamaModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/evaluator/LlamaModel.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare class TokenBias {
7
7
  * Adjust the bias of the given token(s).
8
8
  * If a text is provided, the bias will be applied to each individual token in the text.
9
9
  * Setting a bias to `"never"` will prevent the token from being generated, unless it is required to comply with a grammar.
10
- * Setting the bias of the EOS token to `"never"` has no effect and will be ignored.
10
+ * Setting the bias of the EOS or EOT tokens to `"never"` has no effect and will be ignored.
11
11
  * @param input - The token(s) to apply the bias to
12
12
  * @param bias - The bias to apply to the token(s).
13
13
  * Setting to a positive number increases the probability of the token(s) being generated.
@@ -9,7 +9,7 @@ export class TokenBias {
9
9
  * Adjust the bias of the given token(s).
10
10
  * If a text is provided, the bias will be applied to each individual token in the text.
11
11
  * Setting a bias to `"never"` will prevent the token from being generated, unless it is required to comply with a grammar.
12
- * Setting the bias of the EOS token to `"never"` has no effect and will be ignored.
12
+ * Setting the bias of the EOS or EOT tokens to `"never"` has no effect and will be ignored.
13
13
  * @param input - The token(s) to apply the bias to
14
14
  * @param bias - The bias to apply to the token(s).
15
15
  * Setting to a positive number increases the probability of the token(s) being generated.
@@ -20,9 +20,9 @@ export class TokenBias {
20
20
  * Fractional values are allowed and can be used to fine-tune the bias (for example, `1.123`).
21
21
  */
22
22
  set(input, bias) {
23
- for (const token of tokenizeInput(input, this._model.tokenize))
23
+ for (const token of tokenizeInput(input, this._model.tokenizer))
24
24
  this._biases.set(token, bias === "never" ? -Infinity : bias);
25
- for (const token of tokenizeInput(input, this._model.tokenize, "trimLeadingSpace"))
25
+ for (const token of tokenizeInput(input, this._model.tokenizer, "trimLeadingSpace"))
26
26
  this._biases.set(token, bias === "never" ? -Infinity : bias);
27
27
  return this;
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TokenBias.js","sourceRoot":"","sources":["../../src/evaluator/TokenBias.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAGxD,MAAM,OAAO,SAAS;IAClB,gBAAgB,CAAiB,MAAM,CAAa;IACpD,gBAAgB,CAAiB,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEpE,YAAmB,KAAiB;QAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,GAAG,CAAC,KAA2C,EAAE,IAAsB;QAC1E,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEjE,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YAC9E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,KAAiB;QAC/B,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACJ"}
1
+ {"version":3,"file":"TokenBias.js","sourceRoot":"","sources":["../../src/evaluator/TokenBias.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAGxD,MAAM,OAAO,SAAS;IAClB,gBAAgB,CAAiB,MAAM,CAAa;IACpD,gBAAgB,CAAiB,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEpE,YAAmB,KAAiB;QAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,GAAG,CAAC,KAA2C,EAAE,IAAsB;QAC1E,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEjE,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,KAAiB;QAC/B,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACJ"}