node-llama-cpp 3.0.0-beta.12 → 3.0.0-beta.13

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 (181) hide show
  1. package/dist/ChatWrapper.d.ts +1 -0
  2. package/dist/ChatWrapper.js +2 -1
  3. package/dist/ChatWrapper.js.map +1 -1
  4. package/dist/TemplateChatWrapper.d.ts +67 -0
  5. package/dist/TemplateChatWrapper.js +239 -0
  6. package/dist/TemplateChatWrapper.js.map +1 -0
  7. package/dist/bindings/AddonTypes.d.ts +2 -0
  8. package/dist/bindings/Llama.d.ts +1 -3
  9. package/dist/bindings/Llama.js +10 -20
  10. package/dist/bindings/Llama.js.map +1 -1
  11. package/dist/bindings/consts.d.ts +2 -0
  12. package/dist/bindings/consts.js +11 -0
  13. package/dist/bindings/consts.js.map +1 -0
  14. package/dist/bindings/getLlama.d.ts +14 -18
  15. package/dist/bindings/getLlama.js +210 -78
  16. package/dist/bindings/getLlama.js.map +1 -1
  17. package/dist/bindings/types.d.ts +8 -5
  18. package/dist/bindings/types.js +18 -0
  19. package/dist/bindings/types.js.map +1 -1
  20. package/dist/bindings/utils/asyncEvery.d.ts +5 -0
  21. package/dist/bindings/utils/asyncEvery.js +15 -0
  22. package/dist/bindings/utils/asyncEvery.js.map +1 -0
  23. package/dist/bindings/utils/asyncSome.d.ts +5 -0
  24. package/dist/bindings/utils/asyncSome.js +27 -0
  25. package/dist/bindings/utils/asyncSome.js.map +1 -0
  26. package/dist/bindings/utils/cloneLlamaCppRepo.js +13 -3
  27. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
  28. package/dist/bindings/utils/compileLLamaCpp.js +30 -4
  29. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  30. package/dist/bindings/utils/detectAvailableComputeLayers.d.ts +11 -0
  31. package/dist/bindings/utils/detectAvailableComputeLayers.js +158 -0
  32. package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -0
  33. package/dist/bindings/utils/detectGlibc.d.ts +4 -0
  34. package/dist/bindings/utils/detectGlibc.js +36 -0
  35. package/dist/bindings/utils/detectGlibc.js.map +1 -0
  36. package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +9 -0
  37. package/dist/bindings/utils/getBestComputeLayersAvailable.js +29 -0
  38. package/dist/bindings/utils/getBestComputeLayersAvailable.js.map +1 -0
  39. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js +12 -6
  40. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -1
  41. package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +11 -0
  42. package/dist/bindings/utils/getGpuTypesToUseForOption.js +30 -0
  43. package/dist/bindings/utils/getGpuTypesToUseForOption.js.map +1 -0
  44. package/dist/bindings/utils/getLinuxDistroInfo.d.ts +9 -0
  45. package/dist/bindings/utils/getLinuxDistroInfo.js +46 -0
  46. package/dist/bindings/utils/getLinuxDistroInfo.js.map +1 -0
  47. package/dist/bindings/utils/getPlatformInfo.d.ts +5 -0
  48. package/dist/bindings/utils/getPlatformInfo.js +28 -0
  49. package/dist/bindings/utils/getPlatformInfo.js.map +1 -0
  50. package/dist/bindings/utils/hasFileInPath.d.ts +2 -0
  51. package/dist/bindings/utils/hasFileInPath.js +34 -0
  52. package/dist/bindings/utils/hasFileInPath.js.map +1 -0
  53. package/dist/bindings/utils/logBinaryUsageExampleToConsole.d.ts +1 -1
  54. package/dist/bindings/utils/logBinaryUsageExampleToConsole.js +3 -9
  55. package/dist/bindings/utils/logBinaryUsageExampleToConsole.js.map +1 -1
  56. package/dist/bindings/utils/logDistroInstallInstruction.d.ts +13 -0
  57. package/dist/bindings/utils/logDistroInstallInstruction.js +38 -0
  58. package/dist/bindings/utils/logDistroInstallInstruction.js.map +1 -0
  59. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.d.ts +9 -2
  60. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js +10 -4
  61. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js.map +1 -1
  62. package/dist/bindings/utils/testBindingBinary.d.ts +1 -0
  63. package/dist/bindings/utils/testBindingBinary.js +98 -0
  64. package/dist/bindings/utils/testBindingBinary.js.map +1 -0
  65. package/dist/chatWrappers/ChatMLChatWrapper.js +1 -1
  66. package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
  67. package/dist/chatWrappers/GemmaChatWrapper.d.ts +18 -0
  68. package/dist/chatWrappers/GemmaChatWrapper.js +86 -0
  69. package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -0
  70. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +3 -0
  71. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -1
  72. package/dist/cli/cli.js +2 -0
  73. package/dist/cli/cli.js.map +1 -1
  74. package/dist/cli/commands/BuildCommand.d.ts +5 -5
  75. package/dist/cli/commands/BuildCommand.js +78 -60
  76. package/dist/cli/commands/BuildCommand.js.map +1 -1
  77. package/dist/cli/commands/DebugCommand.js +3 -9
  78. package/dist/cli/commands/DebugCommand.js.map +1 -1
  79. package/dist/cli/commands/DownloadCommand.d.ts +5 -5
  80. package/dist/cli/commands/DownloadCommand.js +97 -56
  81. package/dist/cli/commands/DownloadCommand.js.map +1 -1
  82. package/dist/cli/commands/InspectCommand.d.ts +7 -0
  83. package/dist/cli/commands/InspectCommand.js +113 -0
  84. package/dist/cli/commands/InspectCommand.js.map +1 -0
  85. package/dist/cli/utils/logUsedGpuTypeOption.d.ts +2 -0
  86. package/dist/cli/utils/logUsedGpuTypeOption.js +9 -0
  87. package/dist/cli/utils/logUsedGpuTypeOption.js.map +1 -0
  88. package/dist/config.d.ts +3 -3
  89. package/dist/config.js +10 -11
  90. package/dist/config.js.map +1 -1
  91. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +3 -0
  92. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +3 -0
  93. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -1
  94. package/dist/gguf/GGUFInsights.d.ts +28 -0
  95. package/dist/gguf/GGUFInsights.js +58 -0
  96. package/dist/gguf/GGUFInsights.js.map +1 -0
  97. package/dist/gguf/GGUFMetadata.d.ts +19 -0
  98. package/dist/gguf/GGUFMetadata.js +38 -0
  99. package/dist/gguf/GGUFMetadata.js.map +1 -0
  100. package/dist/gguf/errors/InvalidGGUFMagicError.d.ts +3 -0
  101. package/dist/gguf/errors/InvalidGGUFMagicError.js +6 -0
  102. package/dist/gguf/errors/InvalidGGUFMagicError.js.map +1 -0
  103. package/dist/gguf/errors/MetadataNotParsedYetError.d.ts +3 -0
  104. package/dist/gguf/errors/MetadataNotParsedYetError.js +6 -0
  105. package/dist/gguf/errors/MetadataNotParsedYetError.js.map +1 -0
  106. package/dist/gguf/errors/MissingNodeLlamaError.d.ts +3 -0
  107. package/dist/gguf/errors/MissingNodeLlamaError.js +6 -0
  108. package/dist/gguf/errors/MissingNodeLlamaError.js.map +1 -0
  109. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.d.ts +5 -0
  110. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js +12 -0
  111. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js.map +1 -0
  112. package/dist/gguf/errors/UnsupportedMetadataTypeError.d.ts +4 -0
  113. package/dist/gguf/errors/UnsupportedMetadataTypeError.js +8 -0
  114. package/dist/gguf/errors/UnsupportedMetadataTypeError.js.map +1 -0
  115. package/dist/gguf/ggufParser/GGUFParser.d.ts +18 -0
  116. package/dist/gguf/ggufParser/GGUFParser.js +123 -0
  117. package/dist/gguf/ggufParser/GGUFParser.js.map +1 -0
  118. package/dist/gguf/ggufParser/GGUFTypes.d.ts +257 -0
  119. package/dist/gguf/ggufParser/GGUFTypes.js +2 -0
  120. package/dist/gguf/ggufParser/GGUFTypes.js.map +1 -0
  121. package/dist/gguf/ggufParser/checkArchitecture.d.ts +14 -0
  122. package/dist/gguf/ggufParser/checkArchitecture.js +74 -0
  123. package/dist/gguf/ggufParser/checkArchitecture.js.map +1 -0
  124. package/dist/gguf/ggufParser/stream/GGUFBaseStream.d.ts +38 -0
  125. package/dist/gguf/ggufParser/stream/GGUFBaseStream.js +83 -0
  126. package/dist/gguf/ggufParser/stream/GGUFBaseStream.js.map +1 -0
  127. package/dist/gguf/ggufParser/stream/GGUFFetchStream.d.ts +14 -0
  128. package/dist/gguf/ggufParser/stream/GGUFFetchStream.js +35 -0
  129. package/dist/gguf/ggufParser/stream/GGUFFetchStream.js.map +1 -0
  130. package/dist/gguf/ggufParser/stream/GGUFReadStream.d.ts +15 -0
  131. package/dist/gguf/ggufParser/stream/GGUFReadStream.js +40 -0
  132. package/dist/gguf/ggufParser/stream/GGUFReadStream.js.map +1 -0
  133. package/dist/index.d.ts +3 -1
  134. package/dist/index.js +3 -1
  135. package/dist/index.js.map +1 -1
  136. package/dist/utils/LlamaText.js +2 -2
  137. package/dist/utils/LlamaText.js.map +1 -1
  138. package/dist/utils/cmake.js +23 -10
  139. package/dist/utils/cmake.js.map +1 -1
  140. package/dist/utils/getBuildDefaults.d.ts +1 -3
  141. package/dist/utils/getBuildDefaults.js +2 -4
  142. package/dist/utils/getBuildDefaults.js.map +1 -1
  143. package/dist/utils/getConsoleLogPrefix.d.ts +1 -1
  144. package/dist/utils/getConsoleLogPrefix.js +2 -2
  145. package/dist/utils/getConsoleLogPrefix.js.map +1 -1
  146. package/dist/utils/mergeUnionTypes.d.ts +6 -0
  147. package/dist/utils/mergeUnionTypes.js +2 -0
  148. package/dist/utils/mergeUnionTypes.js.map +1 -0
  149. package/dist/utils/parseTextTemplate.d.ts +66 -0
  150. package/dist/utils/parseTextTemplate.js +116 -0
  151. package/dist/utils/parseTextTemplate.js.map +1 -0
  152. package/llama/CMakeLists.txt +11 -5
  153. package/llama/addon.cpp +31 -7
  154. package/llama/binariesGithubRelease.json +1 -1
  155. package/llama/gitRelease.bundle +0 -0
  156. package/llama/llama.cpp.info.json +1 -1
  157. package/llamaBins/linux-arm64/.buildMetadata.json +1 -1
  158. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  159. package/llamaBins/linux-armv7l/.buildMetadata.json +1 -1
  160. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  161. package/llamaBins/linux-x64/.buildMetadata.json +1 -1
  162. package/llamaBins/linux-x64/llama-addon.node +0 -0
  163. package/llamaBins/linux-x64-cuda/.buildMetadata.json +1 -1
  164. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  165. package/llamaBins/linux-x64-vulkan/.buildMetadata.json +1 -1
  166. package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
  167. package/llamaBins/mac-arm64-metal/.buildMetadata.json +1 -1
  168. package/llamaBins/mac-arm64-metal/ggml-metal.metal +815 -106
  169. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  170. package/llamaBins/mac-x64/.buildMetadata.json +1 -1
  171. package/llamaBins/mac-x64/llama-addon.node +0 -0
  172. package/llamaBins/win-x64/.buildMetadata.json +1 -1
  173. package/llamaBins/win-x64/llama-addon.node +0 -0
  174. package/llamaBins/win-x64-cuda/.buildMetadata.json +1 -1
  175. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  176. package/llamaBins/win-x64-vulkan/.buildMetadata.json +1 -1
  177. package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
  178. package/package.json +6 -4
  179. package/dist/cli/utils/logEnabledComputeLayers.d.ts +0 -8
  180. package/dist/cli/utils/logEnabledComputeLayers.js +0 -11
  181. package/dist/cli/utils/logEnabledComputeLayers.js.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAe,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAC,kBAAkB,EAAC,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAE,sBAAsB,EAA0B,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AACvH,OAAO,EAAC,YAAY,EAA2B,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAC,sBAAsB,EAAC,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAC,8BAA8B,EAAC,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAC,2BAA2B,EAAqC,MAAM,4CAA4C,CAAC;AAC3H,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EACH,qBAAqB,EAAqC,cAAc,EAC3E,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EACH,gBAAgB,EAEnB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAC,yBAAyB,EAAC,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EACH,SAAS,EAEZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,eAAe,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,8BAA8B,EAAC,MAAM,kDAAkD,CAAC;AAChG,OAAO,EACH,wCAAwC,EAAE,oBAAoB,EACjE,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACH,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAE1E,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,8BAA8B,EAAC,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAGS,+BAA+B,EAC9C,MAAM,YAAY,CAAC;AAOpB,OAAO,EACH,KAAK,EACL,QAAQ,EAER,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,YAAY,EAEZ,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAE3B,YAAY,EACZ,oBAAoB,EAWpB,qBAAqB,EAErB,cAAc,EAEd,gBAAgB,EAChB,yBAAyB,EAKzB,SAAS,EAOT,eAAe,EAIf,gBAAgB,EAChB,aAAa,EACb,WAAW,EAEX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,wCAAwC,EACxC,oBAAoB,EAEpB,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,YAAY,EAIZ,8BAA8B,EAC9B,gBAAgB,EAUhB,+BAA+B,EAUlC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -168,7 +168,7 @@ function createLlamaText(history) {
168
168
  }
