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

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 (163) hide show
  1. package/dist/bindings/AddonTypes.d.ts +2 -0
  2. package/dist/bindings/Llama.d.ts +7 -0
  3. package/dist/bindings/Llama.js +12 -1
  4. package/dist/bindings/Llama.js.map +1 -1
  5. package/dist/bindings/getLlama.d.ts +2 -2
  6. package/dist/bindings/getLlama.js +1 -1
  7. package/dist/bindings/getLlama.js.map +1 -1
  8. package/dist/bindings/utils/cloneLlamaCppRepo.js +23 -23
  9. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
  10. package/dist/chatWrappers/utils/resolveChatWrapper.js +3 -1
  11. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  12. package/dist/cli/commands/BuildCommand.js +1 -1
  13. package/dist/cli/commands/BuildCommand.js.map +1 -1
  14. package/dist/cli/commands/ChatCommand.d.ts +2 -1
  15. package/dist/cli/commands/ChatCommand.js +70 -75
  16. package/dist/cli/commands/ChatCommand.js.map +1 -1
  17. package/dist/cli/commands/CompleteCommand.d.ts +2 -1
  18. package/dist/cli/commands/CompleteCommand.js +61 -57
  19. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  20. package/dist/cli/commands/DebugCommand.js +4 -4
  21. package/dist/cli/commands/DownloadCommand.js +3 -4
  22. package/dist/cli/commands/DownloadCommand.js.map +1 -1
  23. package/dist/cli/commands/InfillCommand.d.ts +2 -1
  24. package/dist/cli/commands/InfillCommand.js +63 -61
  25. package/dist/cli/commands/InfillCommand.js.map +1 -1
  26. package/dist/cli/commands/inspect/commands/InspectGgufCommand.d.ts +2 -1
  27. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +20 -7
  28. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  29. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +42 -4
  30. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  31. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +2 -1
  32. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +29 -27
  33. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  34. package/dist/cli/recommendedModels.d.ts +2 -0
  35. package/dist/cli/recommendedModels.js +281 -0
  36. package/dist/cli/recommendedModels.js.map +1 -0
  37. package/dist/cli/utils/ConsoleInteraction.d.ts +23 -0
  38. package/dist/cli/utils/ConsoleInteraction.js +122 -0
  39. package/dist/cli/utils/ConsoleInteraction.js.map +1 -0
  40. package/dist/cli/utils/ConsoleTable.js +5 -5
  41. package/dist/cli/utils/basicChooseFromListConsoleInteraction.d.ts +13 -0
  42. package/dist/cli/utils/basicChooseFromListConsoleInteraction.js +111 -0
  43. package/dist/cli/utils/basicChooseFromListConsoleInteraction.js.map +1 -0
  44. package/dist/cli/utils/consolePromptQuestion.d.ts +5 -0
  45. package/dist/cli/utils/consolePromptQuestion.js +80 -0
  46. package/dist/cli/utils/consolePromptQuestion.js.map +1 -0
  47. package/dist/cli/utils/getReadablePath.d.ts +1 -0
  48. package/dist/cli/utils/getReadablePath.js +14 -0
  49. package/dist/cli/utils/getReadablePath.js.map +1 -0
  50. package/dist/cli/utils/printCommonInfoLines.js +1 -1
  51. package/dist/cli/utils/printInfoLine.d.ts +4 -2
  52. package/dist/cli/utils/printInfoLine.js +15 -6
  53. package/dist/cli/utils/printInfoLine.js.map +1 -1
  54. package/dist/cli/utils/resolveCommandGgufPath.d.ts +2 -1
  55. package/dist/cli/utils/resolveCommandGgufPath.js +490 -2
  56. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
  57. package/dist/cli/utils/resolveHeaderFlag.d.ts +1 -0
  58. package/dist/cli/utils/resolveHeaderFlag.js +21 -0
  59. package/dist/cli/utils/resolveHeaderFlag.js.map +1 -0
  60. package/dist/cli/utils/resolveModelRecommendationFileOptions.d.ts +19 -0
  61. package/dist/cli/utils/resolveModelRecommendationFileOptions.js +7 -0
  62. package/dist/cli/utils/resolveModelRecommendationFileOptions.js.map +1 -0
  63. package/dist/cli/utils/splitAnsiToLines.d.ts +1 -0
  64. package/dist/cli/utils/splitAnsiToLines.js +17 -0
  65. package/dist/cli/utils/splitAnsiToLines.js.map +1 -0
  66. package/dist/config.d.ts +3 -0
  67. package/dist/config.js +5 -2
  68. package/dist/config.js.map +1 -1
  69. package/dist/consts.d.ts +2 -0
  70. package/dist/consts.js +8 -0
  71. package/dist/consts.js.map +1 -1
  72. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +8 -1
  73. package/dist/evaluator/LlamaChat/LlamaChat.js +2 -1
  74. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  75. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +9 -2
  76. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +5 -3
  77. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  78. package/dist/evaluator/LlamaCompletion.d.ts +9 -2
  79. package/dist/evaluator/LlamaCompletion.js +6 -3
  80. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  81. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +9 -19
  82. package/dist/evaluator/LlamaContext/LlamaContext.js +35 -55
  83. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  84. package/dist/evaluator/LlamaGrammar.d.ts +3 -2
  85. package/dist/evaluator/LlamaGrammar.js +3 -2
  86. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  87. package/dist/evaluator/LlamaModel.d.ts +7 -15
  88. package/dist/evaluator/LlamaModel.js +4 -201
  89. package/dist/evaluator/LlamaModel.js.map +1 -1
  90. package/dist/evaluator/TokenBias.d.ts +22 -0
  91. package/dist/evaluator/TokenBias.js +33 -0
  92. package/dist/evaluator/TokenBias.js.map +1 -0
  93. package/dist/gguf/{GgufInsights.d.ts → insights/GgufInsights.d.ts} +5 -3
  94. package/dist/gguf/{GgufInsights.js → insights/GgufInsights.js} +46 -35
  95. package/dist/gguf/insights/GgufInsights.js.map +1 -0
  96. package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +87 -0
  97. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +136 -0
  98. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -0
  99. package/dist/gguf/insights/utils/resolveContextContextSizeOption.d.ts +18 -0
  100. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js +52 -0
  101. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -0
  102. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +14 -0
  103. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js +177 -0
  104. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -0
  105. package/dist/gguf/insights/utils/scoreLevels.d.ts +5 -0
  106. package/dist/gguf/insights/utils/scoreLevels.js +16 -0
  107. package/dist/gguf/insights/utils/scoreLevels.js.map +1 -0
  108. package/dist/gguf/readGgufFileInfo.js +2 -1
  109. package/dist/gguf/readGgufFileInfo.js.map +1 -1
  110. package/dist/index.d.ts +2 -1
  111. package/dist/index.js +2 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/utils/getConsoleLogPrefix.js +1 -1
  114. package/dist/utils/getReadableContextSize.d.ts +1 -0
  115. package/dist/utils/getReadableContextSize.js +7 -0
  116. package/dist/utils/getReadableContextSize.js.map +1 -0
  117. package/dist/utils/isToken.d.ts +2 -0
  118. package/dist/utils/isToken.js +4 -0
  119. package/dist/utils/isToken.js.map +1 -0
  120. package/dist/utils/isUrl.d.ts +1 -0
  121. package/dist/utils/isUrl.js +15 -0
  122. package/dist/utils/isUrl.js.map +1 -0
  123. package/dist/utils/tokenizeInput.d.ts +1 -1
  124. package/dist/utils/tokenizeInput.js +3 -0
  125. package/dist/utils/tokenizeInput.js.map +1 -1
  126. package/dist/utils/withOra.d.ts +1 -0
  127. package/dist/utils/withOra.js +13 -7
  128. package/dist/utils/withOra.js.map +1 -1
  129. package/dist/utils/withProgressLog.d.ts +23 -0
  130. package/dist/utils/withProgressLog.js +211 -0
  131. package/dist/utils/withProgressLog.js.map +1 -0
  132. package/dist/utils/withStatusLogs.js +1 -1
  133. package/dist/utils/withStatusLogs.js.map +1 -1
  134. package/llama/addon.cpp +43 -5
  135. package/llama/binariesGithubRelease.json +1 -1
  136. package/llama/gitRelease.bundle +0 -0
  137. package/llama/grammars/README.md +10 -0
  138. package/llama/llama.cpp.info.json +1 -1
  139. package/llamaBins/linux-arm64/_nlcBuildMetadata.json +1 -1
  140. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  141. package/llamaBins/linux-armv7l/_nlcBuildMetadata.json +1 -1
  142. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  143. package/llamaBins/linux-x64/_nlcBuildMetadata.json +1 -1
  144. package/llamaBins/linux-x64/llama-addon.node +0 -0
  145. package/llamaBins/linux-x64-cuda/_nlcBuildMetadata.json +1 -1
  146. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  147. package/llamaBins/linux-x64-vulkan/_nlcBuildMetadata.json +1 -1
  148. package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
  149. package/llamaBins/mac-arm64-metal/_nlcBuildMetadata.json +1 -1
  150. package/llamaBins/mac-arm64-metal/default.metallib +0 -0
  151. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  152. package/llamaBins/mac-x64/_nlcBuildMetadata.json +1 -1
  153. package/llamaBins/mac-x64/llama-addon.node +0 -0
  154. package/llamaBins/win-arm64/_nlcBuildMetadata.json +1 -1
  155. package/llamaBins/win-arm64/llama-addon.node +0 -0
  156. package/llamaBins/win-x64/_nlcBuildMetadata.json +1 -1
  157. package/llamaBins/win-x64/llama-addon.node +0 -0
  158. package/llamaBins/win-x64-cuda/_nlcBuildMetadata.json +1 -1
  159. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  160. package/llamaBins/win-x64-vulkan/_nlcBuildMetadata.json +1 -1
  161. package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
  162. package/package.json +8 -7
  163. package/dist/gguf/GgufInsights.js.map +0 -1
