node-llama-cpp 3.3.2 → 3.4.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 (194) hide show
  1. package/README.md +2 -1
  2. package/dist/bindings/AddonTypes.d.ts +12 -4
  3. package/dist/bindings/Llama.d.ts +9 -0
  4. package/dist/bindings/Llama.js +52 -28
  5. package/dist/bindings/Llama.js.map +1 -1
  6. package/dist/bindings/getLlama.d.ts +2 -1
  7. package/dist/bindings/getLlama.js +19 -9
  8. package/dist/bindings/getLlama.js.map +1 -1
  9. package/dist/bindings/utils/asyncSome.js +2 -0
  10. package/dist/bindings/utils/asyncSome.js.map +1 -1
  11. package/dist/bindings/utils/compileLLamaCpp.d.ts +1 -1
  12. package/dist/bindings/utils/compileLLamaCpp.js +108 -34
  13. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  14. package/dist/bindings/utils/detectAvailableComputeLayers.d.ts +1 -0
  15. package/dist/bindings/utils/detectAvailableComputeLayers.js +4 -4
  16. package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -1
  17. package/dist/bindings/utils/detectBuildTools.d.ts +14 -0
  18. package/dist/bindings/utils/detectBuildTools.js +149 -0
  19. package/dist/bindings/utils/detectBuildTools.js.map +1 -0
  20. package/dist/bindings/utils/resolveActualBindingBinaryPath.d.ts +1 -0
  21. package/dist/bindings/utils/resolveActualBindingBinaryPath.js +18 -0
  22. package/dist/bindings/utils/resolveActualBindingBinaryPath.js.map +1 -0
  23. package/dist/bindings/utils/testBindingBinary.d.ts +1 -1
  24. package/dist/bindings/utils/testBindingBinary.js +58 -5
  25. package/dist/bindings/utils/testBindingBinary.js.map +1 -1
  26. package/dist/chatWrappers/AlpacaChatWrapper.d.ts +4 -0
  27. package/dist/chatWrappers/AlpacaChatWrapper.js +4 -0
  28. package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -1
  29. package/dist/chatWrappers/FalconChatWrapper.d.ts +4 -0
  30. package/dist/chatWrappers/FalconChatWrapper.js +4 -0
  31. package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
  32. package/dist/chatWrappers/GeneralChatWrapper.d.ts +4 -0
  33. package/dist/chatWrappers/GeneralChatWrapper.js +4 -0
  34. package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
  35. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +2 -0
  36. package/dist/chatWrappers/utils/resolveChatWrapper.js +8 -27
  37. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  38. package/dist/cli/commands/ChatCommand.d.ts +4 -0
  39. package/dist/cli/commands/ChatCommand.js +155 -11
  40. package/dist/cli/commands/ChatCommand.js.map +1 -1
  41. package/dist/cli/commands/CompleteCommand.d.ts +4 -0
  42. package/dist/cli/commands/CompleteCommand.js +143 -10
  43. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  44. package/dist/cli/commands/DebugCommand.js +5 -5
  45. package/dist/cli/commands/DebugCommand.js.map +1 -1
  46. package/dist/cli/commands/InfillCommand.d.ts +4 -0
  47. package/dist/cli/commands/InfillCommand.js +142 -10
  48. package/dist/cli/commands/InfillCommand.js.map +1 -1
  49. package/dist/cli/commands/OnPostInstallCommand.js +12 -2
  50. package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
  51. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.d.ts +1 -0
  52. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js +14 -7
  53. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js.map +1 -1
  54. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +13 -3
  55. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  56. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +20 -10
  57. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  58. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +2 -0
  59. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +234 -77
  60. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  61. package/dist/cli/utils/ConsoleTable.d.ts +1 -0
  62. package/dist/cli/utils/ConsoleTable.js +5 -1
  63. package/dist/cli/utils/ConsoleTable.js.map +1 -1
  64. package/dist/cli/utils/interactivelyAskForModel.d.ts +2 -1
  65. package/dist/cli/utils/interactivelyAskForModel.js +16 -13
  66. package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
  67. package/dist/cli/utils/isRunningUnderRosetta.d.ts +1 -0
  68. package/dist/cli/utils/isRunningUnderRosetta.js +20 -0
  69. package/dist/cli/utils/isRunningUnderRosetta.js.map +1 -0
  70. package/dist/cli/utils/printCommonInfoLines.d.ts +4 -2
  71. package/dist/cli/utils/printCommonInfoLines.js +67 -5
  72. package/dist/cli/utils/printCommonInfoLines.js.map +1 -1
  73. package/dist/cli/utils/resolveCommandGgufPath.d.ts +3 -1
  74. package/dist/cli/utils/resolveCommandGgufPath.js +6 -5
  75. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
  76. package/dist/cli/utils/toBytes.d.ts +1 -0
  77. package/dist/cli/utils/toBytes.js +5 -0
  78. package/dist/cli/utils/toBytes.js.map +1 -0
  79. package/dist/config.d.ts +3 -0
  80. package/dist/config.js +3 -0
  81. package/dist/config.js.map +1 -1
  82. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +12 -3
  83. package/dist/evaluator/LlamaChat/LlamaChat.js +21 -7
  84. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  85. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +6 -2
  86. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +3 -0
  87. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  88. package/dist/evaluator/LlamaCompletion.d.ts +3 -0
  89. package/dist/evaluator/LlamaCompletion.js +5 -0
  90. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  91. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +81 -38
  92. package/dist/evaluator/LlamaContext/LlamaContext.js +678 -132
  93. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  94. package/dist/evaluator/LlamaContext/TokenPredictor.d.ts +55 -0
  95. package/dist/evaluator/LlamaContext/TokenPredictor.js +20 -0
  96. package/dist/evaluator/LlamaContext/TokenPredictor.js.map +1 -0
  97. package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.d.ts +56 -0
  98. package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js +266 -0
  99. package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js.map +1 -0
  100. package/dist/evaluator/LlamaContext/tokenPredictors/InputLookupTokenPredictor.d.ts +58 -0
  101. package/dist/evaluator/LlamaContext/tokenPredictors/InputLookupTokenPredictor.js +138 -0
  102. package/dist/evaluator/LlamaContext/tokenPredictors/InputLookupTokenPredictor.js.map +1 -0
  103. package/dist/evaluator/LlamaContext/types.d.ts +198 -5
  104. package/dist/evaluator/LlamaEmbeddingContext.d.ts +3 -0
  105. package/dist/evaluator/LlamaEmbeddingContext.js +3 -0
  106. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  107. package/dist/evaluator/LlamaGrammar.d.ts +7 -1
  108. package/dist/evaluator/LlamaGrammar.js +6 -0
  109. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  110. package/dist/evaluator/LlamaGrammarEvaluationState.d.ts +4 -4
  111. package/dist/evaluator/LlamaGrammarEvaluationState.js +16 -8
  112. package/dist/evaluator/LlamaGrammarEvaluationState.js.map +1 -1
  113. package/dist/evaluator/LlamaJsonSchemaGrammar.d.ts +5 -0
  114. package/dist/evaluator/LlamaJsonSchemaGrammar.js +7 -0
  115. package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -1
  116. package/dist/evaluator/LlamaModel/LlamaModel.d.ts +19 -11
  117. package/dist/evaluator/LlamaModel/LlamaModel.js +23 -29
  118. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
  119. package/dist/evaluator/LlamaRankingContext.d.ts +76 -0
  120. package/dist/evaluator/LlamaRankingContext.js +159 -0
  121. package/dist/evaluator/LlamaRankingContext.js.map +1 -0
  122. package/dist/evaluator/TokenBias.d.ts +3 -0
  123. package/dist/evaluator/TokenBias.js +3 -0
  124. package/dist/evaluator/TokenBias.js.map +1 -1
  125. package/dist/evaluator/utils/chunkDocument.d.ts +86 -0
  126. package/dist/evaluator/utils/chunkDocument.js +212 -0
  127. package/dist/evaluator/utils/chunkDocument.js.map +1 -0
  128. package/dist/gguf/insights/GgufInsights.d.ts +3 -1
  129. package/dist/gguf/insights/GgufInsights.js +114 -8
  130. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  131. package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +6 -3
  132. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +11 -7
  133. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
  134. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +2 -1
  135. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js +13 -7
  136. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -1
  137. package/dist/gguf/parser/GgufV2Parser.js +29 -8
  138. package/dist/gguf/parser/GgufV2Parser.js.map +1 -1
  139. package/dist/gguf/parser/parseGguf.js +11 -11
  140. package/dist/gguf/parser/parseGguf.js.map +1 -1
  141. package/dist/gguf/readGgufFileInfo.js +8 -3
  142. package/dist/gguf/readGgufFileInfo.js.map +1 -1
  143. package/dist/gguf/types/GgufFileInfoTypes.d.ts +1 -0
  144. package/dist/gguf/types/GgufMetadataTypes.d.ts +9 -9
  145. package/dist/gguf/types/GgufMetadataTypes.js +1 -1
  146. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  147. package/dist/gguf/types/GgufTensorInfoTypes.d.ts +13 -0
  148. package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -1
  149. package/dist/index.d.ts +7 -2
  150. package/dist/index.js +6 -1
  151. package/dist/index.js.map +1 -1
  152. package/dist/tsconfig.tsbuildinfo +1 -1
  153. package/dist/utils/LlamaText.d.ts +4 -1
  154. package/dist/utils/LlamaText.js +4 -1
  155. package/dist/utils/LlamaText.js.map +1 -1
  156. package/dist/utils/cmake.js +23 -0
  157. package/dist/utils/cmake.js.map +1 -1
  158. package/dist/utils/pushAll.d.ts +1 -1
  159. package/dist/utils/pushAll.js.map +1 -1
  160. package/dist/utils/tokenizerUtils.js +1 -1
  161. package/dist/utils/utilTypes.d.ts +5 -0
  162. package/llama/CMakeLists.txt +25 -8
  163. package/llama/addon/AddonContext.cpp +188 -16
  164. package/llama/addon/AddonContext.h +1 -0
  165. package/llama/addon/AddonGrammar.cpp +1 -4
  166. package/llama/addon/AddonGrammarEvaluationState.cpp +16 -5
  167. package/llama/addon/AddonModel.cpp +11 -15
  168. package/llama/addon/AddonModel.h +0 -1
  169. package/llama/addon/AddonSampler.cpp +1 -6
  170. package/llama/addon/addon.cpp +26 -7
  171. package/llama/addon/globals/getGpuInfo.cpp +30 -5
  172. package/llama/addon/globals/getGpuInfo.h +6 -1
  173. package/llama/addon/globals/getMemoryInfo.cpp +63 -0
  174. package/llama/addon/globals/getMemoryInfo.h +4 -0
  175. package/llama/binariesGithubRelease.json +1 -1
  176. package/llama/cmake/win32.ensureNinjaPath.cmake +68 -0
  177. package/llama/cmake/win32.ensureNodeLib.cmake +34 -0
  178. package/llama/cmake/win32.llvmApplyGnuModeAdaptations.cmake +12 -0
  179. package/llama/cmake/win32.llvmEnsureCmakeAr.cmake +37 -0
  180. package/llama/cmake/win32.llvmUseGnuModeCompilers.cmake +87 -0
  181. package/llama/cmake/win32.programFilesPaths.cmake +31 -0
  182. package/llama/gitRelease.bundle +0 -0
  183. package/llama/gpuInfo/vulkan-gpu-info.cpp +29 -2
  184. package/llama/gpuInfo/vulkan-gpu-info.h +1 -0
  185. package/llama/llama.cpp.info.json +1 -1
  186. package/llama/profiles/llvm.win32.host-arm64.target-arm64.cmake +14 -0
  187. package/llama/profiles/llvm.win32.host-x64.target-arm64.cmake +14 -0
  188. package/llama/profiles/llvm.win32.host-x64.target-x64.cmake +14 -0
  189. package/llama/toolchains/llvm.win32.host-x64.target-x64.cmake +20 -0
  190. package/llama/toolchains/win32.host-arm64.target-arm64.cmake +21 -0
  191. package/llama/toolchains/win32.host-x64.target-arm64.cmake +14 -34
  192. package/package.json +43 -43
  193. package/templates/packed/electron-typescript-react.json +1 -1
  194. package/templates/packed/node-typescript.json +1 -1
