node-llama-cpp 3.0.0-beta.15 → 3.0.0-beta.17

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 (208) hide show
  1. package/dist/ChatWrapper.d.ts +1 -15
  2. package/dist/ChatWrapper.js +19 -29
  3. package/dist/ChatWrapper.js.map +1 -1
  4. package/dist/bindings/AddonTypes.d.ts +5 -1
  5. package/dist/bindings/Llama.d.ts +7 -0
  6. package/dist/bindings/Llama.js +12 -1
  7. package/dist/bindings/Llama.js.map +1 -1
  8. package/dist/bindings/getLlama.d.ts +2 -2
  9. package/dist/bindings/getLlama.js +1 -1
  10. package/dist/bindings/getLlama.js.map +1 -1
  11. package/dist/bindings/utils/cloneLlamaCppRepo.js +23 -23
  12. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
  13. package/dist/chatWrappers/FunctionaryChatWrapper.js +39 -40
  14. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
  15. package/dist/chatWrappers/{LlamaChatWrapper.d.ts → Llama2ChatWrapper.d.ts} +1 -1
  16. package/dist/chatWrappers/{LlamaChatWrapper.js → Llama2ChatWrapper.js} +3 -3
  17. package/dist/chatWrappers/Llama2ChatWrapper.js.map +1 -0
  18. package/dist/chatWrappers/Llama3ChatWrapper.d.ts +31 -0
  19. package/dist/chatWrappers/Llama3ChatWrapper.js +129 -0
  20. package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -0
  21. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +2 -2
  22. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +6 -2
  23. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
  24. package/dist/chatWrappers/generic/TemplateChatWrapper.d.ts +2 -2
  25. package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -1
  26. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.d.ts +42 -0
  27. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js +82 -0
  28. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js.map +1 -0
  29. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +1 -1
  30. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -1
  31. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +6 -4
  32. package/dist/chatWrappers/utils/resolveChatWrapper.js +26 -18
  33. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  34. package/dist/cli/commands/BuildCommand.js +1 -1
  35. package/dist/cli/commands/BuildCommand.js.map +1 -1
  36. package/dist/cli/commands/ChatCommand.d.ts +4 -1
  37. package/dist/cli/commands/ChatCommand.js +93 -81
  38. package/dist/cli/commands/ChatCommand.js.map +1 -1
  39. package/dist/cli/commands/CompleteCommand.d.ts +4 -1
  40. package/dist/cli/commands/CompleteCommand.js +82 -61
  41. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  42. package/dist/cli/commands/DebugCommand.js +4 -4
  43. package/dist/cli/commands/DownloadCommand.js +3 -4
  44. package/dist/cli/commands/DownloadCommand.js.map +1 -1
  45. package/dist/cli/commands/InfillCommand.d.ts +4 -1
  46. package/dist/cli/commands/InfillCommand.js +84 -65
  47. package/dist/cli/commands/InfillCommand.js.map +1 -1
  48. package/dist/cli/commands/inspect/commands/InspectGgufCommand.d.ts +2 -1
  49. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +20 -7
  50. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  51. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +42 -4
  52. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  53. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +4 -1
  54. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +69 -36
  55. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  56. package/dist/cli/recommendedModels.d.ts +2 -0
  57. package/dist/cli/recommendedModels.js +350 -0
  58. package/dist/cli/recommendedModels.js.map +1 -0
  59. package/dist/cli/utils/ConsoleInteraction.d.ts +23 -0
  60. package/dist/cli/utils/ConsoleInteraction.js +122 -0
  61. package/dist/cli/utils/ConsoleInteraction.js.map +1 -0
  62. package/dist/cli/utils/ConsoleTable.js +5 -5
  63. package/dist/cli/utils/basicChooseFromListConsoleInteraction.d.ts +13 -0
  64. package/dist/cli/utils/basicChooseFromListConsoleInteraction.js +111 -0
  65. package/dist/cli/utils/basicChooseFromListConsoleInteraction.js.map +1 -0
  66. package/dist/cli/utils/consolePromptQuestion.d.ts +5 -0
  67. package/dist/cli/utils/consolePromptQuestion.js +80 -0
  68. package/dist/cli/utils/consolePromptQuestion.js.map +1 -0
  69. package/dist/cli/utils/getReadablePath.d.ts +1 -0
  70. package/dist/cli/utils/getReadablePath.js +14 -0
  71. package/dist/cli/utils/getReadablePath.js.map +1 -0
  72. package/dist/cli/utils/printCommonInfoLines.js +5 -4
  73. package/dist/cli/utils/printCommonInfoLines.js.map +1 -1
  74. package/dist/cli/utils/printInfoLine.d.ts +4 -2
  75. package/dist/cli/utils/printInfoLine.js +15 -6
  76. package/dist/cli/utils/printInfoLine.js.map +1 -1
  77. package/dist/cli/utils/resolveCommandGgufPath.d.ts +2 -1
  78. package/dist/cli/utils/resolveCommandGgufPath.js +551 -2
  79. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
  80. package/dist/cli/utils/resolveHeaderFlag.d.ts +1 -0
  81. package/dist/cli/utils/resolveHeaderFlag.js +21 -0
  82. package/dist/cli/utils/resolveHeaderFlag.js.map +1 -0
  83. package/dist/cli/utils/resolveModelRecommendationFileOptions.d.ts +19 -0
  84. package/dist/cli/utils/resolveModelRecommendationFileOptions.js +10 -0
  85. package/dist/cli/utils/resolveModelRecommendationFileOptions.js.map +1 -0
  86. package/dist/cli/utils/splitAnsiToLines.d.ts +1 -0
  87. package/dist/cli/utils/splitAnsiToLines.js +17 -0
  88. package/dist/cli/utils/splitAnsiToLines.js.map +1 -0
  89. package/dist/config.d.ts +3 -0
  90. package/dist/config.js +5 -2
  91. package/dist/config.js.map +1 -1
  92. package/dist/consts.d.ts +2 -0
  93. package/dist/consts.js +8 -0
  94. package/dist/consts.js.map +1 -1
  95. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +9 -2
  96. package/dist/evaluator/LlamaChat/LlamaChat.js +58 -22
  97. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  98. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js +3 -1
  99. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js.map +1 -1
  100. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +10 -3
  101. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +5 -3
  102. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  103. package/dist/evaluator/LlamaCompletion.d.ts +11 -4
  104. package/dist/evaluator/LlamaCompletion.js +16 -15
  105. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  106. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +13 -23
  107. package/dist/evaluator/LlamaContext/LlamaContext.js +47 -60
  108. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  109. package/dist/evaluator/LlamaEmbeddingContext.js +1 -1
  110. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  111. package/dist/evaluator/LlamaGrammar.d.ts +3 -2
  112. package/dist/evaluator/LlamaGrammar.js +3 -2
  113. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  114. package/dist/evaluator/LlamaModel.d.ts +21 -18
  115. package/dist/evaluator/LlamaModel.js +34 -205
  116. package/dist/evaluator/LlamaModel.js.map +1 -1
  117. package/dist/evaluator/TokenBias.d.ts +22 -0
  118. package/dist/evaluator/TokenBias.js +33 -0
  119. package/dist/evaluator/TokenBias.js.map +1 -0
  120. package/dist/gguf/{GgufInsights.d.ts → insights/GgufInsights.d.ts} +5 -3
  121. package/dist/gguf/{GgufInsights.js → insights/GgufInsights.js} +46 -35
  122. package/dist/gguf/insights/GgufInsights.js.map +1 -0
  123. package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +87 -0
  124. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +136 -0
  125. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -0
  126. package/dist/gguf/insights/utils/resolveContextContextSizeOption.d.ts +18 -0
  127. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js +52 -0
  128. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -0
  129. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +14 -0
  130. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js +177 -0
  131. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -0
  132. package/dist/gguf/insights/utils/scoreLevels.d.ts +5 -0
  133. package/dist/gguf/insights/utils/scoreLevels.js +16 -0
  134. package/dist/gguf/insights/utils/scoreLevels.js.map +1 -0
  135. package/dist/gguf/readGgufFileInfo.js +2 -1
  136. package/dist/gguf/readGgufFileInfo.js.map +1 -1
  137. package/dist/gguf/types/GgufMetadataTypes.d.ts +4 -0
  138. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  139. package/dist/index.d.ts +7 -4
  140. package/dist/index.js +5 -2
  141. package/dist/index.js.map +1 -1
  142. package/dist/types.d.ts +21 -1
  143. package/dist/types.js.map +1 -1
  144. package/dist/utils/LlamaText.d.ts +2 -1
  145. package/dist/utils/LlamaText.js +20 -0
  146. package/dist/utils/LlamaText.js.map +1 -1
  147. package/dist/utils/StopGenerationDetector.js +19 -18
  148. package/dist/utils/StopGenerationDetector.js.map +1 -1
  149. package/dist/utils/TokenStreamRegulator.d.ts +4 -2
  150. package/dist/utils/TokenStreamRegulator.js +22 -4
  151. package/dist/utils/TokenStreamRegulator.js.map +1 -1
  152. package/dist/utils/getConsoleLogPrefix.js +1 -1
  153. package/dist/utils/getReadableContextSize.d.ts +1 -0
  154. package/dist/utils/getReadableContextSize.js +7 -0
  155. package/dist/utils/getReadableContextSize.js.map +1 -0
  156. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +15 -11
  157. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -1
  158. package/dist/utils/isToken.d.ts +2 -0
  159. package/dist/utils/isToken.js +4 -0
  160. package/dist/utils/isToken.js.map +1 -0
  161. package/dist/utils/isUrl.d.ts +1 -0
  162. package/dist/utils/isUrl.js +15 -0
  163. package/dist/utils/isUrl.js.map +1 -0
  164. package/dist/utils/tokenizeInput.d.ts +1 -1
  165. package/dist/utils/tokenizeInput.js +3 -0
  166. package/dist/utils/tokenizeInput.js.map +1 -1
  167. package/dist/utils/utilTypes.d.ts +3 -0
  168. package/dist/utils/utilTypes.js +2 -0
  169. package/dist/utils/utilTypes.js.map +1 -0
  170. package/dist/utils/withOra.d.ts +1 -0
  171. package/dist/utils/withOra.js +13 -7
  172. package/dist/utils/withOra.js.map +1 -1
  173. package/dist/utils/withProgressLog.d.ts +23 -0
  174. package/dist/utils/withProgressLog.js +211 -0
  175. package/dist/utils/withProgressLog.js.map +1 -0
  176. package/dist/utils/withStatusLogs.js +1 -1
  177. package/dist/utils/withStatusLogs.js.map +1 -1
  178. package/llama/addon.cpp +90 -10
  179. package/llama/binariesGithubRelease.json +1 -1
  180. package/llama/gitRelease.bundle +0 -0
  181. package/llama/grammars/README.md +10 -0
  182. package/llama/llama.cpp.info.json +1 -1
  183. package/llamaBins/linux-arm64/_nlcBuildMetadata.json +1 -1
  184. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  185. package/llamaBins/linux-armv7l/_nlcBuildMetadata.json +1 -1
  186. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  187. package/llamaBins/linux-x64/_nlcBuildMetadata.json +1 -1
  188. package/llamaBins/linux-x64/llama-addon.node +0 -0
  189. package/llamaBins/linux-x64-cuda/_nlcBuildMetadata.json +1 -1
  190. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  191. package/llamaBins/linux-x64-vulkan/_nlcBuildMetadata.json +1 -1
  192. package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
  193. package/llamaBins/mac-arm64-metal/_nlcBuildMetadata.json +1 -1
  194. package/llamaBins/mac-arm64-metal/default.metallib +0 -0
  195. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  196. package/llamaBins/mac-x64/_nlcBuildMetadata.json +1 -1
  197. package/llamaBins/mac-x64/llama-addon.node +0 -0
  198. package/llamaBins/win-arm64/_nlcBuildMetadata.json +1 -1
  199. package/llamaBins/win-arm64/llama-addon.node +0 -0
  200. package/llamaBins/win-x64/_nlcBuildMetadata.json +1 -1
  201. package/llamaBins/win-x64/llama-addon.node +0 -0
  202. package/llamaBins/win-x64-cuda/_nlcBuildMetadata.json +1 -1
  203. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  204. package/llamaBins/win-x64-vulkan/_nlcBuildMetadata.json +1 -1
  205. package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
  206. package/package.json +9 -7
  207. package/dist/chatWrappers/LlamaChatWrapper.js.map +0 -1
  208. package/dist/gguf/GgufInsights.js.map +0 -1
