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

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 (351) hide show
  1. package/README.md +1 -1
  2. package/dist/ChatWrapper.js +4 -0
  3. package/dist/ChatWrapper.js.map +1 -1
  4. package/dist/bindings/AddonTypes.d.ts +35 -6
  5. package/dist/bindings/Llama.d.ts +12 -0
  6. package/dist/bindings/Llama.js +100 -7
  7. package/dist/bindings/Llama.js.map +1 -1
  8. package/dist/bindings/getLlama.d.ts +19 -1
  9. package/dist/bindings/getLlama.js +16 -6
  10. package/dist/bindings/getLlama.js.map +1 -1
  11. package/dist/bindings/types.d.ts +18 -0
  12. package/dist/bindings/types.js +31 -2
  13. package/dist/bindings/types.js.map +1 -1
  14. package/dist/bindings/utils/MemoryOrchestrator.d.ts +21 -0
  15. package/dist/bindings/utils/MemoryOrchestrator.js +49 -0
  16. package/dist/bindings/utils/MemoryOrchestrator.js.map +1 -0
  17. package/dist/bindings/utils/cloneLlamaCppRepo.d.ts +1 -1
  18. package/dist/bindings/utils/cloneLlamaCppRepo.js +4 -3
  19. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
  20. package/dist/bindings/utils/compileLLamaCpp.d.ts +4 -1
  21. package/dist/bindings/utils/compileLLamaCpp.js +133 -97
  22. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  23. package/dist/bindings/utils/detectAvailableComputeLayers.d.ts +3 -0
  24. package/dist/bindings/utils/detectAvailableComputeLayers.js +155 -13
  25. package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -1
  26. package/dist/bindings/utils/getLlamaWithoutBackend.d.ts +5 -0
  27. package/dist/bindings/utils/getLlamaWithoutBackend.js +27 -0
  28. package/dist/bindings/utils/getLlamaWithoutBackend.js.map +1 -0
  29. package/dist/bindings/utils/logDistroInstallInstruction.d.ts +1 -0
  30. package/dist/bindings/utils/logDistroInstallInstruction.js +16 -6
  31. package/dist/bindings/utils/logDistroInstallInstruction.js.map +1 -1
  32. package/dist/bindings/utils/resolveCustomCmakeOptions.js +2 -2
  33. package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -1
  34. package/dist/bindings/utils/testBindingBinary.js +2 -2
  35. package/dist/bindings/utils/testBindingBinary.js.map +1 -1
  36. package/dist/bindings/utils/testCmakeBinary.d.ts +5 -0
  37. package/dist/bindings/utils/testCmakeBinary.js +32 -0
  38. package/dist/bindings/utils/testCmakeBinary.js.map +1 -0
  39. package/dist/chatWrappers/AlpacaChatWrapper.d.ts +2 -1
  40. package/dist/chatWrappers/AlpacaChatWrapper.js +9 -2
  41. package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -1
  42. package/dist/chatWrappers/ChatMLChatWrapper.js +12 -10
  43. package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
  44. package/dist/chatWrappers/FalconChatWrapper.d.ts +2 -1
  45. package/dist/chatWrappers/FalconChatWrapper.js +28 -11
  46. package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
  47. package/dist/chatWrappers/FunctionaryChatWrapper.js +59 -45
  48. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
  49. package/dist/chatWrappers/GemmaChatWrapper.js +9 -7
  50. package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -1
  51. package/dist/chatWrappers/GeneralChatWrapper.d.ts +2 -1
  52. package/dist/chatWrappers/GeneralChatWrapper.js +35 -12
  53. package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
  54. package/dist/chatWrappers/LlamaChatWrapper.d.ts +7 -0
  55. package/dist/chatWrappers/LlamaChatWrapper.js +26 -8
  56. package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -1
  57. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +73 -0
  58. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +355 -0
  59. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -0
  60. package/dist/{TemplateChatWrapper.d.ts → chatWrappers/generic/TemplateChatWrapper.d.ts} +16 -18
  61. package/dist/{TemplateChatWrapper.js → chatWrappers/generic/TemplateChatWrapper.js} +31 -69
  62. package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -0
  63. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.d.ts +33 -0
  64. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js +45 -0
  65. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js.map +1 -0
  66. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.d.ts +4 -0
  67. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +206 -0
  68. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -0
  69. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +67 -0
  70. package/dist/chatWrappers/utils/resolveChatWrapper.js +206 -0
  71. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -0
  72. package/dist/cli/cli.js +1 -1
  73. package/dist/cli/cli.js.map +1 -1
  74. package/dist/cli/commands/ChatCommand.d.ts +7 -4
  75. package/dist/cli/commands/ChatCommand.js +177 -70
  76. package/dist/cli/commands/ChatCommand.js.map +1 -1
  77. package/dist/cli/commands/ClearCommand.d.ts +1 -1
  78. package/dist/cli/commands/ClearCommand.js +5 -5
  79. package/dist/cli/commands/ClearCommand.js.map +1 -1
  80. package/dist/cli/commands/CompleteCommand.d.ts +3 -2
  81. package/dist/cli/commands/CompleteCommand.js +115 -51
  82. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  83. package/dist/cli/commands/InfillCommand.d.ts +3 -2
  84. package/dist/cli/commands/InfillCommand.js +115 -51
  85. package/dist/cli/commands/InfillCommand.js.map +1 -1
  86. package/dist/cli/commands/OnPostInstallCommand.js +2 -0
  87. package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
  88. package/dist/cli/commands/{InspectCommand.d.ts → inspect/InspectCommand.d.ts} +1 -4
  89. package/dist/cli/commands/inspect/InspectCommand.js +17 -0
  90. package/dist/cli/commands/inspect/InspectCommand.js.map +1 -0
  91. package/dist/cli/commands/inspect/commands/InspectGgufCommand.d.ts +10 -0
  92. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +108 -0
  93. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -0
  94. package/dist/cli/commands/inspect/commands/InspectGpuCommand.d.ts +4 -0
  95. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +98 -0
  96. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -0
  97. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +14 -0
  98. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +577 -0
  99. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -0
  100. package/dist/cli/utils/ConsoleTable.d.ts +23 -0
  101. package/dist/cli/utils/ConsoleTable.js +86 -0
  102. package/dist/cli/utils/ConsoleTable.js.map +1 -0
  103. package/dist/cli/utils/printCommonInfoLines.d.ts +9 -0
  104. package/dist/cli/utils/printCommonInfoLines.js +70 -0
  105. package/dist/cli/utils/printCommonInfoLines.js.map +1 -0
  106. package/dist/cli/utils/printInfoLine.d.ts +10 -0
  107. package/dist/cli/utils/printInfoLine.js +45 -0
  108. package/dist/cli/utils/printInfoLine.js.map +1 -0
  109. package/dist/cli/utils/resolveCommandGgufPath.d.ts +1 -0
  110. package/dist/cli/utils/resolveCommandGgufPath.js +6 -0
  111. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -0
  112. package/dist/config.d.ts +3 -1
  113. package/dist/config.js +7 -1
  114. package/dist/config.js.map +1 -1
  115. package/dist/evaluator/LlamaChat/LlamaChat.js +13 -5
  116. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  117. package/dist/evaluator/LlamaCompletion.js +5 -3
  118. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  119. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +43 -9
  120. package/dist/evaluator/LlamaContext/LlamaContext.js +251 -60
  121. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  122. package/dist/evaluator/LlamaContext/types.d.ts +68 -10
  123. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/firstInFirstOutStrategy.js.map +1 -0
  124. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/maximumParallelismStrategy.js.map +1 -0
  125. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.d.ts +2 -0
  126. package/dist/evaluator/LlamaContext/utils/{resolveBatchItemsPrioritizingStrategy.js → resolveBatchItemsPrioritizationStrategy.js} +4 -4
  127. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.js.map +1 -0
  128. package/dist/evaluator/LlamaEmbeddingContext.d.ts +29 -7
  129. package/dist/evaluator/LlamaEmbeddingContext.js +31 -22
  130. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  131. package/dist/evaluator/LlamaGrammar.js +1 -0
  132. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  133. package/dist/evaluator/LlamaModel.d.ts +78 -20
  134. package/dist/evaluator/LlamaModel.js +385 -21
  135. package/dist/evaluator/LlamaModel.js.map +1 -1
  136. package/dist/evaluator/TokenMeter.d.ts +54 -0
  137. package/dist/evaluator/TokenMeter.js +86 -0
  138. package/dist/evaluator/TokenMeter.js.map +1 -0
  139. package/dist/gguf/GgufInsights.d.ts +40 -0
  140. package/dist/gguf/GgufInsights.js +350 -0
  141. package/dist/gguf/GgufInsights.js.map +1 -0
  142. package/dist/gguf/consts.d.ts +3 -0
  143. package/dist/gguf/consts.js +8 -0
  144. package/dist/gguf/consts.js.map +1 -0
  145. package/dist/gguf/errors/InvalidGgufMagicError.d.ts +3 -0
  146. package/dist/gguf/errors/InvalidGgufMagicError.js +6 -0
  147. package/dist/gguf/errors/InvalidGgufMagicError.js.map +1 -0
  148. package/dist/gguf/errors/UnsupportedGgufValueTypeError.d.ts +4 -0
  149. package/dist/gguf/errors/UnsupportedGgufValueTypeError.js +9 -0
  150. package/dist/gguf/errors/UnsupportedGgufValueTypeError.js.map +1 -0
  151. package/dist/gguf/fileReaders/GgufFileReader.d.ts +33 -0
  152. package/dist/gguf/fileReaders/GgufFileReader.js +76 -0
  153. package/dist/gguf/fileReaders/GgufFileReader.js.map +1 -0
  154. package/dist/gguf/fileReaders/GgufFsFileReader.d.ts +17 -0
  155. package/dist/gguf/fileReaders/GgufFsFileReader.js +45 -0
  156. package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -0
  157. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts +22 -0
  158. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +63 -0
  159. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -0
  160. package/dist/gguf/parser/GgufV2Parser.d.ts +19 -0
  161. package/dist/gguf/parser/GgufV2Parser.js +115 -0
  162. package/dist/gguf/parser/GgufV2Parser.js.map +1 -0
  163. package/dist/gguf/parser/GgufV3Parser.d.ts +3 -0
  164. package/dist/gguf/parser/GgufV3Parser.js +4 -0
  165. package/dist/gguf/parser/GgufV3Parser.js.map +1 -0
  166. package/dist/gguf/parser/parseGguf.d.ts +8 -0
  167. package/dist/gguf/parser/parseGguf.js +58 -0
  168. package/dist/gguf/parser/parseGguf.js.map +1 -0
  169. package/dist/gguf/readGgufFileInfo.d.ts +30 -0
  170. package/dist/gguf/readGgufFileInfo.js +37 -0
  171. package/dist/gguf/readGgufFileInfo.js.map +1 -0
  172. package/dist/gguf/types/GgufFileInfoTypes.d.ts +52 -0
  173. package/dist/gguf/types/GgufFileInfoTypes.js +18 -0
  174. package/dist/gguf/types/GgufFileInfoTypes.js.map +1 -0
  175. package/dist/gguf/types/GgufMetadataTypes.d.ts +330 -0
  176. package/dist/gguf/types/GgufMetadataTypes.js +86 -0
  177. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -0
  178. package/dist/gguf/types/GgufTensorInfoTypes.d.ts +37 -0
  179. package/dist/gguf/types/GgufTensorInfoTypes.js +33 -0
  180. package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -0
  181. package/dist/gguf/utils/GgufReadOffset.d.ts +6 -0
  182. package/dist/gguf/utils/GgufReadOffset.js +18 -0
  183. package/dist/gguf/utils/GgufReadOffset.js.map +1 -0
  184. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.d.ts +5 -0
  185. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js +38 -0
  186. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -0
  187. package/dist/gguf/utils/getGgufFileTypeName.d.ts +4 -0
  188. package/dist/gguf/utils/getGgufFileTypeName.js +13 -0
  189. package/dist/gguf/utils/getGgufFileTypeName.js.map +1 -0
  190. package/dist/gguf/utils/getGgufMetadataArchitectureData.d.ts +3 -0
  191. package/dist/gguf/utils/getGgufMetadataArchitectureData.js +4 -0
  192. package/dist/gguf/utils/getGgufMetadataArchitectureData.js.map +1 -0
  193. package/dist/gguf/utils/normalizeGgufDownloadUrl.d.ts +1 -0
  194. package/dist/gguf/utils/normalizeGgufDownloadUrl.js +16 -0
  195. package/dist/gguf/utils/normalizeGgufDownloadUrl.js.map +1 -0
  196. package/dist/index.d.ts +13 -7
  197. package/dist/index.js +11 -6
  198. package/dist/index.js.map +1 -1
  199. package/dist/state.d.ts +2 -0
  200. package/dist/state.js +7 -0
  201. package/dist/state.js.map +1 -1
  202. package/dist/types.d.ts +1 -1
  203. package/dist/utils/DisposeGuard.d.ts +13 -0
  204. package/dist/utils/DisposeGuard.js +120 -0
  205. package/dist/utils/DisposeGuard.js.map +1 -0
  206. package/dist/utils/InsufficientMemoryError.d.ts +3 -0
  207. package/dist/utils/InsufficientMemoryError.js +6 -0
  208. package/dist/utils/InsufficientMemoryError.js.map +1 -0
  209. package/dist/utils/LlamaText.d.ts +25 -10
  210. package/dist/utils/LlamaText.js +205 -23
  211. package/dist/utils/LlamaText.js.map +1 -1
  212. package/dist/utils/StopGenerationDetector.js +3 -1
  213. package/dist/utils/StopGenerationDetector.js.map +1 -1
  214. package/dist/utils/cmake.js +1 -1
  215. package/dist/utils/cmake.js.map +1 -1
  216. package/dist/utils/findBestOption.d.ts +4 -0
  217. package/dist/utils/findBestOption.js +15 -0
  218. package/dist/utils/findBestOption.js.map +1 -0
  219. package/dist/utils/getConsoleLogPrefix.js +3 -2
  220. package/dist/utils/getConsoleLogPrefix.js.map +1 -1
  221. package/dist/utils/getQueuedTokensBeforeStopTrigger.js +3 -3
  222. package/dist/utils/getQueuedTokensBeforeStopTrigger.js.map +1 -1
  223. package/dist/utils/gitReleaseBundles.js +68 -1
  224. package/dist/utils/gitReleaseBundles.js.map +1 -1
  225. package/dist/utils/mergeUnionTypes.d.ts +4 -0
  226. package/dist/utils/parseModelFileName.d.ts +1 -0
  227. package/dist/utils/parseModelFileName.js +6 -1
  228. package/dist/utils/parseModelFileName.js.map +1 -1
  229. package/dist/utils/prettyPrintObject.d.ts +10 -1
  230. package/dist/utils/prettyPrintObject.js +57 -13
  231. package/dist/utils/prettyPrintObject.js.map +1 -1
  232. package/dist/utils/removeNullFields.d.ts +2 -2
  233. package/dist/utils/removeNullFields.js.map +1 -1
  234. package/dist/utils/spawnCommand.d.ts +11 -1
  235. package/dist/utils/spawnCommand.js +55 -7
  236. package/dist/utils/spawnCommand.js.map +1 -1
  237. package/dist/utils/tokenizeInput.d.ts +1 -1
  238. package/dist/utils/tokenizeInput.js +3 -3
  239. package/dist/utils/tokenizeInput.js.map +1 -1
  240. package/dist/utils/withOra.d.ts +1 -0
  241. package/dist/utils/withOra.js +2 -2
  242. package/dist/utils/withOra.js.map +1 -1
  243. package/llama/CMakeLists.txt +5 -5
  244. package/llama/addon.cpp +793 -88
  245. package/llama/binariesGithubRelease.json +1 -1
  246. package/llama/gitRelease.bundle +0 -0
  247. package/llama/gpuInfo/cuda-gpu-info.cu +21 -0
  248. package/llama/gpuInfo/cuda-gpu-info.h +3 -0
  249. package/llama/gpuInfo/metal-gpu-info.h +4 -1
  250. package/llama/gpuInfo/metal-gpu-info.mm +14 -1
  251. package/llama/gpuInfo/vulkan-gpu-info.cpp +20 -2
  252. package/llama/gpuInfo/vulkan-gpu-info.h +2 -0
  253. package/llama/grammars/json.gbnf +1 -1
  254. package/llama/grammars/json_arr.gbnf +1 -1
  255. package/llama/llama.cpp.info.json +1 -1
  256. package/llama/toolchains/win32.host-x64.target-arm64.cmake +41 -0
  257. package/llamaBins/linux-arm64/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  258. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  259. package/llamaBins/linux-armv7l/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  260. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  261. package/llamaBins/linux-x64/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  262. package/llamaBins/linux-x64/llama-addon.node +0 -0
  263. package/llamaBins/linux-x64-cuda/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  264. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  265. package/llamaBins/linux-x64-vulkan/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  266. package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
  267. package/llamaBins/mac-arm64-metal/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  268. package/llamaBins/mac-arm64-metal/default.metallib +0 -0
  269. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  270. package/llamaBins/mac-x64/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  271. package/llamaBins/mac-x64/llama-addon.node +0 -0
  272. package/llamaBins/win-arm64/_nlcBuildMetadata.json +1 -0
  273. package/llamaBins/win-arm64/llama-addon.exp +0 -0
  274. package/llamaBins/win-arm64/llama-addon.lib +0 -0
  275. package/llamaBins/win-arm64/llama-addon.node +0 -0
  276. package/llamaBins/win-x64/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  277. package/llamaBins/win-x64/llama-addon.exp +0 -0
  278. package/llamaBins/win-x64/llama-addon.lib +0 -0
  279. package/llamaBins/win-x64/llama-addon.node +0 -0
  280. package/llamaBins/win-x64-cuda/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  281. package/llamaBins/win-x64-cuda/llama-addon.exp +0 -0
  282. package/llamaBins/win-x64-cuda/llama-addon.lib +0 -0
  283. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  284. package/llamaBins/win-x64-vulkan/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  285. package/llamaBins/win-x64-vulkan/llama-addon.exp +0 -0
  286. package/llamaBins/win-x64-vulkan/llama-addon.lib +0 -0
  287. package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
  288. package/package.json +16 -11
  289. package/dist/TemplateChatWrapper.js.map +0 -1
  290. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.d.ts +0 -33
  291. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js +0 -49
  292. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js.map +0 -1
  293. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +0 -13
  294. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +0 -63
  295. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +0 -1
  296. package/dist/cli/commands/InspectCommand.js +0 -113
  297. package/dist/cli/commands/InspectCommand.js.map +0 -1
  298. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +0 -1
  299. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +0 -1
  300. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +0 -2
  301. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +0 -1
  302. package/dist/gguf/GGUFInsights.d.ts +0 -28
  303. package/dist/gguf/GGUFInsights.js +0 -58
  304. package/dist/gguf/GGUFInsights.js.map +0 -1
  305. package/dist/gguf/GGUFMetadata.d.ts +0 -19
  306. package/dist/gguf/GGUFMetadata.js +0 -38
  307. package/dist/gguf/GGUFMetadata.js.map +0 -1
  308. package/dist/gguf/errors/InvalidGGUFMagicError.d.ts +0 -3
  309. package/dist/gguf/errors/InvalidGGUFMagicError.js +0 -6
  310. package/dist/gguf/errors/InvalidGGUFMagicError.js.map +0 -1
  311. package/dist/gguf/errors/MetadataNotParsedYetError.d.ts +0 -3
  312. package/dist/gguf/errors/MetadataNotParsedYetError.js +0 -6
  313. package/dist/gguf/errors/MetadataNotParsedYetError.js.map +0 -1
  314. package/dist/gguf/errors/MissingNodeLlamaError.d.ts +0 -3
  315. package/dist/gguf/errors/MissingNodeLlamaError.js +0 -6
  316. package/dist/gguf/errors/MissingNodeLlamaError.js.map +0 -1
  317. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.d.ts +0 -5
  318. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js +0 -12
  319. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js.map +0 -1
  320. package/dist/gguf/errors/UnsupportedMetadataTypeError.d.ts +0 -4
  321. package/dist/gguf/errors/UnsupportedMetadataTypeError.js +0 -8
  322. package/dist/gguf/errors/UnsupportedMetadataTypeError.js.map +0 -1
  323. package/dist/gguf/ggufParser/GGUFParser.d.ts +0 -18
  324. package/dist/gguf/ggufParser/GGUFParser.js +0 -123
  325. package/dist/gguf/ggufParser/GGUFParser.js.map +0 -1
  326. package/dist/gguf/ggufParser/GGUFTypes.d.ts +0 -257
  327. package/dist/gguf/ggufParser/GGUFTypes.js +0 -2
  328. package/dist/gguf/ggufParser/GGUFTypes.js.map +0 -1
  329. package/dist/gguf/ggufParser/checkArchitecture.d.ts +0 -14
  330. package/dist/gguf/ggufParser/checkArchitecture.js +0 -74
  331. package/dist/gguf/ggufParser/checkArchitecture.js.map +0 -1
  332. package/dist/gguf/ggufParser/stream/GGUFBaseStream.d.ts +0 -38
  333. package/dist/gguf/ggufParser/stream/GGUFBaseStream.js +0 -83
  334. package/dist/gguf/ggufParser/stream/GGUFBaseStream.js.map +0 -1
  335. package/dist/gguf/ggufParser/stream/GGUFFetchStream.d.ts +0 -14
  336. package/dist/gguf/ggufParser/stream/GGUFFetchStream.js +0 -35
  337. package/dist/gguf/ggufParser/stream/GGUFFetchStream.js.map +0 -1
  338. package/dist/gguf/ggufParser/stream/GGUFReadStream.d.ts +0 -15
  339. package/dist/gguf/ggufParser/stream/GGUFReadStream.js +0 -40
  340. package/dist/gguf/ggufParser/stream/GGUFReadStream.js.map +0 -1
  341. package/dist/utils/parseModelTypeDescription.d.ts +0 -6
  342. package/dist/utils/parseModelTypeDescription.js +0 -9
  343. package/dist/utils/parseModelTypeDescription.js.map +0 -1
  344. package/dist/utils/resolveChatWrapper.d.ts +0 -4
  345. package/dist/utils/resolveChatWrapper.js +0 -16
  346. package/dist/utils/resolveChatWrapper.js.map +0 -1
  347. package/llamaBins/mac-arm64-metal/ggml-metal.metal +0 -7731
  348. /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/firstInFirstOutStrategy.d.ts +0 -0
  349. /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/firstInFirstOutStrategy.js +0 -0
  350. /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/maximumParallelismStrategy.d.ts +0 -0
  351. /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/maximumParallelismStrategy.js +0 -0