@@ -3,6 +3,7 @@ import process from "process";
3
3
  import path from "path";
4
4
  import chalk from "chalk";
5
5
  import fs from "fs-extra";
6
+ import prettyMilliseconds from "pretty-ms";
6
7
  import { getLlama } from "../../bindings/getLlama.js";
7
8
  import { LlamaLogLevel, LlamaLogLevelGreaterThan, nodeLlamaCppGpuOptions, parseNodeLlamaCppGpuOption } from "../../bindings/types.js";
8
9
  import { LlamaCompletion } from "../../evaluator/LlamaCompletion.js";
@@ -16,6 +17,7 @@ import { resolveHeaderFlag } from "../utils/resolveHeaderFlag.js";
16
17
  import { withCliCommandDescriptionDocsUrl } from "../utils/withCliCommandDescriptionDocsUrl.js";
17
18
  import { documentationPageUrls } from "../../config.js";
18
19
  import { ConsoleInteraction, ConsoleInteractionKey } from "../utils/ConsoleInteraction.js";
20
+ import { DraftSequenceTokenPredictor } from "../../evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js";
19
21
  export const InfillCommand = {
20
22
  command: "infill [modelPath]",
21
23
  describe: withCliCommandDescriptionDocsUrl("Generate an infill completion for a given suffix and prefix texts", documentationPageUrls.CLI.Infill),
@@ -158,6 +160,17 @@ export const InfillCommand = {
158
160
  type: "number",
159
161
  default: 0,
160
162
  description: "Maximum number of tokens to generate in responses. Set to `0` to disable. Set to `-1` to set to the context size"
163
+ })
164
+ .option("tokenPredictionDraftModel", {
165
+ alias: ["dm", "draftModel"],
166
+ type: "string",
167
+ description: "Model file to use for draft sequence token prediction (speculative decoding). Can be a path to a local file or a URI of a model file to download"
168
+ })
169
+ .option("tokenPredictionModelContextSize", {
170
+ alias: ["dc", "draftContextSize", "draftContext"],
171
+ type: "number",
172
+ description: "Max context size to use for the draft sequence token prediction model context",
173
+ default: 4096
161
174
  })