@@ -4,173 +4,169 @@ import path from "path";
4
4
  import chalk from "chalk";
5
5
  import fs from "fs-extra";
6
6
  import { getLlama } from "../../bindings/getLlama.js";
7
- import { LlamaLogLevel, LlamaLogLevelGreaterThan } from "../../bindings/types.js";
7
+ import { LlamaLogLevel, LlamaLogLevelGreaterThan, nodeLlamaCppGpuOptions, parseNodeLlamaCppGpuOption } from "../../bindings/types.js";
8
8
  import { LlamaCompletion } from "../../evaluator/LlamaCompletion.js";
9
9
  import withOra from "../../utils/withOra.js";
10
10
  import { TokenMeter } from "../../evaluator/TokenMeter.js";
11
11
  import { printInfoLine } from "../utils/printInfoLine.js";
12
12
  import { printCommonInfoLines } from "../utils/printCommonInfoLines.js";
13
13
  import { resolveCommandGgufPath } from "../utils/resolveCommandGgufPath.js";
14
+ import { withProgressLog } from "../../utils/withProgressLog.js";
15
+ import { resolveHeaderFlag } from "../utils/resolveHeaderFlag.js";
14
16
  export const InfillCommand = {
15
17
  command: "infill [modelPath]",
16
18
  describe: "Generate an infill completion for a given suffix and prefix texts",
17
19
  builder(yargs) {
18
20
  return yargs
19
- .option("model", {
20
- alias: ["m", "modelPath"],
21
+ .option("modelPath", {
22
+ alias: ["m", "model", "path", "url"],
21
23
  type: "string",
22
- demandOption: true,
23
- description: "Llama model file to use for the infill",
24
- group: "Required:"
24
+ description: "Llama model file to use for the infill. Can be a path to a local file or a URL of a model file to download"
25
+ })
26
+ .option("header", {
27
+ alias: ["H"],
28
+ type: "string",
29
+ array: true,
30
+ description: "Headers to use when downloading a model from a URL, in the format `key: value`. You can pass this option multiple times to add multiple headers."
31
+ })
32
+ .option("gpu", {
33
+ type: "string",
34
+ // yargs types don't support passing `false` as a choice, although it is supported by yargs
35
+ choices: nodeLlamaCppGpuOptions,
36
+ coerce: (value) => {
37
+ if (value == null || value == "")
38
+ return undefined;
39
+ return parseNodeLlamaCppGpuOption(value);
40
+ },
41
+ defaultDescription: "Uses the latest local build, and fallbacks to \"auto\"",
42
+ description: "Compute layer implementation type to use for llama.cpp. If omitted, uses the latest local build, and fallbacks to \"auto\""
25
43
  })
26
44
  .option("systemInfo", {
27
45
  alias: "i",
28
46
  type: "boolean",
29
47
  default: false,
30
- description: "Print llama.cpp system info",
31
- group: "Optional:"
48
+ description: "Print llama.cpp system info"
32
49
  })
33
50
  .option("prefix", {
34
51
  type: "string",
35
- description: "First prefix text to automatically load",
36
- group: "Optional:"
52
+ description: "First prefix text to automatically load"
37
53
  })
38
54
  .option("prefixFile", {
39
55
  type: "string",
40
- description: "Path to a file to load prefix text from automatically",
41
- group: "Optional:"
56
+ description: "Path to a file to load prefix text from automatically"
42
57
  })
43
58
  .option("suffix", {
44
59
  type: "string",
45
- description: "First suffix text to automatically load. Requires `prefix` or `prefixFile` to be set",
46
- group: "Optional:"
60
+ description: "First suffix text to automatically load. Requires `prefix` or `prefixFile` to be set"
47
61
  })
48
62
  .option("suffixFile", {
49
63
  type: "string",
50
- description: "Path to a file to load suffix text from automatically. Requires `prefix` or `prefixFile` to be set",
51
- group: "Optional:"
64
+ description: "Path to a file to load suffix text from automatically. Requires `prefix` or `prefixFile` to be set"
52
65
  })
53
66
  .option("contextSize", {
54
67
  alias: "c",
55
68
  type: "number",
56
69
  description: "Context size to use for the model context",
57
70
  default: -1,
58
- defaultDescription: "Automatically determined based on the available VRAM",
59
- group: "Optional:"
71
+ defaultDescription: "Automatically determined based on the available VRAM"
60
72
  })
61
73
  .option("batchSize", {
62
74
  alias: "b",
63
75
  type: "number",
64
- description: "Batch size to use for the model context. The default value is the context size",
65
- group: "Optional:"
76
+ description: "Batch size to use for the model context. The default value is the context size"
66
77
  })
67
78
  .option("threads", {
68
79
  type: "number",
69
80
  default: 6,
70
- description: "Number of threads to use for the evaluation of tokens",
71
- group: "Optional:"
81
+ description: "Number of threads to use for the evaluation of tokens"
72
82
  })
73
83
  .option("temperature", {
74
84
  alias: "t",
75
85
  type: "number",
76
86
  default: 0,
77
- description: "Temperature is a hyperparameter that controls the randomness of the generated text. It affects the probability distribution of the model's output tokens. A higher temperature (e.g., 1.5) makes the output more random and creative, while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative. The suggested temperature is 0.8, which provides a balance between randomness and determinism. At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run. Set to `0` to disable.",
78
- group: "Optional:"
87
+ description: "Temperature is a hyperparameter that controls the randomness of the generated text. It affects the probability distribution of the model's output tokens. A higher temperature (e.g., 1.5) makes the output more random and creative, while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative. The suggested temperature is 0.8, which provides a balance between randomness and determinism. At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run. Set to `0` to disable."
79
88
  })
80
89
  .option("minP", {
81
90
  alias: "mp",
82
91
  type: "number",
83
92
  default: 0,
84
- description: "From the next token candidates, discard the percentage of tokens with the lowest probability. For example, if set to `0.05`, 5% of the lowest probability tokens will be discarded. This is useful for generating more high-quality results when using a high temperature. Set to a value between `0` and `1` to enable. Only relevant when `temperature` is set to a value greater than `0`.",
85
- group: "Optional:"
93
+ description: "From the next token candidates, discard the percentage of tokens with the lowest probability. For example, if set to `0.05`, 5% of the lowest probability tokens will be discarded. This is useful for generating more high-quality results when using a high temperature. Set to a value between `0` and `1` to enable. Only relevant when `temperature` is set to a value greater than `0`."
86
94
  })
87
95
  .option("topK", {
88
96
  alias: "k",
89
97
  type: "number",
90
98
  default: 40,
91
- description: "Limits the model to consider only the K most likely next tokens for sampling at each step of sequence generation. An integer number between `1` and the size of the vocabulary. Set to `0` to disable (which uses the full vocabulary). Only relevant when `temperature` is set to a value greater than 0.",
92
- group: "Optional:"
99
+ description: "Limits the model to consider only the K most likely next tokens for sampling at each step of sequence generation. An integer number between `1` and the size of the vocabulary. Set to `0` to disable (which uses the full vocabulary). Only relevant when `temperature` is set to a value greater than 0."
93
100
  })
94
101
  .option("topP", {
95
102
  alias: "p",
96
103
  type: "number",
97
104
  default: 0.95,
98
- description: "Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P, and samples the next token only from this set. A float number between `0` and `1`. Set to `1` to disable. Only relevant when `temperature` is set to a value greater than `0`.",
99
- group: "Optional:"
105
+ description: "Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P, and samples the next token only from this set. A float number between `0` and `1`. Set to `1` to disable. Only relevant when `temperature` is set to a value greater than `0`."
100
106
  })
101
107
  .option("gpuLayers", {
102
108
  alias: "gl",
103
109
  type: "number",
104
110
  description: "number of layers to store in VRAM",
105
111
  default: -1,
106
- defaultDescription: "Automatically determined based on the available VRAM",
107
- group: "Optional:"
112
+ defaultDescription: "Automatically determined based on the available VRAM"
108
113
  })
109
114
  .option("repeatPenalty", {
110
115
  alias: "rp",
111
116
  type: "number",
112
117
  default: 1.1,
113
- description: "Prevent the model from repeating the same token too much. Set to `1` to disable.",
114
- group: "Optional:"
118
+ description: "Prevent the model from repeating the same token too much. Set to `1` to disable."
115
119
  })
116
120
  .option("lastTokensRepeatPenalty", {
117
121
  alias: "rpn",
118
122
  type: "number",
119
123
  default: 64,
120
- description: "Number of recent tokens generated by the model to apply penalties to repetition of",
121
- group: "Optional:"
124
+ description: "Number of recent tokens generated by the model to apply penalties to repetition of"
122
125
  })
123
126
  .option("penalizeRepeatingNewLine", {
124
127
  alias: "rpnl",
125
128
  type: "boolean",
126
129
  default: true,
127
- description: "Penalize new line tokens. set \"--no-penalizeRepeatingNewLine\" or \"--no-rpnl\" to disable",
128
- group: "Optional:"
130
+ description: "Penalize new line tokens. set `--no-penalizeRepeatingNewLine` or `--no-rpnl` to disable"
129
131
  })
130
132
  .option("repeatFrequencyPenalty", {
131
133
  alias: "rfp",
132
134
  type: "number",
133
- description: "For n time a token is in the `punishTokens` array, lower its probability by `n * repeatFrequencyPenalty`. Set to a value between `0` and `1` to enable.",
134
- group: "Optional:"
135
+ description: "For n time a token is in the `punishTokens` array, lower its probability by `n * repeatFrequencyPenalty`. Set to a value between `0` and `1` to enable."
135
136
  })
136
137
  .option("repeatPresencePenalty", {
137
138
  alias: "rpp",
138
139
  type: "number",
139
- description: "Lower the probability of all the tokens in the `punishTokens` array by `repeatPresencePenalty`. Set to a value between `0` and `1` to enable.",
140
- group: "Optional:"
140
+ description: "Lower the probability of all the tokens in the `punishTokens` array by `repeatPresencePenalty`. Set to a value between `0` and `1` to enable."
141
141
  })
142
142
  .option("maxTokens", {
143
143
  alias: "mt",
144
144
  type: "number",
145
145
  default: 0,
146
- description: "Maximum number of tokens to generate in responses. Set to `0` to disable. Set to `-1` to set to the context size",
147
- group: "Optional:"
146
+ description: "Maximum number of tokens to generate in responses. Set to `0` to disable. Set to `-1` to set to the context size"
148
147
  })
149
148
  .option("debug", {
150
149
  alias: "d",
151
150
  type: "boolean",
152
151
  default: false,
153
- description: "Print llama.cpp info and debug logs",
154
- group: "Optional:"
152
+ description: "Print llama.cpp info and debug logs"
155
153
  })
156
154
  .option("meter", {
157
155
  type: "boolean",
158
156
  default: false,
159
- description: "Log how many tokens were used as input and output for each response",
160
- group: "Optional:"
157
+ description: "Log how many tokens were used as input and output for each response"
161
158
  })
162
159
  .option("printTimings", {
163
160
  alias: "pt",
164
161
  type: "boolean",
165
162
  default: false,
166
- description: "Print llama.cpp timings after each response",
167
- group: "Optional:"
163
+ description: "Print llama.cpp timings after each response"
168
164
  });
169
165
  },
170
- async handler({ model, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, threads, temperature, minP, topK, topP, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, debug, meter, printTimings }) {
166
+ async handler({ modelPath, header, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, threads, temperature, minP, topK, topP, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, debug, meter, printTimings }) {
171
167
  try {
172
168
  await RunInfill({
173
- model, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize,
169
+ modelPath, header, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize,
174
170
  threads, temperature, minP, topK, topP, gpuLayers, lastTokensRepeatPenalty,
175
171
  repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens,
176
172
  debug, meter, printTimings
@@ -183,21 +179,27 @@ export const InfillCommand = {
183
179
  }
184
180
  }
185
181
  };
186
- async function RunInfill({ model: modelArg, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, threads, temperature, minP, topK, topP, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, debug, meter, printTimings }) {
182
+ async function RunInfill({ modelPath: modelArg, header: headerArg, gpu, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, threads, temperature, minP, topK, topP, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, debug, meter, printTimings }) {
187
183
  if (contextSize === -1)
188
184
  contextSize = undefined;
189
185
  if (gpuLayers === -1)
190
186
  gpuLayers = undefined;
187
+ const headers = resolveHeaderFlag(headerArg);
191
188
  if (debug)
192
189
  console.info(`${chalk.yellow("Log level:")} debug`);
193
- const resolvedModelPath = await resolveCommandGgufPath(modelArg);
194
190
  const llamaLogLevel = debug
195
191
  ? LlamaLogLevel.debug
196
192
  : LlamaLogLevel.warn;
197
- const llama = await getLlama("lastBuild", {
198
- logLevel: llamaLogLevel
199
- });
193
+ const llama = gpu == null
194
+ ? await getLlama("lastBuild", {
195
+ logLevel: llamaLogLevel
196
+ })
197
+ : await getLlama({
198
+ gpu,
199
+ logLevel: llamaLogLevel
200
+ });
200
201
  const logBatchSize = batchSize != null;
202
+ const resolvedModelPath = await resolveCommandGgufPath(modelArg, llama, headers);
201
203
  if (systemInfo)
202
204
  console.log(llama.systemInfo);
203
205
  if (prefixFile != null && prefixFile !== "") {
@@ -220,18 +222,34 @@ async function RunInfill({ model: modelArg, systemInfo, prefix, prefixFile, suff
220
222
  }
221
223
  let initialPrefix = prefix ?? null;
222
224
  let initialSuffix = suffix ?? null;
223
- const model = await withOra({
224
- loading: chalk.blue("Loading model"),
225
- success: chalk.blue("Model loaded"),
226
- fail: chalk.blue("Failed to load model"),
227
- useStatusLogs: debug
228
- }, async () => {
225
+ const model = await withProgressLog({
226
+ loadingText: chalk.blue.bold("Loading model"),
227
+ successText: chalk.blue("Model loaded"),
228
+ failText: chalk.blue("Failed to load model"),
229
+ liveUpdates: !debug,
230
+ noProgress: debug,
231
+ liveCtrlCSendsAbortSignal: true
232
+ }, async (progressUpdater) => {
229
233
  try {
230
234
  return await llama.loadModel({
231
235
  modelPath: resolvedModelPath,
232
- gpuLayers: gpuLayers != null ? gpuLayers : undefined
236
+ gpuLayers: gpuLayers != null
237
+ ? gpuLayers
238
+ : contextSize != null
239
+ ? { fitContext: { contextSize } }
240
+ : undefined,
241
+ ignoreMemorySafetyChecks: gpuLayers != null,
242
+ onLoadProgress(loadProgress) {
243
+ progressUpdater.setProgress(loadProgress);
244
+ },
245
+ loadSignal: progressUpdater.abortSignal
233
246
  });
234
247
  }
248
+ catch (err) {
249
+ if (err === progressUpdater.abortSignal?.reason)
250
+ process.exit(0);
251
+ throw err;
252
+ }
235
253
  finally {
236
254
  if (llama.logLevel === LlamaLogLevel.debug) {
237
255
  await new Promise((accept) => setTimeout(accept, 0)); // wait for logs to finish printing
@@ -249,7 +267,8 @@ async function RunInfill({ model: modelArg, systemInfo, prefix, prefixFile, suff
249
267
  return await model.createContext({
250
268
  contextSize: contextSize != null ? contextSize : undefined,
251
269
  batchSize: batchSize != null ? batchSize : undefined,
252
- threads
270
+ threads,
271
+ ignoreMemorySafetyChecks: gpuLayers != null || contextSize != null
253
272
  });
254
273
  }
255
274
  finally {
@@ -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,6 +1,7 @@
1
1
  import { CommandModule } from "yargs";
2
2
  type InspectGgufCommand = {
3
- path: string;
3
+ modelPath: string;
4
+ header?: string[];
4
5
  fullTensorInfo: boolean;
5
6
  fullMetadataArrays: boolean;
6
7
  plainJson: boolean;
@@ -7,15 +7,25 @@ import { readGgufFileInfo } from "../../../../gguf/readGgufFileInfo.js";
7
7
  import { prettyPrintObject } from "../../../../utils/prettyPrintObject.js";
8
8
  import { getGgufFileTypeName } from "../../../../gguf/utils/getGgufFileTypeName.js";
9
9
  import { normalizeGgufDownloadUrl } from "../../../../gguf/utils/normalizeGgufDownloadUrl.js";
10
+ import { isUrl } from "../../../../utils/isUrl.js";
11
+ import { resolveHeaderFlag } from "../../../utils/resolveHeaderFlag.js";
10
12
  export const InspectGgufCommand = {
11
- command: "gguf [path]",
13
+ command: "gguf [modelPath]",
12
14
  describe: "Inspect a GGUF file",
13
15
  builder(yargs) {
14
16
  return yargs
15
- .option("path", {
17
+ .option("modelPath", {
18
+ alias: ["m", "model", "path", "url"],
16
19
  type: "string",
17
20
  demandOption: true,
18
- description: "The path or URL of the GGUF file to inspect. If a URL is provided, the metadata will be read from the remote file without downloading the entire file."
21
+ description: "The path or URL of the GGUF file to inspect. If a URL is provided, the metadata will be read from the remote file without downloading the entire file.",
22
+ group: "Required:"
23
+ })
24
+ .option("header", {
25
+ alias: ["H"],
26
+ type: "string",
27
+ array: true,
28
+ description: "Headers to use when reading a model file from a URL, in the format `key: value`. You can pass this option multiple times to add multiple headers."
19
29
  })
20
30
  .option("fullTensorInfo", {
21
31
  alias: "t",
@@ -25,7 +35,7 @@ export const InspectGgufCommand = {
25
35
  group: "Optional:"
26
36
  })
27
37
  .option("fullMetadataArrays", {
28
- alias: "m",
38
+ alias: "ma",
29
39
  type: "boolean",
30
40
  default: false,
31
41
  description: "Print the full arrays in the metadata. Caution: those arrays can be extremely large and cover the entire terminal screen. Use with caution.",
@@ -43,18 +53,21 @@ export const InspectGgufCommand = {
43
53
  group: "Optional:"
44
54
  });
45
55
  },
46
- async handler({ path: ggufPath, fullTensorInfo, fullMetadataArrays, plainJson, outputToJsonFile }) {
47
- const isPathUrl = ggufPath.startsWith("http://") || ggufPath.startsWith("https://");
56
+ async handler({ modelPath: ggufPath, header: headerArg, fullTensorInfo, fullMetadataArrays, plainJson, outputToJsonFile }) {
57
+ const isPathUrl = isUrl(ggufPath);
48
58
  const resolvedGgufPath = isPathUrl
49
59
  ? normalizeGgufDownloadUrl(ggufPath)
50
60
  : path.resolve(ggufPath);
61
+ const headers = resolveHeaderFlag(headerArg);
51
62
  if (!plainJson) {
52
63
  if (isPathUrl)
53
64
  console.info(`${chalk.yellow("URL:")} ${resolvedGgufPath}`);
54
65
  else
55
66
  console.info(`${chalk.yellow("File:")} ${resolvedGgufPath}`);
56
67
  }
57
- const parsedMetadata = await readGgufFileInfo(ggufPath);
68
+ const parsedMetadata = await readGgufFileInfo(ggufPath, {
69
+ fetchHeaders: isPathUrl ? headers : undefined
70
+ });
58
71
  const fileTypeName = getGgufFileTypeName(parsedMetadata.metadata.general?.file_type);
59
72
  if (plainJson || outputToJsonFile != null) {
60
73
  const outputJson = JSON.stringify({
@@ -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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"}
@@ -6,6 +6,7 @@ import { detectAvailableComputeLayers } from "../../../../bindings/utils/detectA
6
6
  import { getPlatform } from "../../../../bindings/utils/getPlatform.js";
7
7
  import { LlamaLogLevel } from "../../../../bindings/types.js";
8
8
  import { getPrettyBuildGpuName } from "../../../../bindings/consts.js";
9
+ import { getModuleVersion } from "../../../../utils/getModuleVersion.js";
9
10
  export const InspectGpuCommand = {
10
11
  command: "gpu",
11
12
  describe: "Show the detected GPU types and their VRAM usage",
@@ -14,6 +15,23 @@ export const InspectGpuCommand = {
14
15
  const arch = process.arch;
15
16
  const availableComputeLayers = await detectAvailableComputeLayers({ platform });
16
17
  const gpusToLogVramUsageOf = [];
18
+ console.info(`${chalk.yellow("OS:")} ${os.type()} ${os.release()} ${chalk.dim("(" + os.arch() + ")")}`);
19
+ if (process.versions.node != null)
20
+ console.info(`${chalk.yellow("Node:")} ${process.versions.node} ${chalk.dim("(" + arch + ")")}`);
21
+ if (process.versions.bun != null)
22
+ console.info(`${chalk.yellow("Bun:")} ${process.versions.bun}`);
23
+ const typeScriptVersion = await getInstalledTypescriptVersion();
24
+ if (typeScriptVersion != null)
25
+ console.info(`${chalk.yellow("TypeScript:")} ${typeScriptVersion}`);
26
+ try {
27
+ const moduleVersion = await getModuleVersion();
28
+ if (moduleVersion != null)
29
+ console.info(`${chalk.yellow("node-llama-cpp:")} ${moduleVersion}`);
30
+ }
31
+ catch (err) {
32
+ // do nothing
33
+ }
34
+ console.info();
17
35
  if (platform === "mac" && arch === "arm64") {
18
36
  console.info(`${chalk.yellow("Metal:")} ${chalk.green("available")}`);
19
37
  gpusToLogVramUsageOf.push("metal");
@@ -56,8 +74,11 @@ async function logGpuVramUsage(gpu) {
56
74
  });
57
75
  const gpuName = getPrettyBuildGpuName(gpu);
58
76
  const vramStatus = llama.getVramState();
59
- console.info(`${chalk.yellow(`${gpuName} used VRAM:`)} ${getPercentageString(vramStatus.used, vramStatus.total)}% ${chalk.grey("(" + bytes(vramStatus.used) + "/" + bytes(vramStatus.total) + ")")}`);
60
- console.info(`${chalk.yellow(`${gpuName} free VRAM:`)} ${getPercentageString(vramStatus.free, vramStatus.total)}% ${chalk.grey("(" + bytes(vramStatus.free) + "/" + bytes(vramStatus.total) + ")")}`);
77
+ const gpuDeviceNames = llama.getGpuDeviceNames();
78
+ if (gpuDeviceNames.length > 0)
79
+ console.info(`${chalk.yellow(`${gpuName} device${gpuDeviceNames.length > 1 ? "s" : ""}:`)} ${gpuDeviceNames.join(", ")}`);
80
+ console.info(`${chalk.yellow(`${gpuName} used VRAM:`)} ${getPercentageString(vramStatus.used, vramStatus.total)}% ${chalk.gray("(" + bytes(vramStatus.used) + "/" + bytes(vramStatus.total) + ")")}`);
81
+ console.info(`${chalk.yellow(`${gpuName} free VRAM:`)} ${getPercentageString(vramStatus.free, vramStatus.total)}% ${chalk.gray("(" + bytes(vramStatus.free) + "/" + bytes(vramStatus.total) + ")")}`);
61
82
  }
62
83
  catch (err) { }
63
84
  }
@@ -65,14 +86,31 @@ async function logRamUsage() {
65
86
  const totalMemory = os.totalmem();
66
87
  const freeMemory = os.freemem();
67
88
  const usedMemory = totalMemory - freeMemory;
68
- console.info(`${chalk.yellow("Used RAM:")} ${getPercentageString(usedMemory, totalMemory)}% ${chalk.grey("(" + bytes(usedMemory) + "/" + bytes(totalMemory) + ")")}`);
69
- console.info(`${chalk.yellow("Free RAM:")} ${getPercentageString(freeMemory, totalMemory)}% ${chalk.grey("(" + bytes(freeMemory) + "/" + bytes(totalMemory) + ")")}`);
89
+ const cpuDeviceNames = Array.from(new Set(os.cpus()
90
+ .map((cpu) => (cpu.model?.trim?.() ?? ""))
91
+ .filter((deviceName) => deviceName.length > 0)));
92
+ if (cpuDeviceNames.length > 0)
93
+ console.info(`${chalk.yellow("CPU model" + (cpuDeviceNames.length > 1 ? "s" : "") + ":")} ${cpuDeviceNames.join(", ")}`);
94
+ console.info(`${chalk.yellow("Used RAM:")} ${getPercentageString(usedMemory, totalMemory)}% ${chalk.gray("(" + bytes(usedMemory) + "/" + bytes(totalMemory) + ")")}`);
95
+ console.info(`${chalk.yellow("Free RAM:")} ${getPercentageString(freeMemory, totalMemory)}% ${chalk.gray("(" + bytes(freeMemory) + "/" + bytes(totalMemory) + ")")}`);
70
96
  }
71
97
  function getPercentageString(amount, total) {
72
98
  if (total === 0)
73
99
  return "0";
74
100
  return String(Math.floor((amount / total) * 100 * 100) / 100);
75
101
  }
102
+ async function getInstalledTypescriptVersion() {
103
+ try {
104
+ const ts = await import("typescript");
105
+ const version = ts?.version ?? ts?.default?.version;
106
+ if (version != null && typeof version === "string" && version.length > 0)
107
+ return version;
108
+ return null;
109
+ }
110
+ catch (err) {
111
+ return null;
112
+ }
113
+ }
76
114
  // // simple script to copy console logs as ansi to clipboard. Used to update the documentation
77
115
  // import {spawn} from "child_process";
78
116
  // const pendingLog: string[] = [];
@@ -1 +1 @@
1
- {"version":3,"file":"InspectGpuCommand.js","sourceRoot":"","sources":["../../../../../src/cli/commands/inspect/commands/InspectGpuCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InspectGpuCommand.js","sourceRoot":"","sources":["../../../../../src/cli/commands/inspect/commands/InspectGpuCommand.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { CommandModule } from "yargs";
2
+ import { BuildGpu } from "../../../../bindings/types.js";
2
3
  type InspectMeasureCommand = {
3
- path: string;
4
+ modelPath?: string;
5
+ header?: string[];
6
+ gpu?: BuildGpu | "auto";
4
7
  minLayers: number;
5
8
  maxLayers?: number;
6
9
  minContextSize: number;