@@ -1,3 +1,3 @@
1
1
  {
2
- "release": "b2329"
2
+ "release": "b2608"
3
3
  }
Binary file
@@ -1,4 +1,6 @@
1
1
  #include <stddef.h>
2
+ #include <vector>
3
+ #include <string>
2
4
 
3
5
  #if defined(GPU_INFO_USE_HIPBLAS)
4
6
  #include <hip/hip_runtime.h>
@@ -97,3 +99,22 @@ bool gpuInfoGetTotalCudaDevicesInfo(size_t * total, size_t * used, gpuInfoCudaEr
97
99
 
98
100
  return true;
99
101
  }
102
+
103
+ void gpuInfoGetCudaDeviceNames(std::vector<std::string> * deviceNames, gpuInfoCudaErrorLogCallback_t errorLogCallback) {
104
+ int deviceCount = gpuInfoGetCudaDeviceCount(errorLogCallback);
105
+
106
+ if (deviceCount < 0) {
107
+ return;
108
+ }
109
+
110
+ for (int i = 0; i < deviceCount; i++) {
111
+ cudaDeviceProp prop;
112
+ auto getDevicePropertiesResult = cudaGetDeviceProperties(&prop, i);
113
+
114
+ if (getDevicePropertiesResult != cudaSuccess) {
115
+ errorLogCallback(cudaGetErrorString(getDevicePropertiesResult));
116
+ } else {
117
+ (*deviceNames).push_back(std::string(prop.name));
118
+ }
119
+ }
120
+ }
@@ -1,7 +1,10 @@
1
1
  #pragma once