162
175
  .option("debug", {
163
176
  alias: "d",
@@ -169,21 +182,31 @@ export const InfillCommand = {
169
182
  type: "boolean",
170
183
  default: false,
171
184
  description: "Log how many tokens were used as input and output for each response"
185
+ })
186
+ .option("timing", {
187
+ type: "boolean",
188
+ default: false,
189
+ description: "Print how how long it took to generate each response"
190
+ })
191
+ .option("noMmap", {
192
+ type: "boolean",
193
+ default: false,
194
+ description: "Disable mmap (memory-mapped file) usage"
172
195
  })
173
196
  .option("printTimings", {
174
197
  alias: "pt",
175
198
  type: "boolean",
176
199
  default: false,
177
- description: "Print llama.cpp timings after each response"
200
+ description: "Print llama.cpp's internal timings after each response"
178
201
  });
179
202
  },
180
- async handler({ modelPath, header, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention, threads, temperature, minP, topK, topP, seed, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, debug, meter, printTimings }) {
203
+ async handler({ modelPath, header, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention, threads, temperature, minP, topK, topP, seed, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, tokenPredictionDraftModel, tokenPredictionModelContextSize, debug, meter, timing, noMmap, printTimings }) {
181
204
  try {
182
205
  await RunInfill({
183
206
  modelPath, header, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention,
184
207
  threads, temperature, minP, topK, topP, seed, gpuLayers, lastTokensRepeatPenalty,
185
208
  repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens,
186
- debug, meter, printTimings
209
+ tokenPredictionDraftModel, tokenPredictionModelContextSize, debug, meter, timing, noMmap, printTimings
187
210
  });
188
211
  }
189
212
  catch (err) {
@@ -193,7 +216,7 @@ export const InfillCommand = {
193
216
  }
194
217
  }
195
218
  };
196
- async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention, threads, temperature, minP, topK, topP, seed, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, debug, meter, printTimings }) {
219
+ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, flashAttention, threads, temperature, minP, topK, topP, seed, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, tokenPredictionDraftModel, tokenPredictionModelContextSize, maxTokens, debug, meter, timing, noMmap, printTimings }) {
197
220
  if (contextSize === -1)
198
221
  contextSize = undefined;
199
222
  if (gpuLayers === -1)
@@ -213,9 +236,18 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
213
236
  logLevel: llamaLogLevel
214
237
  });