@@ -11,166 +11,150 @@ 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."
25
31
  })
26
32
  .option("systemInfo", {
27
33
  alias: "i",
28
34
  type: "boolean",
29
35
  default: false,
30
- description: "Print llama.cpp system info",
31
- group: "Optional:"
36
+ description: "Print llama.cpp system info"
32
37
  })
33
38
  .option("prefix", {
34
39
  type: "string",
35
- description: "First prefix text to automatically load",
36
- group: "Optional:"
40
+ description: "First prefix text to automatically load"
37
41
  })
38
42
  .option("prefixFile", {
39
43
  type: "string",
40
- description: "Path to a file to load prefix text from automatically",
41
- group: "Optional:"
44
+ description: "Path to a file to load prefix text from automatically"
42
45
  })
43
46
  .option("suffix", {
44
47
  type: "string",
45
- description: "First suffix text to automatically load. Requires `prefix` or `prefixFile` to be set",
46
- group: "Optional:"
48
+ description: "First suffix text to automatically load. Requires `prefix` or `prefixFile` to be set"
47
49
  })
48
50
  .option("suffixFile", {
49
51
  type: "string",
50
- description: "Path to a file to load suffix text from automatically. Requires `prefix` or `prefixFile` to be set",
51
- group: "Optional:"
52
+ description: "Path to a file to load suffix text from automatically. Requires `prefix` or `prefixFile` to be set"
52
53
  })