169
169
  function createHistoryFromStringsAndValues(strings, values) {
170
170
  function addItemToRes(res, item) {
171
- if (item === undefined || item === "")
171
+ if (item === undefined || item === "" || (item instanceof SpecialToken && item.value === ""))
172
172
  return res;
173
173
  else if (typeof item === "string" || item instanceof SpecialToken)
174
174
  return res.concat([item]);
@@ -178,7 +178,7 @@ function createHistoryFromStringsAndValues(strings, values) {
178
178
  return res.concat(item.reduce((res, value) => {
179
179
  if (isLlamaText(value))
180
180
  return res.concat(value.values);
181
- else if (value === "")
181
+ else if (value === "" || (value instanceof SpecialToken && value.value === ""))
182
182
  return res;
183
183
  return res.concat([value]);
184
184
  }, []));
@@ -1 +1 @@
1
- {"version":3,"file":"LlamaText.js","sourceRoot":"","sources":["../../src/utils/LlamaText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlamaText.js","sourceRoot":"","sources":["../../src/utils/LlamaText.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import which from "which";
4
4
  import chalk from "chalk";
5
5
  import { chmodr } from "chmodrp";
6
6
  import { defaultXpacksCacheDirectory, defaultXpacksStoreDirectory, llamaDirectory, localXpacksCacheDirectory, localXpacksStoreDirectory, xpackDirectory, xpmVersion } from "../config.js";
7
+ import { logDistroInstallInstruction } from "../bindings/utils/logDistroInstallInstruction.js";
7
8
  import { spawnCommand } from "./spawnCommand.js";
8
9
  import withStatusLogs from "./withStatusLogs.js";
9
10
  import { withLockfile } from "./withLockfile.js";
@@ -18,8 +19,10 @@ export async function hasBuiltinCmake() {
18
19
  }
19
20
  export async function getCmakePath() {
20
21
  try {
21
- const resolvedPath = await which("cmake");
22
- if (resolvedPath !== "")
22
+ const resolvedPath = await which("cmake", {
23
+ nothrow: true
24
+ });
25
+ if (resolvedPath !== "" && resolvedPath != null)
23
26
  return resolvedPath;
24
27
  }
25
28
  catch (err) { }
@@ -48,14 +51,24 @@ export async function downloadCmakeIfNeeded(wrapWithStatusLogs = false) {
48
51
  catch (err) { }
49
52
  if (!wrapWithStatusLogs)
50
53
  await downloadCmake({ progressLogs: wrapWithStatusLogs });
51
- else
52
- await withStatusLogs({
53
- loading: chalk.blue("Downloading cmake"),
54
- success: chalk.blue("Downloaded cmake"),
55
- fail: chalk.blue("Failed to download cmake")
56
- }, async () => {
57
- await downloadCmake({ progressLogs: wrapWithStatusLogs });
58
- });
54
+ else {
55
+ try {
56
+ await withStatusLogs({
57
+ loading: chalk.blue("Downloading cmake"),
58
+ success: chalk.blue("Downloaded cmake"),
59
+ fail: chalk.blue("Failed to download cmake")
60
+ }, async () => {
61
+ await downloadCmake({ progressLogs: wrapWithStatusLogs });
62
+ });
63
+ }
64
+ catch (err) {
65
+ await logDistroInstallInstruction('To install "cmake", ', {
66
+ linuxPackages: { apt: ["cmake"] },
67
+ macOsPackages: { brew: ["cmake"] }
68
+ });
69
+ throw err;
70
+ }
71
+ }
59
72
  }
60
73
  export async function clearLocalCmake() {
61
74
  await fs.remove(localXpacksStoreDirectory);
@@ -1 +1 @@
1
- {"version":3,"file":"cmake.js","sourceRoot":"","sources":["../../src/utils/cmake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmake.js","sourceRoot":"","sources":["../../src/utils/cmake.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  export declare function getBuildDefaults(): Promise<{
2
2
  repo: string;
3
3
  release: string;
4
- metalSupport: boolean;
5
- cudaSupport: boolean;
6
- vulkanSupport: boolean;
4
+ gpuSupport: false | "cuda" | "vulkan" | "metal" | "auto";
7
5
  }>;
@@ -1,11 +1,9 @@
1
- import { defaultLlamaCppCudaSupport, defaultLlamaCppGitHubRepo, defaultLlamaCppMetalSupport, defaultLlamaCppRelease, defaultLlamaCppVulkanSupport } from "../config.js";
1
+ import { defaultLlamaCppGitHubRepo, defaultLlamaCppGpuSupport, defaultLlamaCppRelease } from "../config.js";
2
2
  export async function getBuildDefaults() {
3
3
  return {
4
4
  repo: defaultLlamaCppGitHubRepo,
5
5
  release: defaultLlamaCppRelease,
6
- metalSupport: defaultLlamaCppMetalSupport,
7
- cudaSupport: defaultLlamaCppCudaSupport,
8
- vulkanSupport: defaultLlamaCppVulkanSupport
6
+ gpuSupport: defaultLlamaCppGpuSupport
9
7
  };
10
8
  }
11
9
  //# sourceMappingURL=getBuildDefaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBuildDefaults.js","sourceRoot":"","sources":["../../src/utils/getBuildDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,0BAA0B,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,4BAA4B,EAC3I,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,OAAO;QACH,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,sBAAsB;QAC/B,YAAY,EAAE,2BAA2B;QACzC,WAAW,EAAE,0BAA0B;QACvC,aAAa,EAAE,4BAA4B;KAC9C,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"getBuildDefaults.js","sourceRoot":"","sources":["../../src/utils/getBuildDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAE,yBAAyB,EAAE,sBAAsB,EAAC,MAAM,cAAc,CAAC;AAE1G,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,OAAO;QACH,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EAAE,yBAAyB;KACxC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- export declare function getConsoleLogPrefix(forcePrefix?: boolean): string;
1
+ export declare function getConsoleLogPrefix(forcePrefix?: boolean, padEnd?: boolean): string;
@@ -1,9 +1,9 @@
1
1
  import chalk from "chalk";
2
2
  import { getIsRunningFromCLI } from "../state.js";
3
- export function getConsoleLogPrefix(forcePrefix = false) {
3
+ export function getConsoleLogPrefix(forcePrefix = false, padEnd = true) {
4
4
  const isInCLI = getIsRunningFromCLI();
5
5
  if (!isInCLI || forcePrefix)
6
- return chalk.grey("[node-llama-cpp] ");
6
+ return chalk.grey("[node-llama-cpp]") + (padEnd ? " " : "");
7
7
  return "";
8
8
  }
9
9
  //# sourceMappingURL=getConsoleLogPrefix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getConsoleLogPrefix.js","sourceRoot":"","sources":["../../src/utils/getConsoleLogPrefix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEhD,MAAM,UAAU,mBAAmB,CAAC,cAAuB,KAAK;IAC5D,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,IAAI,CAAC,OAAO,IAAI,WAAW;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE3C,OAAO,EAAE,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"getConsoleLogPrefix.js","sourceRoot":"","sources":["../../src/utils/getConsoleLogPrefix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEhD,MAAM,UAAU,mBAAmB,CAAC,cAAuB,KAAK,EAAE,SAAkB,IAAI;IACpF,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,IAAI,CAAC,OAAO,IAAI,WAAW;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhE,OAAO,EAAE,CAAC;AACd,CAAC"}
@@ -0,0 +1,6 @@
1
+ type UnionToIntersection<U> = (U extends any ? ((k: U) => void) : never) extends ((k: infer I) => void) ? I : never;
2
+ type DistributeUnion<U> = {
3
+ [K in keyof U]: U[K];
4
+ };
5
+ export type MergeUnionTypes<T> = DistributeUnion<UnionToIntersection<T>>;
6
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mergeUnionTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeUnionTypes.js","sourceRoot":"","sources":["../../src/utils/mergeUnionTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,66 @@
1
+ import { MergeUnionTypes } from "./mergeUnionTypes.js";
2
+ /**
3
+ * Parses a text template into a map of parts and their prefixes and suffixes.
4
+ * This parser assumes each part occurs exactly once in the template, and that all parts must occur in the order they are defined.
5
+ * For example,
6
+ * ```typescript
7
+ * const res = parseTextTemplate(
8
+ * "Hello, {{name}}! What is the {{thing}}?",
9
+ * [{
10
+ * key: "name",
11
+ * text: "{{name}}"
12
+ * }, {
13
+ * key: "thing",
14
+ * text: "{{thing}}"
15
+ * }]
16
+ * );
17
+ * expect(res).to.eql({
18
+ * name: {
19
+ * prefix: "Hello, ",
20
+ * suffix: "! What is the "
21
+ * },
22
+ * thing: {
23
+ * prefix: "What is the ",
24
+ * suffix: "?"
25
+ * }
26
+ * });
27
+ * ```
28
+ *
29
+ * ```typescript
30
+ * const res2 = parseTextTemplate(
31
+ * "What is the {{thing}}?",
32
+ * [{
33
+ * key: "name",
34
+ * text: "{{name}}",
35
+ * optional: true
36
+ * }, {
37
+ * key: "thing",
38
+ * text: "{{thing}}"
39
+ * }]
40
+ * );
41
+ * expect(res2).to.eql({
42
+ * thing: {
43
+ * prefix: "What is the ",
44
+ * suffix: "?"
45
+ * }
46
+ * });
47
+ * ```
48
+ */
49
+ export declare function parseTextTemplate<const Parts extends readonly TextTemplatePart[]>(template: string, parts: Parts): ParsedTextTemplate<Parts>;
50
+ type TextTemplatePart = {
51
+ optional?: true | undefined;
52
+ key: string;
53
+ text: string;
54
+ };
55
+ type ParsedTextTemplate<Parts extends readonly TextTemplatePart[]> = MergeUnionTypes<{
56
+ [Num in keyof Parts]: {
57
+ [key in Parts[Num]["key"]]: Parts[Num]["optional"] extends true ? undefined | {
58
+ prefix: string;
59
+ suffix: string;
60
+ } : {
61
+ prefix: string;
62
+ suffix: string;
63
+ };
64
+ };
65
+ }[number]>;
66
+ export {};
@@ -0,0 +1,116 @@
1
+ import { splitText } from "lifecycle-utils";
2
+ /**
3
+ * Parses a text template into a map of parts and their prefixes and suffixes.
4
+ * This parser assumes each part occurs exactly once in the template, and that all parts must occur in the order they are defined.
5
+ * For example,
6
+ * ```typescript
7
+ * const res = parseTextTemplate(
8
+ * "Hello, {{name}}! What is the {{thing}}?",
9
+ * [{
10
+ * key: "name",
11
+ * text: "{{name}}"
12
+ * }, {
13
+ * key: "thing",
14
+ * text: "{{thing}}"
15
+ * }]
16
+ * );
17
+ * expect(res).to.eql({
18
+ * name: {
19
+ * prefix: "Hello, ",
20
+ * suffix: "! What is the "
21
+ * },
22
+ * thing: {
23
+ * prefix: "What is the ",
24
+ * suffix: "?"
25
+ * }
26
+ * });
27
+ * ```
28
+ *
29
+ * ```typescript
30
+ * const res2 = parseTextTemplate(
31
+ * "What is the {{thing}}?",
32
+ * [{
33
+ * key: "name",
34
+ * text: "{{name}}",
35
+ * optional: true
36
+ * }, {
37
+ * key: "thing",
38
+ * text: "{{thing}}"
39
+ * }]
40
+ * );
41
+ * expect(res2).to.eql({
42
+ * thing: {
43
+ * prefix: "What is the ",
44
+ * suffix: "?"
45
+ * }
46
+ * });
47
+ * ```
48
+ */
49
+ export function parseTextTemplate(template, parts) {
50
+ const result = {};
51
+ const templateParts = splitText(template, parts.map((part) => part.text));
52
+ let partIndex = 0;
53
+ for (let i = 0; i < templateParts.length; i++) {
54
+ const textPart = templateParts[i];
55
+ if (typeof textPart === "string")
56
+ continue;
57
+ for (; partIndex < parts.length; partIndex++) {
58
+ const part = parts[partIndex];
59
+ if (textPart.separator === part.text) {
60
+ const previousItem = i > 0
61
+ ? templateParts[i - 1]
62
+ : null;
63
+ const nextItem = i < templateParts.length - 1
64
+ ? templateParts[i + 1]
65
+ : null;
66
+ result[part.key] = {
67
+ prefix: typeof previousItem === "string"
68
+ ? previousItem
69
+ : "",
70
+ suffix: typeof nextItem === "string"
71
+ ? nextItem
72
+ : ""
73
+ };
74
+ partIndex++;
75
+ break;
76
+ }
77
+ if (part.optional != true) {
78
+ if (result[part.key] != null)
79
+ throw new Error(`Template must contain exactly one "${part.text}"`);
80
+ else if (partIndex > 0) {
81
+ const previousNonOptionalOrFoundPart = parts
82
+ .slice(0, partIndex)
83
+ .reverse()
84
+ .find((p) => (p.optional != true || result[p.key] != null));
85
+ if (previousNonOptionalOrFoundPart != null)
86
+ throw new Error(`Template must contain "${part.text}" after "${previousNonOptionalOrFoundPart.text}"`);
87
+ throw new Error(`Template must contain "${part.text}" at the beginning`);
88
+ }
89
+ else
90
+ throw new Error(`Template must contain "${part.text}" at the beginning`);
91
+ }
92
+ else
93
+ result[part.key] = undefined;
94
+ }
95
+ }
96
+ for (; partIndex < parts.length; partIndex++) {
97
+ const part = parts[partIndex];
98
+ if (part.optional == true) {
99
+ result[part.key] = undefined;
100
+ continue;
101
+ }
102
+ if (partIndex > 0) {
103
+ const previousNonOptionalOrFoundPart = parts
104
+ .slice(0, partIndex)
105
+ .reverse()
106
+ .find((p) => (p.optional != true || result[p.key] != null));
107
+ if (previousNonOptionalOrFoundPart != null)
108
+ throw new Error(`Template must contain "${part.text}" after "${previousNonOptionalOrFoundPart.text}"`);
109
+ throw new Error(`Template must contain "${part.text}" at the beginning`);
110
+ }
111
+ else
112
+ throw new Error(`Template must contain "${part.text}" at the beginning`);
113
+ }
114
+ return result;
115
+ }
116
+ //# sourceMappingURL=parseTextTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseTextTemplate.js","sourceRoot":"","sources":["../../src/utils/parseTextTemplate.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,15 @@ cmake_minimum_required(VERSION 3.13)
3
3
  project("llama-addon" C CXX)
4
4
 
5
5
  if (MSVC)
6
- # add_compile_options(/EHsc)
6
+ if (LLAMA_STATIC)
7
+ add_link_options(-static)
8
+ if (MINGW)
9
+ add_link_options(-static-libgcc -static-libstdc++)
10
+ endif()
11
+ endif()
12
+ # add_compile_options(/EHsc)
7
13
  else()
8
- add_compile_options(-fexceptions)
14
+ add_compile_options(-fexceptions)
9
15
  endif()
10
16
 
11
17
  add_definitions(-DNAPI_VERSION=7)
@@ -54,7 +60,7 @@ if (LLAMA_CUBLAS)
54
60
  endif()
55
61
  endif()
56
62
  else()
57
- message(WARNING "cuBLAS not found. Not using it for GPU info")
63
+ message(FATAL_ERROR "cuBLAS was not found")
58
64
  endif()
59
65
  endif()
60
66
 
@@ -74,7 +80,7 @@ if (LLAMA_VULKAN OR LLAMA_KOMPUTE)
74
80
 
75
81
  set(GPU_INFO_EXTRA_LIBS ${GPU_INFO_EXTRA_LIBS} Vulkan::Vulkan)
76
82
  else()
77
- message(WARNING "Vulkan not found. Not using it for GPU info")
83
+ message(FATAL_ERROR "Vulkan was not found")
78
84
  endif()
79
85
  endif()
80
86
 
@@ -101,7 +107,7 @@ if (LLAMA_HIPBLAS)
101
107
 
102
108
  set(GPU_INFO_EXTRA_LIBS ${GPU_INFO_EXTRA_LIBS} gpu-info-rocm)
103
109
  else()
104
- message(WARNING "hipBLAS or HIP not found. Try setting CMAKE_PREFIX_PATH=/opt/rocm")
110
+ message(FATAL_ERROR "hipBLAS or HIP was not found. Try setting CMAKE_PREFIX_PATH=/opt/rocm")
105
111
  endif()
106
112
  endif()
107
113
 
package/llama/addon.cpp CHANGED
@@ -107,6 +107,22 @@ Napi::Value getGpuVramInfo(const Napi::CallbackInfo& info) {
107
107
  return result;
108
108
  }
109
109
 
110
+ Napi::Value getGpuType(const Napi::CallbackInfo& info) {
111
+ #ifdef GPU_INFO_USE_CUBLAS
112
+ return Napi::String::New(info.Env(), "cuda");
113
+ #endif
114
+
115
+ #ifdef GPU_INFO_USE_VULKAN
116
+ return Napi::String::New(info.Env(), "vulkan");
117
+ #endif
118
+
119
+ #ifdef GPU_INFO_USE_METAL
120
+ return Napi::String::New(info.Env(), "metal");
121
+ #endif
122
+
123
+ return info.Env().Undefined();
124
+ }
125
+
110
126
  static Napi::Value getNapiToken(const Napi::CallbackInfo& info, llama_model* model, llama_token token) {
111
127
  auto tokenType = llama_token_get_type(model, token);
112
128
 
@@ -120,7 +136,7 @@ static Napi::Value getNapiToken(const Napi::CallbackInfo& info, llama_model* mod
120
136
  static Napi::Value getNapiControlToken(const Napi::CallbackInfo& info, llama_model* model, llama_token token) {
121
137
  auto tokenType = llama_token_get_type(model, token);
122
138
 
123
- if (tokenType != LLAMA_TOKEN_TYPE_CONTROL) {
139
+ if (tokenType != LLAMA_TOKEN_TYPE_CONTROL && tokenType != LLAMA_TOKEN_TYPE_USER_DEFINED) {
124
140
  return Napi::Number::From(info.Env(), -1);
125
141
  }
126
142
 
@@ -661,7 +677,7 @@ class AddonContext : public Napi::ObjectWrap<AddonContext> {
661
677
  int32_t endPos = info[2].As<Napi::Number>().Int32Value();
662
678
  int32_t shiftDelta = info[3].As<Napi::Number>().Int32Value();
663
679
 
664
- llama_kv_cache_seq_shift(ctx, sequenceId, startPos, endPos, shiftDelta);
680
+ llama_kv_cache_seq_add(ctx, sequenceId, startPos, endPos, shiftDelta);
665
681
 
666
682
  return info.Env().Undefined();
667
683
  }
@@ -1066,6 +1082,17 @@ Napi::Value setLoggerLogLevel(const Napi::CallbackInfo& info) {
1066
1082
  return info.Env().Undefined();
1067
1083
  }
1068
1084
 
1085
+ Napi::Value addonInit(const Napi::CallbackInfo& info) {
1086
+ if (!backendInitialized) {
1087
+ llama_backend_init();
1088
+ backendInitialized = true;
1089
+ }
1090
+
1091
+ llama_log_set(addonLlamaCppLogCallback, nullptr);
1092
+
1093
+ return info.Env().Undefined();
1094
+ }
1095
+
1069
1096
  static void addonFreeLlamaBackend(Napi::Env env, int* data) {
1070
1097
  if (backendInitialized) {
1071
1098
  llama_backend_free();
@@ -1074,22 +1101,19 @@ static void addonFreeLlamaBackend(Napi::Env env, int* data) {
1074
1101
  }
1075
1102
 
1076
1103
  Napi::Object registerCallback(Napi::Env env, Napi::Object exports) {
1077
- llama_backend_init();
1078
- backendInitialized = true;
1079
-
1080
1104
  exports.DefineProperties({
1081
1105
  Napi::PropertyDescriptor::Function("systemInfo", systemInfo),
1082
1106
  Napi::PropertyDescriptor::Function("setLogger", setLogger),
1083
1107
  Napi::PropertyDescriptor::Function("setLoggerLogLevel", setLoggerLogLevel),
1084
1108
  Napi::PropertyDescriptor::Function("getGpuVramInfo", getGpuVramInfo),
1109
+ Napi::PropertyDescriptor::Function("getGpuType", getGpuType),
1110
+ Napi::PropertyDescriptor::Function("init", addonInit),
1085
1111
  });
1086
1112
  AddonModel::init(exports);
1087
1113
  AddonGrammar::init(exports);
1088
1114
  AddonGrammarEvaluationState::init(exports);
1089
1115
  AddonContext::init(exports);
1090
1116
 
1091
- llama_log_set(addonLlamaCppLogCallback, nullptr);
1092
-
1093
1117
  exports.AddFinalizer(addonFreeLlamaBackend, static_cast<int*>(nullptr));
1094
1118
 
1095
1119
  return exports;
@@ -1,3 +1,3 @@
1
1
  {
2
- "release": "b2254"
2
+ "release": "b2329"
3
3
  }
Binary file
@@ -1,4 +1,4 @@
1
1
  {
2
- "tag": "b2254",
2
+ "tag": "b2329",
3
3
  "llamaCppGithubRepo": "ggerganov/llama.cpp"
4
4
  }
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","arch":"arm64","computeLayers":{"metal":false,"cuda":false,"vulkan":false},"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2254"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"arm64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","arch":"armv7l","computeLayers":{"metal":false,"cuda":false,"vulkan":false},"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2254"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"armv7l","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","arch":"x64","computeLayers":{"metal":false,"cuda":false,"vulkan":false},"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2254"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","arch":"x64","computeLayers":{"metal":false,"cuda":true,"vulkan":false},"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2254"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":"cuda","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","arch":"x64","computeLayers":{"metal":false,"cuda":false,"vulkan":true},"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2254"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":"vulkan","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"mac","arch":"arm64","computeLayers":{"metal":true,"cuda":false,"vulkan":false},"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2254"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"mac","platformInfo":{"name":"macOS","version":"21.6.0"},"arch":"arm64","gpu":"metal","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}