2
2
 
3
3
  #include <stddef.h>
4
+ #include <vector>
5
+ #include <string>
4
6
 
5
7
  typedef void (*gpuInfoCudaErrorLogCallback_t)(const char* message);
6
8
 
7
9
  bool gpuInfoGetTotalCudaDevicesInfo(size_t * total, size_t * used, gpuInfoCudaErrorLogCallback_t errorLogCallback);
10
+ void gpuInfoGetCudaDeviceNames(std::vector<std::string> * deviceNames, gpuInfoCudaErrorLogCallback_t errorLogCallback);
@@ -1,5 +1,8 @@
1
1
  #pragma once
2
2
 
3
3
  #include <stdint.h>
4
+ #include <string>
5
+ #include <vector>
4
6
 
5
- void get_metal_gpu_info(uint64_t * total, uint64_t * used);
7
+ void getMetalGpuInfo(uint64_t * total, uint64_t * used);
8
+ void getMetalGpuDeviceNames(std::vector<std::string> * deviceNames);
@@ -1,7 +1,9 @@
1
1
  #include <stdint.h>
2
+ #include <vector>
3
+ #include <string>
2
4
  #import <Metal/Metal.h>
3
5
 
4
- void get_metal_gpu_info(uint64_t * total, uint64_t * used) {
6
+ void getMetalGpuInfo(uint64_t * total, uint64_t * used) {
5
7
  id<MTLDevice> device = MTLCreateSystemDefaultDevice();
6
8
 
7
9
  if (device) {
@@ -15,3 +17,14 @@ void get_metal_gpu_info(uint64_t * total, uint64_t * used) {
15
17
  [device release];
16
18
  device = nil;
17
19
  }
20
+
21
+ void getMetalGpuDeviceNames(std::vector<std::string> * deviceNames) {
22
+ NSArray<id<MTLDevice>> *devices = MTLCopyAllDevices();
23
+
24
+ for (id<MTLDevice> device in devices) {
25
+ (*deviceNames).push_back(std::string(([NSString stringWithUTF8String:device.name.UTF8String]).UTF8String));
26
+ }
27
+
28
+ [devices release];
29
+ devices = nil;
30
+ }
@@ -1,10 +1,11 @@
1
1
  #include <stddef.h>
2
+ #include <vector>
2
3
 
3
4
  #include <vulkan/vulkan.hpp>
4
5
 
5
6
  typedef void (*gpuInfoVulkanWarningLogCallback_t)(const char* message);
6
7
 
7
- bool gpuInfoGetTotalVulkanDevicesInfo(size_t* total, size_t* used, gpuInfoVulkanWarningLogCallback_t warningLogCallback) {
8
+ static bool enumerateVulkanDevices(size_t* total, size_t* used, bool addDeviceNames, std::vector<std::string> * deviceNames, gpuInfoVulkanWarningLogCallback_t warningLogCallback) {
8
9
  vk::ApplicationInfo appInfo("node-llama-cpp GPU info", 1, "llama.cpp", 1, VK_API_VERSION_1_2);
9
10
  vk::InstanceCreateInfo createInfo(vk::InstanceCreateFlags(), &appInfo, {}, {});
10
11
  vk::Instance instance = vk::createInstance(createInfo);
@@ -41,8 +42,14 @@ bool gpuInfoGetTotalVulkanDevicesInfo(size_t* total, size_t* used, gpuInfoVulkan
41
42
 
42
43
  for (uint32_t i = 0; i < memProps.memoryHeapCount; ++i) {
43
44
  if (memProps.memoryHeaps[i].flags & vk::MemoryHeapFlagBits::eDeviceLocal) {
44
- totalMem += memProps.memoryHeaps[i].size;
45
+ const auto size = memProps.memoryHeaps[i].size;
46
+ totalMem += size;
45
47
  usedMem += memoryBudgetProperties.heapUsage[i];
48
+
49
+ if (size > 0 && addDeviceNames) {
50
+ (*deviceNames).push_back(std::string(deviceProps.deviceName.data()));
51
+ }
52
+
46
53
  break;
47
54
  }
48
55
  }
@@ -63,3 +70,14 @@ bool gpuInfoGetTotalVulkanDevicesInfo(size_t* total, size_t* used, gpuInfoVulkan
63
70
  *used = usedMem;
64
71
  return true;
65
72
  }
73
+
74
+ bool gpuInfoGetTotalVulkanDevicesInfo(size_t* total, size_t* used, gpuInfoVulkanWarningLogCallback_t warningLogCallback) {
75
+ return enumerateVulkanDevices(total, used, false, nullptr, warningLogCallback);
76
+ }
77
+
78
+ bool gpuInfoGetVulkanDeviceNames(std::vector<std::string> * deviceNames, gpuInfoVulkanWarningLogCallback_t warningLogCallback) {
79
+ size_t vulkanDeviceTotal = 0;
80
+ size_t vulkanDeviceUsed = 0;
81
+
82
+ return enumerateVulkanDevices(&vulkanDeviceTotal, &vulkanDeviceUsed, true, deviceNames, warningLogCallback);
83
+ }
@@ -1,7 +1,9 @@
1
1
  #pragma once
2
2
 
3
3
  #include <stddef.h>
4
+ #include <vector>
4
5
 
5
6
  typedef void (*gpuInfoVulkanWarningLogCallback_t)(const char* message);
6
7
 
7
8
  bool gpuInfoGetTotalVulkanDevicesInfo(size_t* total, size_t* used, gpuInfoVulkanWarningLogCallback_t warningLogCallback);
9
+ bool gpuInfoGetVulkanDeviceNames(std::vector<std::string> * deviceNames, gpuInfoVulkanWarningLogCallback_t warningLogCallback);
@@ -15,7 +15,7 @@ array ::=
15
15
 
16
16
  string ::=
17
17
  "\"" (
18
- [^"\\] |
18
+ [^"\\\x7F\x00-\x1F] |
19
19
  "\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes
20
20
  )* "\"" ws
21
21
 
@@ -24,7 +24,7 @@ array ::=
24
24
 
25
25
  string ::=
26
26
  "\"" (
27
- [^"\\] |
27
+ [^"\\\x7F\x00-\x1F] |
28
28
  "\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes
29
29
  )* "\"" ws
30
30
 
@@ -1,4 +1,4 @@
1
1
  {
2
- "tag": "b2329",
2
+ "tag": "b2608",
3
3
  "llamaCppGithubRepo": "ggerganov/llama.cpp"
4
4
  }
@@ -0,0 +1,41 @@
1
+ set(CMAKE_SYSTEM_NAME Windows)
2
+ set(CMAKE_SYSTEM_PROCESSOR ARM64)
3
+
4
+ # Look for cl.exe in the Visual Studio installation directories
5
+ set(PROGRAMFILES "$ENV{ProgramFiles}")
6
+ set(PROGRAMFILES_X86 "$ENV{ProgramFiles\(x86\)}")
7
+
8
+ set(VS_INSTALL_PATHS
9
+ "${PROGRAMFILES_X86}/Microsoft Visual Studio"
10
+ "${PROGRAMFILES}/Microsoft Visual Studio"
11
+ "C:/Program Files (x86)/Microsoft Visual Studio"
12
+ "C:/Program Files/Microsoft Visual Studio"
13
+ )
14
+ foreach(PATH IN LISTS VS_INSTALL_PATHS)
15
+ if(CL_EXE_PATH)
16
+ break()
17
+ endif()
18
+
19
+ file(GLOB_RECURSE FOUND_CL_EXE "${PATH}/*/VC/Tools/MSVC/*/bin/Hostx64/arm64/cl.exe")
20
+ if(FOUND_CL_EXE)
21
+ list(GET FOUND_CL_EXE 0 CL_EXE_PATH)
22
+ break()
23
+ endif()
24
+
25
+ if(CL_EXE_PATH)
26
+ break()
27
+ endif()
28
+
29
+ file(GLOB_RECURSE FOUND_CL_EXE "${PATH}/**/*/VC/Tools/MSVC/*/bin/Hostx64/arm64/cl.exe")
30
+ if(FOUND_CL_EXE)
31
+ list(GET FOUND_CL_EXE 0 CL_EXE_PATH)
32
+ break()
33
+ endif()
34
+ endforeach()
35
+
36
+ if(NOT CL_EXE_PATH)
37
+ message(FATAL_ERROR "cl.exe not found for ARM architecture.")
38
+ else()
39
+ set(CMAKE_C_COMPILER "${CL_EXE_PATH}")
40
+ set(CMAKE_CXX_COMPILER "${CL_EXE_PATH}")
41
+ endif()
@@ -1 +1 @@
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
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"arm64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
@@ -1 +1 @@
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
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"armv7l","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
@@ -1 +1 @@
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
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
@@ -1 +1 @@
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
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":"cuda","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
@@ -1 +1 @@
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
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":"vulkan","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
@@ -1 +1 @@
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"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"mac","platformInfo":{"name":"macOS","version":"21.6.0"},"arch":"arm64","gpu":"metal","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"mac","platformInfo":{"name":"macOS","version":"21.6.0"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"mac","platformInfo":{"name":"macOS","version":"21.6.0"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
Binary file
@@ -0,0 +1 @@
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"arm64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
Binary file
Binary file
Binary file
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":"cuda","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":"cuda","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":"vulkan","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":"vulkan","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2608"}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-llama-cpp",
3
- "version": "3.0.0-beta.13",
3
+ "version": "3.0.0-beta.15",
4
4
  "description": "Run AI models locally on your machine with node.js bindings for llama.cpp. Force a JSON schema on the model output on the generation level",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -47,7 +47,8 @@
47
47
  "prewatch": "rimraf ./dist ./tsconfig.tsbuildinfo",
48
48
  "watch": "tsc --build tsconfig.json --watch --force",
49
49
  "cmake-js-llama": "cd llama && cmake-js",
50
- "test": "npm run test:typescript && npm run lint:eslint && npm run test:standalone && npm run test:modelDependent",
50
+ "test": "npm run test:typescript && npm run lint:eslint && npm run test:vitest",
51
+ "test:vitest": "vitest run ./test",
51
52
  "test:standalone": "vitest run ./test/standalone",
52
53
  "test:standalone:interactive": "vitest watch ./test/standalone",
53
54
  "test:modelDependent": "vitest run ./test/modelDependent",
@@ -56,7 +57,7 @@
56
57
  "lint": "npm run lint:eslint",
57
58
  "lint:eslint": "eslint --ext .js --ext .ts .",
58
59
  "format": "npm run lint:eslint -- --fix",
59
- "dev:setup:downloadAllTestModels": "node --loader ts-node/esm test/utils/scripts/downloadAllTestModels.ts",
60
+ "dev:setup:downloadAllTestModels": "vite-node test/utils/scripts/downloadAllTestModels.ts",
60
61
  "dev:setup": "npm run build && node ./dist/cli/cli.js download --noUsageExample && npm run docs:generateTypedoc && npm run dev:setup:downloadAllTestModels",
61
62
  "dev:build": "npm run build && node ./dist/cli/cli.js build --noUsageExample",
62
63
  "clean": "rm -rf ./node_modules ./dist ./tsconfig.tsbuildinfo ./test/.models",
@@ -119,52 +120,56 @@
119
120
  "@types/cli-progress": "^3.11.0",
120
121
  "@types/cross-spawn": "^6.0.2",
121
122
  "@types/fs-extra": "^11.0.4",
122
- "@types/node": "^20.8.4",
123
+ "@types/node": "^20.11.29",
123
124
  "@types/proper-lockfile": "^4.1.4",
125
+ "@types/semver": "^7.5.8",
124
126
  "@types/uuid": "^9.0.2",
125
127
  "@types/which": "^3.0.0",
126
128
  "@types/yargs": "^17.0.24",
127
129
  "@typescript-eslint/eslint-plugin": "^6.3.0",
128
130
  "@typescript-eslint/parser": "^6.3.0",
129
- "@vitest/coverage-v8": "^1.2.2",
130
- "@vitest/ui": "^1.2.2",
131
+ "@vitest/coverage-v8": "^1.4.0",
132
+ "@vitest/ui": "^1.4.0",
131
133
  "eslint": "^8.46.0",
132
134
  "eslint-plugin-import": "^2.28.0",
133
135
  "eslint-plugin-jsdoc": "^46.9.0",
134
136
  "eslint-plugin-n": "^16.3.1",
135
137
  "husky": "^8.0.3",
136
- "ipull": "^1.2.1",
138
+ "ipull": "^3.0.5",
137
139
  "rimraf": "^5.0.1",
138
140
  "semantic-release": "^22.0.8",
139
- "ts-node": "^10.9.1",
140
141
  "tslib": "^2.6.1",
141
142
  "typedoc": "^0.25.3",
142
143
  "typedoc-plugin-markdown": "^4.0.0-next.53",
143
144
  "typedoc-plugin-mdn-links": "^3.1.5",
144
145
  "typedoc-vitepress-theme": "^1.0.0-next.9",
145
146
  "typescript": "^5.2.2",
147
+ "vite-node": "^1.4.0",
146
148
  "vitepress": "1.0.0-rc.22",
147
- "vitest": "^1.2.2",
149
+ "vitest": "^1.4.0",
148
150
  "zx": "^7.2.3"
149
151
  },
150
152
  "dependencies": {
153
+ "@huggingface/jinja": "^0.2.2",
151
154
  "async-retry": "^1.3.3",
152
155
  "bytes": "^3.1.2",
153
156
  "chalk": "^5.3.0",
154
157
  "chmodrp": "^1.0.2",
155
158
  "cli-progress": "^3.12.0",
156
- "cmake-js": "^7.2.1",
159
+ "cmake-js": "^7.3.0",
157
160
  "cross-env": "^7.0.3",
158
161
  "cross-spawn": "^7.0.3",
159
162
  "env-var": "^7.3.1",
160
163
  "fs-extra": "^11.2.0",
161
- "lifecycle-utils": "^1.3.1",
164
+ "lifecycle-utils": "^1.4.1",
162
165
  "log-symbols": "^5.1.0",
163
166
  "node-addon-api": "^7.0.0",
164
167
  "octokit": "^3.1.0",
165
168
  "ora": "^7.0.1",
166
169
  "proper-lockfile": "^4.1.2",
170
+ "semver": "^7.6.0",
167
171
  "simple-git": "^3.19.1",
172
+ "slice-ansi": "^7.1.0",
168
173
  "strip-ansi": "^7.1.0",
169
174
  "uuid": "^9.0.0",
170
175
  "which": "^4.0.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemplateChatWrapper.js","sourceRoot":"","sources":["../src/TemplateChatWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { ModelTypeDescription } from "../AddonTypes.js";
2
- import { GeneralChatWrapper } from "../../chatWrappers/GeneralChatWrapper.js";
3
- import { LlamaChatWrapper } from "../../chatWrappers/LlamaChatWrapper.js";
4
- import { AlpacaChatWrapper } from "../../chatWrappers/AlpacaChatWrapper.js";
5
- import { FunctionaryChatWrapper } from "../../chatWrappers/FunctionaryChatWrapper.js";
6
- import { ChatMLChatWrapper } from "../../chatWrappers/ChatMLChatWrapper.js";
7
- import { FalconChatWrapper } from "../../chatWrappers/FalconChatWrapper.js";
8
- import { GemmaChatWrapper } from "../../chatWrappers/GemmaChatWrapper.js";
9
- export declare const chatWrapperTypeNames: readonly ["auto", "general", "llamaChat", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"];
10
- export type ChatWrapperTypeName = (typeof chatWrapperTypeNames)[number];
11
- declare const chatWrappers: {
12
- readonly general: typeof GeneralChatWrapper;
13
- readonly llamaChat: typeof LlamaChatWrapper;
14
- readonly alpacaChat: typeof AlpacaChatWrapper;
15
- readonly functionary: typeof FunctionaryChatWrapper;
16
- readonly chatML: typeof ChatMLChatWrapper;
17
- readonly falconChat: typeof FalconChatWrapper;
18
- readonly gemma: typeof GemmaChatWrapper;
19
- };
20
- /**
21
- * @param configType
22
- * @param options
23
- */
24
- export declare function resolveChatWrapperBasedOnWrapperTypeName(configType: ChatWrapperTypeName, { bosString, filename, typeDescription, customWrapperSettings }?: {
25
- bosString?: string | null;
26
- filename?: string;
27
- /** @hidden this type alias is too long in the documentation */
28
- typeDescription?: ModelTypeDescription;
29
- customWrapperSettings?: {
30
- [wrapper in keyof typeof chatWrappers]?: ConstructorParameters<(typeof chatWrappers)[wrapper]>[0];
31
- };
32
- }): LlamaChatWrapper | ChatMLChatWrapper | GeneralChatWrapper | FalconChatWrapper | FunctionaryChatWrapper | GemmaChatWrapper;
33
- export {};
@@ -1,49 +0,0 @@
1
- import { GeneralChatWrapper } from "../../chatWrappers/GeneralChatWrapper.js";
2
- import { LlamaChatWrapper } from "../../chatWrappers/LlamaChatWrapper.js";
3
- import { AlpacaChatWrapper } from "../../chatWrappers/AlpacaChatWrapper.js";
4
- import { FunctionaryChatWrapper } from "../../chatWrappers/FunctionaryChatWrapper.js";
5
- import { ChatMLChatWrapper } from "../../chatWrappers/ChatMLChatWrapper.js";
6
- import { FalconChatWrapper } from "../../chatWrappers/FalconChatWrapper.js";
7
- import { resolveChatWrapperBasedOnModel } from "../../chatWrappers/resolveChatWrapperBasedOnModel.js";
8
- import { GemmaChatWrapper } from "../../chatWrappers/GemmaChatWrapper.js";
9
- export const chatWrapperTypeNames = Object.freeze([
10
- "auto", "general", "llamaChat", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"
11
- ]);
12
- const chatWrappers = {
13
- "general": GeneralChatWrapper,
14
- "llamaChat": LlamaChatWrapper,
15
- "alpacaChat": AlpacaChatWrapper,
16
- "functionary": FunctionaryChatWrapper,
17
- "chatML": ChatMLChatWrapper,
18
- "falconChat": FalconChatWrapper,
19
- "gemma": GemmaChatWrapper
20
- };
21
- const chatWrapperToConfigType = new Map(Object.entries(chatWrappers).map(([configType, Wrapper]) => [Wrapper, configType]));
22
- /**
23
- * @param configType
24
- * @param options
25
- */
26
- export function resolveChatWrapperBasedOnWrapperTypeName(configType, { bosString, filename, typeDescription, customWrapperSettings } = {}) {
27
- if (Object.hasOwn(chatWrappers, configType)) {
28
- const Wrapper = chatWrappers[configType];
29
- const wrapperSettings = customWrapperSettings?.[configType];
30
- return new Wrapper(wrapperSettings);
31
- }
32
- if (configType === "auto") {
33
- const chatWrapper = resolveChatWrapperBasedOnModel({
34
- bosString,
35
- filename,
36
- typeDescription
37
- });
38
- if (chatWrapper != null) {
39
- const resolvedConfigType = chatWrapperToConfigType.get(chatWrapper);
40
- const wrapperSettings = resolvedConfigType == null
41
- ? undefined
42
- : customWrapperSettings?.[resolvedConfigType];
43
- return new chatWrapper(wrapperSettings);
44
- }
45
- return new GeneralChatWrapper(customWrapperSettings?.general);
46
- }
47
- throw new Error("Unknown wrapper config: " + configType);
48
- }
49
- //# sourceMappingURL=resolveChatWrapperBasedOnWrapperTypeName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveChatWrapperBasedOnWrapperTypeName.js","sourceRoot":"","sources":["../../../src/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAC,sBAAsB,EAAC,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAC,8BAA8B,EAAC,MAAM,sDAAsD,CAAC;AACpG,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO;CACtF,CAAC,CAAC;AAGZ,MAAM,YAAY,GAAG;IACjB,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,iBAAiB;IAC/B,aAAa,EAAE,sBAAsB;IACrC,QAAQ,EAAE,iBAAiB;IAC3B,YAAY,EAAE,iBAAiB;IAC/B,OAAO,EAAE,gBAAgB;CACyC,CAAC;AACvE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CACnC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CACrF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,wCAAwC,CAAC,UAA+B,EAAE,EACtF,SAAS,EACT,QAAQ,EACR,eAAe,EACf,qBAAqB,KAWrB,EAAE;IACF,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE;QACzC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAuC,CAAC,CAAC;QACtE,MAAM,eAAe,GACjB,qBAAqB,EAAE,CAAC,UAAuC,CAAC,CAAC;QAErE,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;KACvC;IAED,IAAI,UAAU,KAAK,MAAM,EAAE;QACvB,MAAM,WAAW,GAAG,8BAA8B,CAAC;YAC/C,SAAS;YACT,QAAQ;YACR,eAAe;SAClB,CAAC,CAAC;QAEH,IAAI,WAAW,IAAI,IAAI,EAAE;YACrB,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpE,MAAM,eAAe,GAA6D,kBAAkB,IAAI,IAAI;gBACxG,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,qBAAqB,EAAE,CAAC,kBAA+C,CAAC,CAAC;YAE/E,OAAO,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;SAC3C;QAED,OAAO,IAAI,kBAAkB,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;KACjE;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,UAAU,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,13 +0,0 @@
1
- import { ModelTypeDescription } from "../bindings/AddonTypes.js";
2
- import { LlamaChatWrapper } from "./LlamaChatWrapper.js";
3
- import { GeneralChatWrapper } from "./GeneralChatWrapper.js";
4
- import { FalconChatWrapper } from "./FalconChatWrapper.js";
5
- /**
6
- * @param options
7
- */
8
- export declare function resolveChatWrapperBasedOnModel({ bosString, filename, typeDescription }: {
9
- bosString?: string | null;
10
- filename?: string;
11
- /** @hidden this type alias is too long in the documentation */
12
- typeDescription?: ModelTypeDescription;
13
- }): typeof LlamaChatWrapper | typeof GeneralChatWrapper | typeof FalconChatWrapper | null;
@@ -1,63 +0,0 @@
1
- import { parseModelFileName } from "../utils/parseModelFileName.js";
2
- import { parseModelTypeDescription } from "../utils/parseModelTypeDescription.js";
3
- import { LlamaChatWrapper } from "./LlamaChatWrapper.js";
4
- import { ChatMLChatWrapper } from "./ChatMLChatWrapper.js";
5
- import { GeneralChatWrapper } from "./GeneralChatWrapper.js";
6
- import { FalconChatWrapper } from "./FalconChatWrapper.js";
7
- import { FunctionaryChatWrapper } from "./FunctionaryChatWrapper.js";
8
- import { AlpacaChatWrapper } from "./AlpacaChatWrapper.js";
9
- import { GemmaChatWrapper } from "./GemmaChatWrapper.js";
10
- /**
11
- * @param options
12
- */
13
- export function resolveChatWrapperBasedOnModel({ bosString, filename, typeDescription }) {
14
- if (filename != null) {
15
- const { name, subType, fileType } = parseModelFileName(filename);
16
- if (fileType?.toLowerCase() === "gguf") {
17
- const lowercaseName = name?.toLowerCase();
18
- const lowercaseSubType = subType?.toLowerCase();
19
- const splitLowercaseSubType = lowercaseSubType?.split("-") ?? [];
20
- const firstSplitLowercaseSubType = splitLowercaseSubType[0];
21
- if (lowercaseName === "llama") {
22
- if (splitLowercaseSubType.includes("chat"))
23
- return LlamaChatWrapper;
24
- return GeneralChatWrapper;
25
- }
26
- else if (lowercaseName === "yarn" && firstSplitLowercaseSubType === "llama")
27
- return LlamaChatWrapper;
28
- else if (lowercaseName === "orca")
29
- return ChatMLChatWrapper;
30
- else if (lowercaseName === "phind" && lowercaseSubType === "codellama")
31
- return LlamaChatWrapper;
32
- else if (lowercaseName === "mistral")
33
- return GeneralChatWrapper;
34
- else if (firstSplitLowercaseSubType === "llama")
35
- return LlamaChatWrapper;
36
- else if (lowercaseSubType === "alpaca")
37
- return AlpacaChatWrapper;
38
- else if (lowercaseName === "functionary")
39
- return FunctionaryChatWrapper;
40
- else if (lowercaseName === "dolphin" && splitLowercaseSubType.includes("mistral"))
41
- return ChatMLChatWrapper;
42
- else if (lowercaseName === "gemma")
43
- return GemmaChatWrapper;
44
- }
45
- }
46
- if (typeDescription != null) {
47
- const { arch } = parseModelTypeDescription(typeDescription);
48
- if (arch === "llama")
49
- return LlamaChatWrapper;
50
- else if (arch === "falcon")
51
- return FalconChatWrapper;
52
- }
53
- if (bosString === "" || bosString == null)
54
- return null;
55
- if ("<s>[INST] <<SYS>>\n".startsWith(bosString)) {
56
- return LlamaChatWrapper;
57
- }
58
- else if ("<|im_start|>system\n".startsWith(bosString)) {
59
- return ChatMLChatWrapper;
60
- }
61
- return null;
62
- }
63
- //# sourceMappingURL=resolveChatWrapperBasedOnModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveChatWrapperBasedOnModel.js","sourceRoot":"","sources":["../../src/chatWrappers/resolveChatWrapperBasedOnModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,yBAAyB,EAAC,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAGvD;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,EAC3C,SAAS,EACT,QAAQ,EACR,eAAe,EAOlB;IACG,IAAI,QAAQ,IAAI,IAAI,EAAE;QAClB,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE/D,IAAI,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE;YACpC,MAAM,aAAa,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;YAC1C,MAAM,gBAAgB,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC;YAChD,MAAM,qBAAqB,GAAG,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAE5D,IAAI,aAAa,KAAK,OAAO,EAAE;gBAC3B,IAAI,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACtC,OAAO,gBAAgB,CAAC;gBAE5B,OAAO,kBAAkB,CAAC;aAC7B;iBAAM,IAAI,aAAa,KAAK,MAAM,IAAI,0BAA0B,KAAK,OAAO;gBACzE,OAAO,gBAAgB,CAAC;iBACvB,IAAI,aAAa,KAAK,MAAM;gBAC7B,OAAO,iBAAiB,CAAC;iBACxB,IAAI,aAAa,KAAK,OAAO,IAAI,gBAAgB,KAAK,WAAW;gBAClE,OAAO,gBAAgB,CAAC;iBACvB,IAAI,aAAa,KAAK,SAAS;gBAChC,OAAO,kBAAkB,CAAC;iBACzB,IAAI,0BAA0B,KAAK,OAAO;gBAC3C,OAAO,gBAAgB,CAAC;iBACvB,IAAI,gBAAgB,KAAK,QAAQ;gBAClC,OAAO,iBAAiB,CAAC;iBACxB,IAAI,aAAa,KAAK,aAAa;gBACpC,OAAO,sBAAsB,CAAC;iBAC7B,IAAI,aAAa,KAAK,SAAS,IAAI,qBAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC7E,OAAO,iBAAiB,CAAC;iBACxB,IAAI,aAAa,KAAK,OAAO;gBAC9B,OAAO,gBAAgB,CAAC;SAC/B;KACJ;IAED,IAAI,eAAe,IAAI,IAAI,EAAE;QACzB,MAAM,EAAC,IAAI,EAAC,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;QAE1D,IAAI,IAAI,KAAK,OAAO;YAChB,OAAO,gBAAgB,CAAC;aACvB,IAAI,IAAI,KAAK,QAAQ;YACtB,OAAO,iBAAiB,CAAC;KAChC;IAED,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,IAAI,IAAI;QACrC,OAAO,IAAI,CAAC;IAEhB,IAAI,qBAAqB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC7C,OAAO,gBAAgB,CAAC;KAC3B;SAAM,IAAI,sBAAsB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACrD,OAAO,iBAAiB,CAAC;KAC5B;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}