53
54
  .option("contextSize", {
54
55
  alias: "c",
55
56
  type: "number",
56
57
  description: "Context size to use for the model context",
57
58
  default: -1,
58
- defaultDescription: "Automatically determined based on the available VRAM",
59
- group: "Optional:"
59
+ defaultDescription: "Automatically determined based on the available VRAM"
60
60
  })
61
61
  .option("batchSize", {
62
62
  alias: "b",
63
63
  type: "number",
64
- description: "Batch size to use for the model context. The default value is the context size",
65
- group: "Optional:"
64
+ description: "Batch size to use for the model context. The default value is the context size"
66
65
  })
67
66
  .option("threads", {
68
67
  type: "number",
69
68
  default: 6,
70
- description: "Number of threads to use for the evaluation of tokens",
71
- group: "Optional:"
69
+ description: "Number of threads to use for the evaluation of tokens"
72
70
  })
73
71
  .option("temperature", {
74
72
  alias: "t",
75
73
  type: "number",
76
74
  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:"
75
+ 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
76
  })
80
77
  .option("minP", {
81
78
  alias: "mp",
82
79
  type: "number",
83
80
  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:"
81
+ 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
82
  })
87
83
  .option("topK", {
88
84
  alias: "k",
89
85
  type: "number",
90
86
  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:"
87
+ 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
88
  })