215
238
  const logBatchSize = batchSize != null;
239
+ const useMmap = !noMmap && llama.supportsMmap;
216
240
  const resolvedModelPath = await resolveCommandGgufPath(modelArg, llama, headers, {
217
- flashAttention
241
+ flashAttention,
242
+ useMmap
218
243
  });
244
+ const resolvedDraftModelPath = (tokenPredictionDraftModel != null && tokenPredictionDraftModel !== "")
245
+ ? await resolveCommandGgufPath(tokenPredictionDraftModel, llama, headers, {
246
+ flashAttention,
247
+ useMmap,
248
+ consoleTitle: "Draft model file"
249
+ })
250
+ : undefined;
219
251
  if (systemInfo)
220
252
  console.log(llama.systemInfo);
221
253
  if (prefixFile != null && prefixFile !== "") {
@@ -255,6 +287,7 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
255
287
  ? { fitContext: { contextSize } }
256
288
  : undefined,
257
289
  defaultContextFlashAttention: flashAttention,
290
+ useMmap,
258
291
  ignoreMemorySafetyChecks: gpuLayers != null,
259
292
  onLoadProgress(loadProgress) {
260
293
  progressUpdater.setProgress(loadProgress);
@@ -274,6 +307,59 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
274
307
  }
275
308
  }
276
309
  });
310
+ const draftModel = resolvedDraftModelPath == null
311
+ ? undefined
312
+ : await withProgressLog({
313
+ loadingText: chalk.blue.bold("Loading draft model"),
314
+ successText: chalk.blue("Draft model loaded"),
315
+ failText: chalk.blue("Failed to load draft model"),
316
+ liveUpdates: !debug,
317
+ noProgress: debug,
318
+ liveCtrlCSendsAbortSignal: true
319
+ }, async (progressUpdater) => {
320
+ try {
321
+ return await llama.loadModel({
322
+ modelPath: resolvedDraftModelPath,
323
+ defaultContextFlashAttention: flashAttention,
324
+ useMmap,
325
+ onLoadProgress(loadProgress) {
326
+ progressUpdater.setProgress(loadProgress);
327
+ },
328
+ loadSignal: progressUpdater.abortSignal
329
+ });
330
+ }
331
+ catch (err) {
332
+ if (err === progressUpdater.abortSignal?.reason)
333
+ process.exit(0);
334
+ throw err;
335
+ }
336
+ finally {
337
+ if (llama.logLevel === LlamaLogLevel.debug) {
338
+ await new Promise((accept) => setTimeout(accept, 0)); // wait for logs to finish printing
339
+ console.info();
340
+ }
341
+ }
342
+ });
343
+ const draftContext = draftModel == null
344
+ ? undefined
345
+ : await withOra({
346
+ loading: chalk.blue("Creating draft context"),
347
+ success: chalk.blue("Draft context created"),
348
+ fail: chalk.blue("Failed to create draft context"),
349
+ useStatusLogs: debug
350
+ }, async () => {
351
+ try {
352
+ return await draftModel.createContext({
353
+ contextSize: { max: tokenPredictionModelContextSize }
354
+ });
355
+ }
356
+ finally {
357
+ if (llama.logLevel === LlamaLogLevel.debug) {
358
+ await new Promise((accept) => setTimeout(accept, 0)); // wait for logs to finish printing
359
+ console.info();
360
+ }
361
+ }
362
+ });
277
363
  const context = await withOra({
278
364
  loading: chalk.blue("Creating context"),
279
365
  success: chalk.blue("Context created"),
@@ -296,16 +382,23 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
296
382
  }
297
383
  }
