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,113 +0,0 @@
1
- import os from "os";
2
- import bytes from "bytes";
3
- import chalk from "chalk";
4
- import { getLlamaForOptions } from "../../bindings/getLlama.js";
5
- import { detectAvailableComputeLayers } from "../../bindings/utils/detectAvailableComputeLayers.js";
6
- import { getPlatform } from "../../bindings/utils/getPlatform.js";
7
- import { LlamaLogLevel } from "../../bindings/types.js";
8
- import { getPrettyBuildGpuName } from "../../bindings/consts.js";
9
- const inspectFunctions = ["gpu"];
10
- export const InspectCommand = {
11
- command: "inspect [function]",
12
- describe: "Inspect the inner workings of node-llama-cpp",
13
- builder(yargs) {
14
- return yargs
15
- .option("function", {
16
- type: "string",
17
- choices: inspectFunctions,
18
- demandOption: true,
19
- description: "inspect function to run"
20
- });
21
- },
22
- async handler({ function: func }) {
23
- if (func === "gpu")
24
- await InspectGpuFunction();
25
- else
26
- void (func);
27
- }
28
- };
29
- async function InspectGpuFunction() {
30
- const platform = getPlatform();
31
- const arch = process.arch;
32
- const availableComputeLayers = await detectAvailableComputeLayers({ platform });
33
- const gpusToLogVramUsageOf = [];
34
- if (platform === "mac" && arch === "arm64") {
35
- console.info(`${chalk.yellow("Metal:")} ${chalk.green("available")}`);
36
- gpusToLogVramUsageOf.push("metal");
37
- }
38
- else {
39
- console.info(`${chalk.yellow("Metal:")} ${chalk.red("not supported by llama.cpp on Intel Macs")}`);
40
- }
41
- if (availableComputeLayers.cuda.hasNvidiaDriver && !availableComputeLayers.cuda.hasCudaRuntime) {
42
- console.info(`${chalk.yellow("CUDA:")} ${chalk.red("NVIDIA driver is installed, but CUDA runtime is not")}`);
43
- }
44
- else if (availableComputeLayers.cuda.hasCudaRuntime && !availableComputeLayers.cuda.hasNvidiaDriver) {
45
- console.info(`${chalk.yellow("CUDA:")} ${chalk.red("CUDA runtime is installed, but NVIDIA driver is not")}`);
46
- }
47
- else if (availableComputeLayers.cuda.hasCudaRuntime && availableComputeLayers.cuda.hasNvidiaDriver) {
48
- console.info(`${chalk.yellow("CUDA:")} ${chalk.green("available")}`);
49
- gpusToLogVramUsageOf.push("cuda");
50
- }
51
- if (availableComputeLayers.vulkan) {
52
- console.info(`${chalk.yellow("Vulkan:")} ${chalk.green("available")}`);
53
- gpusToLogVramUsageOf.push("vulkan");
54
- }
55
- for (const gpu of gpusToLogVramUsageOf) {
56
- console.info();
57
- await logGpuVramUsage(gpu);
58
- }
59
- console.info();
60
- await logRamUsage();
61
- }
62
- async function logGpuVramUsage(gpu) {
63
- try {
64
- const llama = await getLlamaForOptions({
65
- gpu: gpu,
66
- build: "never",
67
- progressLogs: false,
68
- logLevel: LlamaLogLevel.warn
69
- }, {
70
- skipLlamaInit: true
71
- });
72
- const gpuName = getPrettyBuildGpuName(gpu);
73
- const vramStatus = llama.getVramState();
74
- console.info(`${chalk.yellow(`${gpuName} used VRAM:`)} ${getPercentageString(vramStatus.used, vramStatus.total)}% ${chalk.grey("(" + bytes(vramStatus.used) + "/" + bytes(vramStatus.total) + ")")}`);
75
- console.info(`${chalk.yellow(`${gpuName} free VRAM:`)} ${getPercentageString(vramStatus.free, vramStatus.total)}% ${chalk.grey("(" + bytes(vramStatus.free) + "/" + bytes(vramStatus.total) + ")")}`);
76
- }
77
- catch (err) { }
78
- }
79
- async function logRamUsage() {
80
- const totalMemory = os.totalmem();
81
- const freeMemory = os.freemem();
82
- const usedMemory = totalMemory - freeMemory;
83
- console.info(`${chalk.yellow("Used RAM:")} ${getPercentageString(usedMemory, totalMemory)}% ${chalk.grey("(" + bytes(usedMemory) + "/" + bytes(totalMemory) + ")")}`);
84
- console.info(`${chalk.yellow("Free RAM:")} ${getPercentageString(freeMemory, totalMemory)}% ${chalk.grey("(" + bytes(freeMemory) + "/" + bytes(totalMemory) + ")")}`);
85
- }
86
- function getPercentageString(amount, total) {
87
- if (total === 0)
88
- return "0";
89
- return String(Math.floor((amount / total) * 100 * 100) / 100);
90
- }
91
- // // simple script to copy console logs as ansi to clipboard. Used to update the documentation
92
- // import {spawn} from "child_process";
93
- // const pendingLog: string[] = [];
94
- // const originalConsoleInfo = console.info;
95
- // console.info = function info(...args: any[]) {
96
- // originalConsoleInfo.call(console, ...args);
97
- // pendingLog.push(args.join(" "));
98
- // };
99
- //
100
- // function copyLogs() {
101
- // const res = pendingLog.join("\n");
102
- //
103
- // pbcopy(res);
104
- // originalConsoleInfo.call(console, "Copied logs to clipboard");
105
- // }
106
- // function pbcopy(text: string) {
107
- // const pbcopyProcess = spawn("pbcopy");
108
- // pbcopyProcess.stdin.write(text);
109
- // pbcopyProcess.stdin.end();
110
- // }
111
- //
112
- // process.on("exit", copyLogs);
113
- //# sourceMappingURL=InspectCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InspectCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/InspectCommand.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"firstInFirstOutStrategy.js","sourceRoot":"","sources":["../../../../../src/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,EAAC,KAAK,EAAE,IAAI,EAAgD;IAChG,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,MAAM,WAAW,GAAG,KAAK;SACpB,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAEjE,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,aAAa,EAAC,CAAC,CAAC;QAChC,cAAc,IAAI,aAAa,CAAC;QAEhC,IAAI,cAAc,KAAK,CAAC;YACpB,MAAM;KACb;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"maximumParallelismStrategy.js","sourceRoot":"","sources":["../../../../../src/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CAAC,EAAC,KAAK,EAAE,IAAI,EAAgD;IACnG,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvE,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;QACzF,MAAM,cAAc,GAAG,EAAC,IAAI,EAAE,aAAa,EAAC,CAAC;QAE7C,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzB,cAAc,IAAI,aAAa,CAAC;QAEhC,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YAClC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEtC,IAAI,cAAc,KAAK,CAAC;YACpB,MAAM;KACb;IAED,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE;QACpG,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAE1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChE,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC;YAC3F,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;YACtF,cAAc,CAAC,aAAa,IAAI,cAAc,CAAC;YAE/C,IAAI,cAAc,KAAK,iBAAiB,EAAE;gBACtC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC;aACP;SACJ;KACJ;IAED,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAChE,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC;QAC3F,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QACnE,cAAc,CAAC,aAAa,IAAI,cAAc,CAAC;QAE/C,IAAI,cAAc,KAAK,iBAAiB,EAAE;YACtC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,CAAC,EAAE,CAAC;SACP;KACJ;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -1,2 +0,0 @@
1
- import { BatchingOptions } from "../types.js";
2
- export declare function resolveBatchItemsPrioritizingStrategy(strategy: Required<BatchingOptions>["itemsPrioritizingStrategy"]): import("../types.js").CustomBatchingPrioritizeStrategy;
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveBatchItemsPrioritizingStrategy.js","sourceRoot":"","sources":["../../../../src/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,0BAA0B,EAAC,MAAM,kEAAkE,CAAC;AAC5G,OAAO,EAAC,uBAAuB,EAAC,MAAM,+DAA+D,CAAC;AAEtG,MAAM,UAAU,qCAAqC,CAAC,QAAgE;IAClH,IAAI,QAAQ,YAAY,QAAQ;QAC5B,OAAO,QAAQ,CAAC;SACf,IAAI,QAAQ,KAAK,oBAAoB;QACtC,OAAO,0BAA0B,CAAC;SACjC,IAAI,QAAQ,KAAK,iBAAiB;QACnC,OAAO,uBAAuB,CAAC;IAEnC,KAAK,CAAC,QAAwB,CAAC,CAAC;IAEhC,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;AAC5E,CAAC"}
@@ -1,28 +0,0 @@
1
- import { Llama } from "../bindings/Llama.js";
2
- import { GGUFMetadataResponse } from "./ggufParser/GGUFParser.js";
3
- export type GGUFInsightsOptions = {
4
- contextCount?: number;
5
- nodeLlama?: Llama;
6
- modelSize?: number;
7
- };
8
- export default class GGUFInsights {
9
- readonly metadataResponse: GGUFMetadataResponse;
10
- readonly options: GGUFInsightsOptions;
11
- get metadata(): import("./ggufParser/GGUFTypes.js").GGUFMetadataAny;
12
- get architectureMetadata(): import("./ggufParser/GGUFTypes.js").GGUFMetadataArchitectureProperties;
13
- /**
14
- * fp16 k,v matrices
15
- */
16
- get kvMatrices(): number;
17
- /**
18
- * This amount is the overhead + tensors in memory
19
- */
20
- get graphSize(): number;
21
- get VRAMUsage(): number;
22
- protected get _availableVRam(): number;
23
- constructor(metadataResponse: GGUFMetadataResponse, options?: GGUFInsightsOptions);
24
- /**
25
- * The score of the model by how much it's compatible to the current system
26
- */
27
- modelScore(): number;
28
- }
@@ -1,58 +0,0 @@
1
- import MissingNodeLlamaError from "./errors/MissingNodeLlamaError.js";
2
- import NotEnoughVRamError from "./errors/ModelScore/NotEnoughVRamError.js";
3
- const PAD_AVAILABLE_VRAM = 1024 ** 2 * 500; // 500MB
4
- export default class GGUFInsights {
5
- metadataResponse;
6
- options = {};
7
- get metadata() {
8
- return this.metadataResponse.metadata;
9
- }
10
- get architectureMetadata() {
11
- return this.metadata[this.metadata.general.architecture];
12
- }
13
- /**
14
- * fp16 k,v matrices
15
- */
16
- get kvMatrices() {
17
- // 2 bytes each * 2 key and value
18
- return (2 * 2 *
19
- this.architectureMetadata.context_length *
20
- this.architectureMetadata.block_count *
21
- this.architectureMetadata.embedding_length *
22
- this.architectureMetadata.attention.head_count_kv /
23
- this.architectureMetadata.attention.head_count);
24
- }
25
- /**
26
- * This amount is the overhead + tensors in memory
27
- */
28
- get graphSize() {
29
- // TODO: get this from the llama.cpp's graph calculations instead of
30
- // estimating it's 1/6 * kv_cache_size * num_gqa
31
- return ((this.architectureMetadata.attention.head_count_kv /
32
- this.architectureMetadata.attention.head_count) * this.kvMatrices / 6);
33
- }
34
- get VRAMUsage() {
35
- return this.graphSize + this.kvMatrices + this.metadataResponse.metadataSize;
36
- }
37
- get _availableVRam() {
38
- if (!this.options?.nodeLlama) {
39
- throw new MissingNodeLlamaError("GGUFInsights Calculations");
40
- }
41
- return this.options.nodeLlama.getVramState().total - PAD_AVAILABLE_VRAM;
42
- }
43
- constructor(metadataResponse, options = {}) {
44
- this.options = options;
45
- this.metadataResponse = metadataResponse;
46
- }
47
- /**
48
- * The score of the model by how much it's compatible to the current system
49
- */
50
- modelScore() {
51
- const vramScore = this.VRAMUsage / this._availableVRam;
52
- if (vramScore >= 1) {
53
- throw new NotEnoughVRamError(this.VRAMUsage, this._availableVRam);
54
- }
55
- return vramScore;
56
- }
57
- }
58
- //# sourceMappingURL=GGUFInsights.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GGUFInsights.js","sourceRoot":"","sources":["../../src/gguf/GGUFInsights.ts"],"names":[],"mappings":"AACA,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AAEtE,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAE3E,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ;AAQpD,MAAM,CAAC,OAAO,OAAO,YAAY;IACb,gBAAgB,CAAuB;IACvC,OAAO,GAAwB,EAAE,CAAC;IAElD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED,IAAW,oBAAoB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACjB,iCAAiC;QACjC,OAAO,CACH,CAAC,GAAG,CAAC;YACL,IAAI,CAAC,oBAAoB,CAAC,cAAc;YACxC,IAAI,CAAC,oBAAoB,CAAC,WAAW;YACrC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB;YAC1C,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,aAAa;YACjD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,UAAU,CACjD,CAAC;IACN,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,oEAAoE;QACpE,gDAAgD;QAChD,OAAO,CACH,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,aAAa;YAClD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CACxE,CAAC;IACN,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;IACjF,CAAC;IAED,IAAc,cAAc;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAC;YACzB,MAAM,IAAI,qBAAqB,CAAC,2BAA2B,CAAC,CAAC;SAChE;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,KAAK,GAAG,kBAAkB,CAAC;IAC5E,CAAC;IAED,YAAmB,gBAAsC,EAAE,UAA+B,EAAE;QACxF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAE7C,CAAC;IAGD;;OAEG;IACI,UAAU;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QACvD,IAAI,SAAS,IAAI,CAAC,EAAC;YACf,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACrE;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CAEJ"}
@@ -1,19 +0,0 @@
1
- import retry from "async-retry";
2
- import GGUFInsights, { GGUFInsightsOptions } from "./GGUFInsights.js";
3
- import { GGUFMetadataResponse } from "./ggufParser/GGUFParser.js";
4
- export type GGUFMetadataOptions = {
5
- source?: "network" | "local";
6
- retry?: retry.Options;
7
- ignoreKeys?: string[];
8
- insights?: GGUFInsightsOptions;
9
- };
10
- export default class GGUFMetadata {
11
- protected _metadata?: GGUFMetadataResponse;
12
- readonly path: string;
13
- readonly options: Partial<GGUFMetadataOptions>;
14
- get metadata(): GGUFMetadataResponse;
15
- get insights(): GGUFInsights;
16
- constructor(path: string, options?: Partial<GGUFMetadataOptions>);
17
- parse(): Promise<GGUFMetadataResponse>;
18
- private _createStream;
19
- }
@@ -1,38 +0,0 @@
1
- import MetadataNotParsedYetError from "./errors/MetadataNotParsedYetError.js";
2
- import GGUFInsights from "./GGUFInsights.js";
3
- import GGUFParser from "./ggufParser/GGUFParser.js";
4
- import GGUFFetchStream from "./ggufParser/stream/GGUFFetchStream.js";
5
- import GGUFReadStream from "./ggufParser/stream/GGUFReadStream.js";
6
- export default class GGUFMetadata {
7
- _metadata;
8
- path;
9
- options = {};
10
- get metadata() {
11
- if (!this._metadata) {
12
- throw new MetadataNotParsedYetError(this.path);
13
- }
14
- return this._metadata;
15
- }
16
- get insights() {
17
- return new GGUFInsights(this.metadata, this.options.insights);
18
- }
19
- constructor(path, options = {}) {
20
- this.options = options;
21
- this.path = path;
22
- }
23
- async parse() {
24
- const stream = this._createStream();
25
- const parser = new GGUFParser(stream, this.options.ignoreKeys);
26
- return this._metadata = await parser.parseMetadata();
27
- }
28
- _createStream() {
29
- switch (this.options.source) {
30
- case "network":
31
- return new GGUFFetchStream(this.path, { retry: this.options.retry });
32
- case "local":
33
- default:
34
- return new GGUFReadStream(this.path, { retry: this.options.retry });
35
- }
36
- }
37
- }
38
- //# sourceMappingURL=GGUFMetadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GGUFMetadata.js","sourceRoot":"","sources":["../../src/gguf/GGUFMetadata.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAC9E,OAAO,YAAmC,MAAM,mBAAmB,CAAC;AACpE,OAAO,UAAkC,MAAM,4BAA4B,CAAC;AAC5E,OAAO,eAAe,MAAM,wCAAwC,CAAC;AACrE,OAAO,cAAc,MAAM,uCAAuC,CAAC;AASnE,MAAM,CAAC,OAAO,OAAO,YAAY;IACnB,SAAS,CAAwB;IAC3B,IAAI,CAAS;IACb,OAAO,GAAiC,EAAE,CAAC;IAE3D,IAAW,QAAQ;QACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,YAAmB,IAAY,EAAE,UAAwC,EAAE;QACvE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC;IAEO,aAAa;QACjB,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACzB,KAAK,SAAS;gBACV,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAC,CAAC,CAAC;YACvE,KAAK,OAAO,CAAC;YACb;gBACI,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAC,CAAC,CAAC;SACzE;IACL,CAAC;CACJ"}
@@ -1,3 +0,0 @@
1
- export default class InvalidGGUFMagicError extends Error {
2
- constructor(message?: string);
3
- }
@@ -1,6 +0,0 @@
1
- export default class InvalidGGUFMagicError extends Error {
2
- constructor(message = "Invalid GGUF magic") {
3
- super(message);
4
- }
5
- }
6
- //# sourceMappingURL=InvalidGGUFMagicError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InvalidGGUFMagicError.js","sourceRoot":"","sources":["../../../src/gguf/errors/InvalidGGUFMagicError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,KAAK;IACpD,YAAmB,OAAO,GAAG,oBAAoB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ"}
@@ -1,3 +0,0 @@
1
- export default class MetadataNotParsedYetError extends Error {
2
- constructor(path: string);
3
- }
@@ -1,6 +0,0 @@
1
- export default class MetadataNotParsedYetError extends Error {
2
- constructor(path) {
3
- super(`Metadata not parsed yet: "${path}"`);
4
- }
5
- }
6
- //# sourceMappingURL=MetadataNotParsedYetError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetadataNotParsedYetError.js","sourceRoot":"","sources":["../../../src/gguf/errors/MetadataNotParsedYetError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,KAAK;IACxD,YAAmB,IAAY;QAC3B,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;IAChD,CAAC;CACJ"}
@@ -1,3 +0,0 @@
1
- export default class MissingNodeLlamaError extends Error {
2
- constructor(purpose: string);
3
- }
@@ -1,6 +0,0 @@
1
- export default class MissingNodeLlamaError extends Error {
2
- constructor(purpose) {
3
- super(`Missing nodeLlama options, this in required for ${purpose}`);
4
- }
5
- }
6
- //# sourceMappingURL=MissingNodeLlamaError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MissingNodeLlamaError.js","sourceRoot":"","sources":["../../../src/gguf/errors/MissingNodeLlamaError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,KAAK;IACpD,YAAmB,OAAe;QAC9B,KAAK,CAAC,mDAAmD,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;CACJ"}
@@ -1,5 +0,0 @@
1
- export default class NotEnoughVRamError extends Error {
2
- readonly requiredVRAM: number;
3
- readonly availableVRAM: number;
4
- constructor(requiredVRAM: number, availableVRAM: number);
5
- }
@@ -1,12 +0,0 @@
1
- import prettyBytes from "pretty-bytes";
2
- export default class NotEnoughVRamError extends Error {
3
- requiredVRAM;
4
- availableVRAM;
5
- constructor(requiredVRAM, availableVRAM) {
6
- super();
7
- this.availableVRAM = availableVRAM;
8
- this.requiredVRAM = requiredVRAM;
9
- this.message = `Not enough VRAM, require ${prettyBytes(requiredVRAM)}, but only ${prettyBytes(availableVRAM)} available`;
10
- }
11
- }
12
- //# sourceMappingURL=NotEnoughVRamError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotEnoughVRamError.js","sourceRoot":"","sources":["../../../../src/gguf/errors/ModelScore/NotEnoughVRamError.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,KAAK;IACjC,YAAY,CAAS;IACrB,aAAa,CAAS;IAEtC,YAAmB,YAAoB,EAAE,aAAqB;QAC1D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,4BAA4B,WAAW,CAAC,YAAY,CAAC,cAAc,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;IAC7H,CAAC;CACJ"}
@@ -1,4 +0,0 @@
1
- export default class UnsupportedMetadataTypeError extends Error {
2
- readonly type: number;
3
- constructor(type: number);
4
- }
@@ -1,8 +0,0 @@
1
- export default class UnsupportedMetadataTypeError extends Error {
2
- type;
3
- constructor(type) {
4
- super(`Unsupported metadata type: "${type}"`);
5
- this.type = type;
6
- }
7
- }
8
- //# sourceMappingURL=UnsupportedMetadataTypeError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnsupportedMetadataTypeError.js","sourceRoot":"","sources":["../../../src/gguf/errors/UnsupportedMetadataTypeError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,KAAK;IAC3C,IAAI,CAAS;IAE7B,YAAmB,IAAY;QAC3B,KAAK,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ"}
@@ -1,18 +0,0 @@
1
- import { GGUFMetadataAny } from "./GGUFTypes.js";
2
- import GGUFBaseStream from "./stream/GGUFBaseStream.js";
3
- export type GGUFMetadataResponse = {
4
- metadataSize: number;
5
- metadata: GGUFMetadataAny;
6
- };
7
- export default class GGUFParser {
8
- protected readonly _stream: GGUFBaseStream;
9
- ignoreKeys: string[];
10
- constructor(_stream: GGUFBaseStream, ignoreKeys?: string[]);
11
- private _readMetadataValue;
12
- private _parseMetadataRaw;
13
- parseMetadata(): Promise<GGUFMetadataResponse>;
14
- protected static _getNestedObject(key: string, currentNestedObject: any): {
15
- lastObject: any;
16
- lastKey: string;
17
- };
18
- }
@@ -1,123 +0,0 @@
1
- import InvalidGGUFMagicError from "../errors/InvalidGGUFMagicError.js";
2
- import UnsupportedMetadataTypeError from "../errors/UnsupportedMetadataTypeError.js";
3
- import { fileTypeIntToString } from "./checkArchitecture.js";
4
- import GGUFBaseStream, { METHOD_TO_BYTE_COUNT } from "./stream/GGUFBaseStream.js";
5
- const METADATA_VALUE_TO_METHOD = {
6
- 0: "readUint8",
7
- 1: "readInt8",
8
- 2: "readUint16",
9
- 3: "readInt16",
10
- 4: "readUint32",
11
- 5: "readInt32",
12
- 6: "readFloat32",
13
- 7: "readBool"
14
- };
15
- const METADATA_STRING = 8;
16
- const METADATA_ARRAY = 9;
17
- const GGUF_MAGIC = "GGUF";
18
- const DEFAULT_IGNORE_METADATA_KEYS = ["tokenizer.ggml.tokens", "tokenizer.ggml.scores", "tokenizer.ggml.token_type", "tokenizer.ggml.merges"];
19
- export default class GGUFParser {
20
- _stream;
21
- ignoreKeys = DEFAULT_IGNORE_METADATA_KEYS;
22
- constructor(_stream, ignoreKeys = DEFAULT_IGNORE_METADATA_KEYS) {
23
- this.ignoreKeys = ignoreKeys;
24
- this._stream = _stream;
25
- }
26
- async _readMetadataValue(type, offset) {
27
- const numberMethod = METADATA_VALUE_TO_METHOD[type];
28
- if (numberMethod) {
29
- return {
30
- value: await this._stream[numberMethod](offset),
31
- newOffset: offset + METHOD_TO_BYTE_COUNT[numberMethod]
32
- };
33
- }
34
- if (METADATA_STRING === type) {
35
- const { string, newOffset } = await this._stream.readString(offset);
36
- return { value: string, newOffset };
37
- }
38
- if (METADATA_ARRAY === type) {
39
- const arrayType = await this._stream.readUint32(offset);
40
- offset += METHOD_TO_BYTE_COUNT.readUint32;
41
- const arrayLength = await this._stream.readUint64(offset);
42
- offset += METHOD_TO_BYTE_COUNT.readUint64;
43
- const arrayValues = [];
44
- for (let i = 0; i < arrayLength; i++) {
45
- const { value, newOffset } = await this._readMetadataValue(arrayType, offset);
46
- arrayValues.push(value);
47
- offset = newOffset;
48
- }
49
- return { value: arrayValues, newOffset: offset };
50
- }
51
- throw new UnsupportedMetadataTypeError(type);
52
- }
53
- async _parseMetadataRaw() {
54
- let offset = 0;
55
- const readMagicBytesLength = METHOD_TO_BYTE_COUNT.readUint8 * GGUF_MAGIC.length;
56
- const magicBytes = await this._stream.readNBytes(readMagicBytesLength);
57
- offset += readMagicBytesLength;
58
- const magicText = String.fromCharCode(...magicBytes);
59
- if (magicText !== GGUF_MAGIC) {
60
- throw new InvalidGGUFMagicError();
61
- }
62
- const version = await this._stream.readUint32(offset);
63
- offset += METHOD_TO_BYTE_COUNT.readUint32;
64
- const tensorCount = await this._stream.readUint64(offset);
65
- offset += METHOD_TO_BYTE_COUNT.readUint64;
66
- const metadataKVCount = await this._stream.readUint64(offset);
67
- offset += METHOD_TO_BYTE_COUNT.readUint64;
68
- const metadata = {
69
- version,
70
- tensorCount: GGUFBaseStream.castNumber(tensorCount)
71
- };
72
- for (let i = 0; i < Number(metadataKVCount); i++) {
73
- // read key
74
- const keyResult = await this._stream.readString(offset);
75
- offset = keyResult.newOffset;
76
- // read the value type
77
- const valueType = await this._stream.readUint32(offset);
78
- offset += METHOD_TO_BYTE_COUNT.readUint32;
79
- // read value
80
- const valueResult = await this._readMetadataValue(valueType, offset);
81
- offset = valueResult.newOffset;
82
- metadata[keyResult.string] = valueResult.value;
83
- }
84
- return {
85
- metadata: metadata,
86
- metadataSize: offset
87
- };
88
- }
89
- async parseMetadata() {
90
- const metadataRaw = await this._parseMetadataRaw();
91
- const metadata = {};
92
- for (const [key, value] of Object.entries(metadataRaw.metadata)) {
93
- if (this.ignoreKeys.includes(key)) {
94
- continue;
95
- }
96
- const { lastObject, lastKey } = GGUFParser._getNestedObject(key, metadata);
97
- lastObject[lastKey] = value;
98
- }
99
- if (typeof metadata?.general?.file_type === "number") {
100
- metadata.general["file_type"] = fileTypeIntToString(metadata.general.file_type) || metadata.general.file_type;
101
- }
102
- return {
103
- metadata: metadata,
104
- metadataSize: metadataRaw.metadataSize
105
- };
106
- }
107
- static _getNestedObject(key, currentNestedObject) {
108
- const nestedKey = key.split(".");
109
- const lastKey = nestedKey.pop();
110
- while (nestedKey.length > 0) {
111
- const currentKey = nestedKey.shift();
112
- if (!currentNestedObject[currentKey]) {
113
- currentNestedObject[currentKey] = {};
114
- }
115
- currentNestedObject = currentNestedObject[currentKey];
116
- }
117
- return {
118
- lastObject: currentNestedObject,
119
- lastKey
120
- };
121
- }
122
- }
123
- //# sourceMappingURL=GGUFParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GGUFParser.js","sourceRoot":"","sources":["../../../src/gguf/ggufParser/GGUFParser.ts"],"names":[],"mappings":"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"}