94
89
  .option("topP", {
95
90
  alias: "p",
96
91
  type: "number",
97
92
  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:"
93
+ 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
94
  })
101
95
  .option("gpuLayers", {
102
96
  alias: "gl",
103
97
  type: "number",
104
98
  description: "number of layers to store in VRAM",
105
99
  default: -1,
106
- defaultDescription: "Automatically determined based on the available VRAM",
107
- group: "Optional:"
100
+ defaultDescription: "Automatically determined based on the available VRAM"
108
101
  })
109
102
  .option("repeatPenalty", {
110
103
  alias: "rp",
111
104
  type: "number",
112
105
  default: 1.1,
113
- description: "Prevent the model from repeating the same token too much. Set to `1` to disable.",
114
- group: "Optional:"
106
+ description: "Prevent the model from repeating the same token too much. Set to `1` to disable."
115
107
  })
116
108
  .option("lastTokensRepeatPenalty", {
117
109
  alias: "rpn",
118
110
  type: "number",
119
111
  default: 64,
120
- description: "Number of recent tokens generated by the model to apply penalties to repetition of",
121
- group: "Optional:"
112
+ description: "Number of recent tokens generated by the model to apply penalties to repetition of"
122
113
  })
123
114
  .option("penalizeRepeatingNewLine", {
124
115
  alias: "rpnl",
125
116
  type: "boolean",
126
117
  default: true,
127
- description: "Penalize new line tokens. set \"--no-penalizeRepeatingNewLine\" or \"--no-rpnl\" to disable",
128
- group: "Optional:"
118
+ description: "Penalize new line tokens. set `--no-penalizeRepeatingNewLine` or `--no-rpnl` to disable"
129
119
  })
130
120
  .option("repeatFrequencyPenalty", {
131
121
  alias: "rfp",
132
122
  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:"
123
+ 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
124
  })
136
125
  .option("repeatPresencePenalty", {
137
126
  alias: "rpp",
138
127
  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:"
128
+ 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
129
  })
142
130
  .option("maxTokens", {
143
131
  alias: "mt",
144
132
  type: "number",
145
133
  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:"
134
+ description: "Maximum number of tokens to generate in responses. Set to `0` to disable. Set to `-1` to set to the context size"
148
135
  })
149
136
  .option("debug", {
150
137
  alias: "d",
151
138
  type: "boolean",
152
139
  default: false,
153
- description: "Print llama.cpp info and debug logs",
154
- group: "Optional:"
140
+ description: "Print llama.cpp info and debug logs"
155
141
  })
156
142
  .option("meter", {
157
143
  type: "boolean",
158
144
  default: false,
159
- description: "Log how many tokens were used as input and output for each response",
160
- group: "Optional:"
145
+ description: "Log how many tokens were used as input and output for each response"
161
146
  })
162
147
  .option("printTimings", {
163
148
  alias: "pt",
164
149
  type: "boolean",
165
150
  default: false,
166
- description: "Print llama.cpp timings after each response",
167
- group: "Optional:"
151
+ description: "Print llama.cpp timings after each response"
168
152
  });