298
384
  });
299
- const contextSequence = context.getSequence();
385
+ const draftContextSequence = draftContext?.getSequence();
386
+ const contextSequence = draftContextSequence != null
387
+ ? context.getSequence({
388
+ tokenPredictor: new DraftSequenceTokenPredictor(draftContextSequence)
389
+ })
390
+ : context.getSequence();
300
391
  const completion = new LlamaCompletion({
301
392
  contextSequence
302
393
  });
394
+ let lastDraftTokenMeterState = draftContextSequence?.tokenMeter.getState();
303
395
  let lastTokenMeterState = contextSequence.tokenMeter.getState();
396
+ let lastTokenPredictionsStats = contextSequence.tokenPredictions;
304
397
  await new Promise((accept) => setTimeout(accept, 0)); // wait for logs to finish printing
305
- const padTitle = "Context".length + 1;
306
- await printCommonInfoLines({
398
+ const padTitle = await printCommonInfoLines({
307
399
  context,
308
- minTitleLength: padTitle,
400
+ draftContext,
401
+ useMmap,
309
402
  logBatchSize,
310
403
  tokenMeterEnabled: meter
311
404
  });
@@ -327,6 +420,10 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
327
420
  show: !penalizeRepeatingNewLine,
328
421
  title: "Penalize repeating new line",
329
422
  value: "disabled"
423
+ }, {
424
+ show: timing,
425
+ title: "Response timing",
426
+ value: "enabled"
330
427
  }]
331
428
  });
332
429
  // this is for ora to not interfere with readline
@@ -380,6 +477,7 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
380
477
  abortController.abort();
381
478
  consoleInteraction.stop();
382
479
  });
480
+ const timeBeforePrompt = Date.now();
383
481
  try {
384
482
  process.stdout.write(startColor);
385
483
  consoleInteraction.start();
@@ -419,6 +517,7 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
419
517
  process.stdout.write(endColor);
420
518
  console.log();
421
519
  }
520
+ const timeAfterPrompt = Date.now();
422
521
  if (printTimings) {
423
522
  if (LlamaLogLevelGreaterThan(llama.logLevel, LlamaLogLevel.info))
424
523
  llama.logLevel = LlamaLogLevel.info;
@@ -426,11 +525,44 @@ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemIn
426
525
  await new Promise((accept) => setTimeout(accept, 0)); // wait for logs to finish printing
427
526
  llama.logLevel = llamaLogLevel;
428
527
  }