169
153
  },
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 }) {
154
+ async handler({ modelPath, header, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, threads, temperature, minP, topK, topP, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, debug, meter, printTimings }) {
171
155
  try {
172
156
  await RunInfill({
173
- model, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize,
157
+ modelPath, header, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize,
174
158
  threads, temperature, minP, topK, topP, gpuLayers, lastTokensRepeatPenalty,
175
159
  repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens,
176
160
  debug, meter, printTimings
@@ -183,14 +167,14 @@ export const InfillCommand = {
183
167
  }
184
168
  }
185
169
  };
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 }) {
170
+ async function RunInfill({ modelPath: modelArg, header: headerArg, systemInfo, prefix, prefixFile, suffix, suffixFile, contextSize, batchSize, threads, temperature, minP, topK, topP, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, debug, meter, printTimings }) {
187
171
  if (contextSize === -1)
188
172
  contextSize = undefined;
189
173
  if (gpuLayers === -1)
190
174
  gpuLayers = undefined;
175
+ const headers = resolveHeaderFlag(headerArg);
191
176
  if (debug)
192
177
  console.info(`${chalk.yellow("Log level:")} debug`);
193
- const resolvedModelPath = await resolveCommandGgufPath(modelArg);
194
178
  const llamaLogLevel = debug
195
179
  ? LlamaLogLevel.debug
196
180
  : LlamaLogLevel.warn;
@@ -198,6 +182,7 @@ async function RunInfill({ model: modelArg, systemInfo, prefix, prefixFile, suff
198
182
  logLevel: llamaLogLevel
199
183
  });
200
184
  const logBatchSize = batchSize != null;
185
+ const resolvedModelPath = await resolveCommandGgufPath(modelArg, llama, headers);
201
186
  if (systemInfo)
202
187
  console.log(llama.systemInfo);
203
188
  if (prefixFile != null && prefixFile !== "") {
@@ -220,18 +205,34 @@ async function RunInfill({ model: modelArg, systemInfo, prefix, prefixFile, suff
220
205
  }
221
206
  let initialPrefix = prefix ?? null;
222
207
  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 () => {
208
+ const model = await withProgressLog({
209
+ loadingText: chalk.blue.bold("Loading model"),
210
+ successText: chalk.blue("Model loaded"),
211
+ failText: chalk.blue("Failed to load model"),
212
+ liveUpdates: !debug,
213
+ noProgress: debug,
214
+ liveCtrlCSendsAbortSignal: true
215
+ }, async (progressUpdater) => {
229
216
  try {
230
217
  return await llama.loadModel({
231
218
  modelPath: resolvedModelPath,
232
- gpuLayers: gpuLayers != null ? gpuLayers : undefined
219
+ gpuLayers: gpuLayers != null
220
+ ? gpuLayers
221
+ : contextSize != null
222
+ ? { fitContext: { contextSize } }
223
+ : undefined,
224
+ ignoreMemorySafetyChecks: gpuLayers != null,
225
+ onLoadProgress(loadProgress) {
226
+ progressUpdater.setProgress(loadProgress);
227
+ },
228
+ loadSignal: progressUpdater.abortSignal
233
229
  });
234
230
  }
231
+ catch (err) {
232
+ if (err === progressUpdater.abortSignal?.reason)
233
+ process.exit(0);
234
+ throw err;
235
+ }
235
236
  finally {
236
237
  if (llama.logLevel === LlamaLogLevel.debug) {
237
238
  await new Promise((accept) => setTimeout(accept, 0)); // wait for logs to finish printing
@@ -249,7 +250,8 @@ async function RunInfill({ model: modelArg, systemInfo, prefix, prefixFile, suff
249
250
  return await model.createContext({
250
251
  contextSize: contextSize != null ? contextSize : undefined,
251
252
  batchSize: batchSize != null ? batchSize : undefined,
252
- threads
253
+ threads,
254
+ ignoreMemorySafetyChecks: gpuLayers != null || contextSize != null
253
255
  });
254
256
  }
255
257
  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,7 @@
1
1
  import { CommandModule } from "yargs";
2
2
  type InspectMeasureCommand = {
3
- path: string;
3
+ modelPath?: string;
4
+ header?: string[];
4
5
  minLayers: number;
5
6
  maxLayers?: number;
6
7
  minContextSize: number;