528
+ if (timing)
529
+ console.info(chalk.dim("Response duration: ") +
530
+ prettyMilliseconds(timeAfterPrompt - timeBeforePrompt, {
531
+ keepDecimalsOnWholeSeconds: true,
532
+ secondsDecimalDigits: 2,
533
+ separateMilliseconds: true,
534
+ compact: false
535
+ }));
429
536
  if (meter) {
430
537
  const newTokenMeterState = contextSequence.tokenMeter.getState();
431
538
  const tokenMeterDiff = TokenMeter.diff(newTokenMeterState, lastTokenMeterState);
432
539
  lastTokenMeterState = newTokenMeterState;
433
- console.info(`${chalk.dim("Input tokens:")} ${String(tokenMeterDiff.usedInputTokens).padEnd(5, " ")} ${chalk.dim("Output tokens:")} ${tokenMeterDiff.usedOutputTokens}`);
540
+ const showDraftTokenMeterDiff = lastDraftTokenMeterState != null && draftContextSequence != null;
541
+ const tokenPredictionsStats = contextSequence.tokenPredictions;
542
+ const validatedTokenPredictions = tokenPredictionsStats.validated - lastTokenPredictionsStats.validated;
543
+ const refutedTokenPredictions = tokenPredictionsStats.refuted - lastTokenPredictionsStats.refuted;
544
+ const usedTokenPredictions = tokenPredictionsStats.used - lastTokenPredictionsStats.used;
545
+ const unusedTokenPredictions = tokenPredictionsStats.unused - lastTokenPredictionsStats.unused;
546
+ lastTokenPredictionsStats = tokenPredictionsStats;
547
+ console.info([
548
+ showDraftTokenMeterDiff && (chalk.yellow("Main".padEnd("Drafter".length))),
549
+ chalk.dim("Input tokens:") + " " + String(tokenMeterDiff.usedInputTokens).padEnd(5, " "),
550
+ chalk.dim("Output tokens:") + " " + String(tokenMeterDiff.usedOutputTokens).padEnd(5, " "),
551
+ showDraftTokenMeterDiff && (chalk.dim("Validated predictions:") + " " + String(validatedTokenPredictions).padEnd(5, " ")),
552
+ showDraftTokenMeterDiff && (chalk.dim("Refuted predictions:") + " " + String(refutedTokenPredictions).padEnd(5, " ")),
553
+ showDraftTokenMeterDiff && (chalk.dim("Used predictions:") + " " + String(usedTokenPredictions).padEnd(5, " ")),
554
+ showDraftTokenMeterDiff && (chalk.dim("Unused predictions:") + " " + String(unusedTokenPredictions).padEnd(5, " "))
555
+ ].filter(Boolean).join(" "));
556
+ if (lastDraftTokenMeterState != null && draftContextSequence != null) {
557
+ const newDraftTokenMeterState = draftContextSequence.tokenMeter.getState();
558
+ const draftTokenMeterDiff = TokenMeter.diff(newDraftTokenMeterState, lastDraftTokenMeterState);
559
+ lastDraftTokenMeterState = newDraftTokenMeterState;
560
+ console.info([
561
+ chalk.yellow("Drafter"),
562
+ chalk.dim("Input tokens:") + " " + String(draftTokenMeterDiff.usedInputTokens).padEnd(5, " "),
563
+ chalk.dim("Output tokens:") + " " + String(draftTokenMeterDiff.usedOutputTokens).padEnd(5, " ")
564
+ ].join(" "));
565
+ }
434
566
  }
435
567
  }
436
568
  }
@@ -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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"}
@@ -1,13 +1,23 @@
1
- import { defaultSkipDownload } from "../../config.js";
1
+ import chalk from "chalk";
2
+ import { defaultSkipDownload, documentationPageUrls } from "../../config.js";
2
3
  import { getLlamaForOptions } from "../../bindings/getLlama.js";
3
4
  import { setForceShowConsoleLogPrefix } from "../../state.js";
5
+ import { isRunningUnderRosetta } from "../utils/isRunningUnderRosetta.js";
6
+ import { getConsoleLogPrefix } from "../../utils/getConsoleLogPrefix.js";
4
7
  export const OnPostInstallCommand = {
5
8
  command: "postinstall",
6
9
  describe: false,
7
10
  async handler() {
8
11
  if (defaultSkipDownload)
9
12
  return;
10
- setForceShowConsoleLogPrefix(false);
13
+ setForceShowConsoleLogPrefix(true);
14
+ if (await isRunningUnderRosetta()) {
15
+ console.error(getConsoleLogPrefix(false, false), chalk.red("llama.cpp is not supported under Rosetta on Apple Silicone Macs. " +
16
+ "Ensure that you're using a native arm64 node.js installation."));
17
+ console.error(getConsoleLogPrefix(false, false), "process.platform: " + process.platform + ", process.arch: " + process.arch);
18
+ console.error(getConsoleLogPrefix(false, false), "troubleshooting: " + documentationPageUrls.troubleshooting.RosettaIllegalHardwareInstruction);
19
+ process.exit(1);
20
+ }
11
21
  try {
12
22
  await getLlamaForOptions({
13
23
  progressLogs: true
@@ -1 +1 @@
1
- {"version":3,"file":"OnPostInstallCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/OnPostInstallCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,4BAA4B,EAAC,MAAM,gBAAgB,CAAC;AAI5D,MAAM,CAAC,MAAM,oBAAoB,GAAgD;IAC7E,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,KAAK;IACf,KAAK,CAAC,OAAO;QACT,IAAI,mBAAmB;YACnB,OAAO;QAEX,4BAA4B,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC;YACD,MAAM,kBAAkB,CAAC;gBACrB,YAAY,EAAE,IAAI;aACrB,EAAE;gBACC,4BAA4B,EAAE,IAAI;aACrC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"OnPostInstallCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/OnPostInstallCommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAE,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,4BAA4B,EAAC,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAIvE,MAAM,CAAC,MAAM,oBAAoB,GAAgD;IAC7E,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,KAAK;IACf,KAAK,CAAC,OAAO;QACT,IAAI,mBAAmB;YACnB,OAAO;QAEX,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,MAAM,qBAAqB,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CACT,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,EACjC,KAAK,CAAC,GAAG,CACL,mEAAmE;gBACnE,+DAA+D,CAClE,CACJ,CAAC;YACF,OAAO,CAAC,KAAK,CACT,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,EACjC,oBAAoB,GAAG,OAAO,CAAC,QAAQ,GAAG,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAC9E,CAAC;YACF,OAAO,CAAC,KAAK,CACT,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,EACjC,mBAAmB,GAAG,qBAAqB,CAAC,eAAe,CAAC,iCAAiC,CAChG,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,kBAAkB,CAAC;gBACrB,YAAY,EAAE,IAAI;aACrB,EAAE;gBACC,4BAA4B,EAAE,IAAI;aACrC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;CACJ,CAAC"}
@@ -7,6 +7,7 @@ type InspectEstimateCommand = {
7
7
  gpuLayers?: number | "max";
8
8
  contextSize?: number | "train";
9
9
  embedding?: boolean;
10
+ noMmap?: boolean;
10
11
  };
11
12
  export declare const InspectEstimateCommand: CommandModule<object, InspectEstimateCommand>;
12
13
  export {};
@@ -1,5 +1,4 @@
1
1
  import chalk from "chalk";
2
- import bytes from "bytes";
3
2
  import { readGgufFileInfo } from "../../../../gguf/readGgufFileInfo.js";
4
3
  import { resolveHeaderFlag } from "../../../utils/resolveHeaderFlag.js";
5
4
  import { withCliCommandDescriptionDocsUrl } from "../../../utils/withCliCommandDescriptionDocsUrl.js";
@@ -16,6 +15,7 @@ import { getPrettyBuildGpuName } from "../../../../bindings/consts.js";
16
15
  import withOra from "../../../../utils/withOra.js";
17
16
  import { resolveModelDestination } from "../../../../utils/resolveModelDestination.js";
18
17
  import { printModelDestination } from "../../../utils/printModelDestination.js";
18
+ import { toBytes } from "../../../utils/toBytes.js";
19
19
  export const InspectEstimateCommand = {
20
20
  command: "estimate [modelPath]",
21
21
  describe: withCliCommandDescriptionDocsUrl("Estimate the compatibility of a model with the current hardware", documentationPageUrls.CLI.Inspect.Estimate),
@@ -84,9 +84,14 @@ export const InspectEstimateCommand = {
84
84
  description: "Whether to estimate for creating an embedding context",
85
85
  default: false,
86
86
  group: "Optional:"
87
+ })
88
+ .option("noMmap", {
89
+ type: "boolean",
90
+ default: false,
91
+ description: "Disable mmap (memory-mapped file) usage"
87
92
  });
88
93
  },
89
- async handler({ modelPath: ggufPath, header: headerArg, gpu, gpuLayers, contextSize: contextSizeArg, embedding }) {
94
+ async handler({ modelPath: ggufPath, header: headerArg, gpu, gpuLayers, contextSize: contextSizeArg, embedding, noMmap }) {
90
95
  if (gpuLayers === -1)
91
96
  gpuLayers = undefined;
92
97
  if (gpuLayers === -2)
@@ -108,6 +113,7 @@ export const InspectEstimateCommand = {
108
113
  gpu,
109
114
  logLevel: LlamaLogLevel.error
110
115
  });
116
+ const useMmap = !noMmap && llama.supportsMmap;
111
117
  printModelDestination(resolvedModelDestination);
112
118
  if (embedding)
113
119
  console.info(`${chalk.yellow("Estimating for an embedding context")}`);
@@ -132,7 +138,8 @@ export const InspectEstimateCommand = {
132
138
  flashAttention,
133
139
  targetContextSize: contextSize,
134
140
  targetGpuLayers: gpuLayers,
135
- embeddingContext: embedding
141
+ embeddingContext: embedding,
142
+ useMmap
136
143
  });
137
144
  }
138
145
  const [compatibilityScore, compatibilityScoreWithFlashAttention] = await Promise.all([
@@ -153,7 +160,7 @@ export const InspectEstimateCommand = {
153
160
  value: getPrettyBuildGpuName(llama.gpu)
154
161
  }, {
155
162
  title: "VRAM",
156
- value: bytes(vramState.total)
163
+ value: toBytes(vramState.total)
157
164
  }, {
158
165
  title: "Name",
159
166
  value: toOneLine(deviceNames.join(", "))
@@ -172,7 +179,7 @@ export const InspectEstimateCommand = {
172
179
  ].filter(Boolean).join(" "))
173
180
  }, {
174
181
  title: "Size",
175
- value: bytes(ggufInsights.modelSize)
182
+ value: toBytes(ggufInsights.modelSize)
176
183
  }, {
177
184
  show: ggufInsights.trainContextSize != null,
178
185
  title: "Train context size",
@@ -204,10 +211,10 @@ function logCompatibilityScore(title, padTitle, compatibilityScore, ggufInsights
204
211
  }, {
205
212
  show: llama.gpu !== false,
206
213
  title: "VRAM usage",
207
- value: () => bytes(compatibilityScore.resolvedValues.totalVramUsage)
214
+ value: () => toBytes(compatibilityScore.resolvedValues.totalVramUsage)
208
215
  }, {
209
216
  title: "RAM usage",
210
- value: () => bytes(compatibilityScore.resolvedValues.totalRamUsage)
217
+ value: () => toBytes(compatibilityScore.resolvedValues.totalRamUsage)
211
218
  }, {
212
219
  show: flashAttention,
213
220
  title: "Flash attention",
@@ -1 +1 @@
1
- {"version":3,"file":"InspectEstimateCommand.js","sourceRoot":"","sources":["../../../../../src/cli/commands/inspect/commands/InspectEstimateCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InspectEstimateCommand.js","sourceRoot":"","sources":["../../../../../src/cli/commands/inspect/commands/InspectEstimateCommand.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import path from "path";
2
2
  import process from "process";
3
3
  import chalk from "chalk";
4
- import bytes from "bytes";
5
4
  import fs from "fs-extra";
6
5
  import { readGgufFileInfo } from "../../../../gguf/readGgufFileInfo.js";
7
6
  import { prettyPrintObject } from "../../../../utils/prettyPrintObject.js";
@@ -13,6 +12,7 @@ import withOra from "../../../../utils/withOra.js";
13
12
  import { resolveModelDestination } from "../../../../utils/resolveModelDestination.js";
14
13
  import { printModelDestination } from "../../../utils/printModelDestination.js";
15
14
  import { getGgufMetadataKeyValue } from "../../../../gguf/utils/getGgufMetadataKeyValue.js";
15
+ import { toBytes } from "../../../utils/toBytes.js";
16
16
  export const InspectGgufCommand = {
17
17
  command: "gguf [modelPath]",
18
18
  describe: withCliCommandDescriptionDocsUrl("Inspect a GGUF file", documentationPageUrls.CLI.Inspect.GGUF),
@@ -99,6 +99,7 @@ export const InspectGgufCommand = {
99
99
  spliceSplitFiles: !noSplice
100
100
  });
101
101
  });
102
+ removeAdditionalTensorInfoFields(parsedMetadata.fullTensorInfo);
102
103
  const fileTypeName = getGgufFileTypeName(parsedMetadata.metadata.general?.file_type);
103
104
  if (plainJson || outputToJsonFile != null) {
104
105
  const getOutputJson = () => {
@@ -173,12 +174,21 @@ export const InspectGgufCommand = {
173
174
  console.info(`${chalk.yellow("Spliced parts:")} ${parsedMetadata.splicedParts}`);
174
175
  console.info(`${chalk.yellow("GGUF version:")} ${parsedMetadata.version}`);
175
176
  console.info(`${chalk.yellow("Tensor count:")} ${parsedMetadata.totalTensorCount.toLocaleString("en-US", numberLocaleFormattingOptions)}`);
176
- console.info(`${chalk.yellow("Metadata size:")} ${bytes(parsedMetadata.totalMetadataSize)}`);
177
- console.info(`${chalk.yellow("Tensor info size:")} ${bytes(parsedMetadata.totalTensorInfoSize)}`);
177
+ console.info(`${chalk.yellow("Metadata size:")} ${toBytes(parsedMetadata.totalMetadataSize)}`);
178
+ console.info(`${chalk.yellow("Tensor info size:")} ${toBytes(parsedMetadata.totalTensorInfoSize)}`);
178
179
  console.info(`${chalk.yellow("File type:")} ${fileTypeName ?? ""} ${chalk.white(`(${parsedMetadata.metadata.general?.file_type})`)}`);
179
180
  console.info(`${chalk.yellow("Metadata:")} ${prettyPrintObject(parsedMetadata.metadata, undefined, metadataPrettyPrintOptions)}`);
180
181
  console.info(`${chalk.yellow("Tensor info:")} ${prettyPrintObject(parsedMetadata.fullTensorInfo, undefined, tensorInfoPrettyPrintOptions)}`);
181
182
  }
182
183
  }
183
184
  };
185
+ // these fields are added by the parser for ease of use and are not found in the gguf file itself
186
+ function removeAdditionalTensorInfoFields(tensorInfo) {
187
+ if (tensorInfo == null)
188
+ return;
189
+ for (const tensor of tensorInfo) {
190
+ delete tensor.fileOffset;
191
+ delete tensor.filePart;
192
+ }
193
+ }
184
194
  //# sourceMappingURL=InspectGgufCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InspectGgufCommand.js","sourceRoot":"","sources":["../../../../../src/cli/commands/inspect/commands/InspectGgufCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InspectGgufCommand.js","sourceRoot":"","sources":["../../../../../src/cli/commands/inspect/commands/InspectGgufCommand.ts"],"names":[],"mappings":"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"}