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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/ChatWrapper.d.ts +1 -0
  2. package/dist/ChatWrapper.js +2 -1
  3. package/dist/ChatWrapper.js.map +1 -1
  4. package/dist/TemplateChatWrapper.d.ts +67 -0
  5. package/dist/TemplateChatWrapper.js +239 -0
  6. package/dist/TemplateChatWrapper.js.map +1 -0
  7. package/dist/bindings/AddonTypes.d.ts +2 -0
  8. package/dist/bindings/Llama.d.ts +1 -3
  9. package/dist/bindings/Llama.js +10 -20
  10. package/dist/bindings/Llama.js.map +1 -1
  11. package/dist/bindings/consts.d.ts +2 -0
  12. package/dist/bindings/consts.js +11 -0
  13. package/dist/bindings/consts.js.map +1 -0
  14. package/dist/bindings/getLlama.d.ts +14 -18
  15. package/dist/bindings/getLlama.js +210 -78
  16. package/dist/bindings/getLlama.js.map +1 -1
  17. package/dist/bindings/types.d.ts +8 -5
  18. package/dist/bindings/types.js +18 -0
  19. package/dist/bindings/types.js.map +1 -1
  20. package/dist/bindings/utils/asyncEvery.d.ts +5 -0
  21. package/dist/bindings/utils/asyncEvery.js +15 -0
  22. package/dist/bindings/utils/asyncEvery.js.map +1 -0
  23. package/dist/bindings/utils/asyncSome.d.ts +5 -0
  24. package/dist/bindings/utils/asyncSome.js +27 -0
  25. package/dist/bindings/utils/asyncSome.js.map +1 -0
  26. package/dist/bindings/utils/cloneLlamaCppRepo.js +13 -3
  27. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
  28. package/dist/bindings/utils/compileLLamaCpp.js +30 -4
  29. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  30. package/dist/bindings/utils/detectAvailableComputeLayers.d.ts +11 -0
  31. package/dist/bindings/utils/detectAvailableComputeLayers.js +158 -0
  32. package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -0
  33. package/dist/bindings/utils/detectGlibc.d.ts +4 -0
  34. package/dist/bindings/utils/detectGlibc.js +36 -0
  35. package/dist/bindings/utils/detectGlibc.js.map +1 -0
  36. package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +9 -0
  37. package/dist/bindings/utils/getBestComputeLayersAvailable.js +29 -0
  38. package/dist/bindings/utils/getBestComputeLayersAvailable.js.map +1 -0
  39. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js +12 -6
  40. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -1
  41. package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +11 -0
  42. package/dist/bindings/utils/getGpuTypesToUseForOption.js +30 -0
  43. package/dist/bindings/utils/getGpuTypesToUseForOption.js.map +1 -0
  44. package/dist/bindings/utils/getLinuxDistroInfo.d.ts +9 -0
  45. package/dist/bindings/utils/getLinuxDistroInfo.js +46 -0
  46. package/dist/bindings/utils/getLinuxDistroInfo.js.map +1 -0
  47. package/dist/bindings/utils/getPlatformInfo.d.ts +5 -0
  48. package/dist/bindings/utils/getPlatformInfo.js +28 -0
  49. package/dist/bindings/utils/getPlatformInfo.js.map +1 -0
  50. package/dist/bindings/utils/hasFileInPath.d.ts +2 -0
  51. package/dist/bindings/utils/hasFileInPath.js +34 -0
  52. package/dist/bindings/utils/hasFileInPath.js.map +1 -0
  53. package/dist/bindings/utils/logBinaryUsageExampleToConsole.d.ts +1 -1
  54. package/dist/bindings/utils/logBinaryUsageExampleToConsole.js +3 -9
  55. package/dist/bindings/utils/logBinaryUsageExampleToConsole.js.map +1 -1
  56. package/dist/bindings/utils/logDistroInstallInstruction.d.ts +13 -0
  57. package/dist/bindings/utils/logDistroInstallInstruction.js +38 -0
  58. package/dist/bindings/utils/logDistroInstallInstruction.js.map +1 -0
  59. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.d.ts +9 -2
  60. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js +10 -4
  61. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js.map +1 -1
  62. package/dist/bindings/utils/testBindingBinary.d.ts +1 -0
  63. package/dist/bindings/utils/testBindingBinary.js +98 -0
  64. package/dist/bindings/utils/testBindingBinary.js.map +1 -0
  65. package/dist/chatWrappers/ChatMLChatWrapper.js +1 -1
  66. package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
  67. package/dist/chatWrappers/GemmaChatWrapper.d.ts +18 -0
  68. package/dist/chatWrappers/GemmaChatWrapper.js +86 -0
  69. package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -0
  70. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +3 -0
  71. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -1
  72. package/dist/cli/cli.js +2 -0
  73. package/dist/cli/cli.js.map +1 -1
  74. package/dist/cli/commands/BuildCommand.d.ts +5 -5
  75. package/dist/cli/commands/BuildCommand.js +78 -60
  76. package/dist/cli/commands/BuildCommand.js.map +1 -1
  77. package/dist/cli/commands/DebugCommand.js +3 -9
  78. package/dist/cli/commands/DebugCommand.js.map +1 -1
  79. package/dist/cli/commands/DownloadCommand.d.ts +5 -5
  80. package/dist/cli/commands/DownloadCommand.js +97 -56
  81. package/dist/cli/commands/DownloadCommand.js.map +1 -1
  82. package/dist/cli/commands/InspectCommand.d.ts +7 -0
  83. package/dist/cli/commands/InspectCommand.js +113 -0
  84. package/dist/cli/commands/InspectCommand.js.map +1 -0
  85. package/dist/cli/utils/logUsedGpuTypeOption.d.ts +2 -0
  86. package/dist/cli/utils/logUsedGpuTypeOption.js +9 -0
  87. package/dist/cli/utils/logUsedGpuTypeOption.js.map +1 -0
  88. package/dist/config.d.ts +3 -3
  89. package/dist/config.js +10 -11
  90. package/dist/config.js.map +1 -1
  91. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +3 -0
  92. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +3 -0
  93. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -1
  94. package/dist/gguf/GGUFInsights.d.ts +28 -0
  95. package/dist/gguf/GGUFInsights.js +58 -0
  96. package/dist/gguf/GGUFInsights.js.map +1 -0
  97. package/dist/gguf/GGUFMetadata.d.ts +19 -0
  98. package/dist/gguf/GGUFMetadata.js +38 -0
  99. package/dist/gguf/GGUFMetadata.js.map +1 -0
  100. package/dist/gguf/errors/InvalidGGUFMagicError.d.ts +3 -0
  101. package/dist/gguf/errors/InvalidGGUFMagicError.js +6 -0
  102. package/dist/gguf/errors/InvalidGGUFMagicError.js.map +1 -0
  103. package/dist/gguf/errors/MetadataNotParsedYetError.d.ts +3 -0
  104. package/dist/gguf/errors/MetadataNotParsedYetError.js +6 -0
  105. package/dist/gguf/errors/MetadataNotParsedYetError.js.map +1 -0
  106. package/dist/gguf/errors/MissingNodeLlamaError.d.ts +3 -0
  107. package/dist/gguf/errors/MissingNodeLlamaError.js +6 -0
  108. package/dist/gguf/errors/MissingNodeLlamaError.js.map +1 -0
  109. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.d.ts +5 -0
  110. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js +12 -0
  111. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js.map +1 -0
  112. package/dist/gguf/errors/UnsupportedMetadataTypeError.d.ts +4 -0
  113. package/dist/gguf/errors/UnsupportedMetadataTypeError.js +8 -0
  114. package/dist/gguf/errors/UnsupportedMetadataTypeError.js.map +1 -0
  115. package/dist/gguf/ggufParser/GGUFParser.d.ts +18 -0
  116. package/dist/gguf/ggufParser/GGUFParser.js +123 -0
  117. package/dist/gguf/ggufParser/GGUFParser.js.map +1 -0
  118. package/dist/gguf/ggufParser/GGUFTypes.d.ts +257 -0
  119. package/dist/gguf/ggufParser/GGUFTypes.js +2 -0
  120. package/dist/gguf/ggufParser/GGUFTypes.js.map +1 -0
  121. package/dist/gguf/ggufParser/checkArchitecture.d.ts +14 -0
  122. package/dist/gguf/ggufParser/checkArchitecture.js +74 -0
  123. package/dist/gguf/ggufParser/checkArchitecture.js.map +1 -0
  124. package/dist/gguf/ggufParser/stream/GGUFBaseStream.d.ts +38 -0
  125. package/dist/gguf/ggufParser/stream/GGUFBaseStream.js +83 -0
  126. package/dist/gguf/ggufParser/stream/GGUFBaseStream.js.map +1 -0
  127. package/dist/gguf/ggufParser/stream/GGUFFetchStream.d.ts +14 -0
  128. package/dist/gguf/ggufParser/stream/GGUFFetchStream.js +35 -0
  129. package/dist/gguf/ggufParser/stream/GGUFFetchStream.js.map +1 -0
  130. package/dist/gguf/ggufParser/stream/GGUFReadStream.d.ts +15 -0
  131. package/dist/gguf/ggufParser/stream/GGUFReadStream.js +40 -0
  132. package/dist/gguf/ggufParser/stream/GGUFReadStream.js.map +1 -0
  133. package/dist/index.d.ts +3 -1
  134. package/dist/index.js +3 -1
  135. package/dist/index.js.map +1 -1
  136. package/dist/utils/LlamaText.js +2 -2
  137. package/dist/utils/LlamaText.js.map +1 -1
  138. package/dist/utils/cmake.js +23 -10
  139. package/dist/utils/cmake.js.map +1 -1
  140. package/dist/utils/getBuildDefaults.d.ts +1 -3
  141. package/dist/utils/getBuildDefaults.js +2 -4
  142. package/dist/utils/getBuildDefaults.js.map +1 -1
  143. package/dist/utils/getConsoleLogPrefix.d.ts +1 -1
  144. package/dist/utils/getConsoleLogPrefix.js +2 -2
  145. package/dist/utils/getConsoleLogPrefix.js.map +1 -1
  146. package/dist/utils/mergeUnionTypes.d.ts +6 -0
  147. package/dist/utils/mergeUnionTypes.js +2 -0
  148. package/dist/utils/mergeUnionTypes.js.map +1 -0
  149. package/dist/utils/parseTextTemplate.d.ts +66 -0
  150. package/dist/utils/parseTextTemplate.js +116 -0
  151. package/dist/utils/parseTextTemplate.js.map +1 -0
  152. package/llama/CMakeLists.txt +11 -5
  153. package/llama/addon.cpp +31 -7
  154. package/llama/binariesGithubRelease.json +1 -1
  155. package/llama/gitRelease.bundle +0 -0
  156. package/llama/llama.cpp.info.json +1 -1
  157. package/llamaBins/linux-arm64/.buildMetadata.json +1 -1
  158. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  159. package/llamaBins/linux-armv7l/.buildMetadata.json +1 -1
  160. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  161. package/llamaBins/linux-x64/.buildMetadata.json +1 -1
  162. package/llamaBins/linux-x64/llama-addon.node +0 -0
  163. package/llamaBins/linux-x64-cuda/.buildMetadata.json +1 -1
  164. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  165. package/llamaBins/linux-x64-vulkan/.buildMetadata.json +1 -1
  166. package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
  167. package/llamaBins/mac-arm64-metal/.buildMetadata.json +1 -1
  168. package/llamaBins/mac-arm64-metal/ggml-metal.metal +815 -106
  169. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  170. package/llamaBins/mac-x64/.buildMetadata.json +1 -1
  171. package/llamaBins/mac-x64/llama-addon.node +0 -0
  172. package/llamaBins/win-x64/.buildMetadata.json +1 -1
  173. package/llamaBins/win-x64/llama-addon.node +0 -0
  174. package/llamaBins/win-x64-cuda/.buildMetadata.json +1 -1
  175. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  176. package/llamaBins/win-x64-vulkan/.buildMetadata.json +1 -1
  177. package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
  178. package/package.json +6 -4
  179. package/dist/cli/utils/logEnabledComputeLayers.d.ts +0 -8
  180. package/dist/cli/utils/logEnabledComputeLayers.js +0 -11
  181. package/dist/cli/utils/logEnabledComputeLayers.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/InspectCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,4BAA4B,EAAC,MAAM,sDAAsD,CAAC;AAClG,OAAO,EAAC,WAAW,EAAC,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAW,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAE/D,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAU,CAAC;AAK1C,MAAM,CAAC,MAAM,cAAc,GAA0C;IACjE,OAAO,EAAE,oBAAoB;IAC7B,QAAQ,EAAE,8CAA8C;IACxD,OAAO,CAAC,KAAK;QACT,OAAO,KAAK;aACP,MAAM,CAAC,UAAU,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gBAAgB;YACzB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,yBAAyB;SACzC,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAiB;QAC1C,IAAI,IAAI,KAAK,KAAK;YACd,MAAM,kBAAkB,EAAE,CAAC;;YAE3B,KAAK,CAAC,IAAoB,CAAC,CAAC;IACpC,CAAC;CACJ,CAAC;AAEF,KAAK,UAAU,kBAAkB;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,sBAAsB,GAAG,MAAM,4BAA4B,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IAC9E,MAAM,oBAAoB,GAAe,EAAE,CAAC;IAE5C,IAAI,QAAQ,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE;QACxC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtE,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;KACtG;IAED,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE;QAC5F,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,EAAE,CAAC,CAAC;KAChH;SAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE;QACnG,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,EAAE,CAAC,CAAC;KAChH;SAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,cAAc,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE;QAClG,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrC;IAED,IAAI,sBAAsB,CAAC,MAAM,EAAE;QAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACvE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACvC;IAED,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;QACpC,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;KAC9B;IAED,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,MAAM,WAAW,EAAE,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAa;IACxC,IAAI;QACA,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC;YACnC,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,aAAa,CAAC,IAAI;SAC/B,EAAE;YACC,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAExC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,aAAa,CAAC,IAAI,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACtM,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,aAAa,CAAC,IAAI,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;KACzM;IAAC,OAAO,GAAG,EAAE,GAAE;AACpB,CAAC;AAED,KAAK,UAAU,WAAW;IACtB,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;IAE5C,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IACtK,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1K,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,KAAa;IACtD,IAAI,KAAK,KAAK,CAAC;QACX,OAAO,GAAG,CAAC;IAEf,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,+FAA+F;AAC/F,uCAAuC;AACvC,mCAAmC;AACnC,4CAA4C;AAC5C,iDAAiD;AACjD,kDAAkD;AAClD,uCAAuC;AACvC,KAAK;AACL,EAAE;AACF,wBAAwB;AACxB,yCAAyC;AACzC,EAAE;AACF,mBAAmB;AACnB,qEAAqE;AACrE,IAAI;AACJ,kCAAkC;AAClC,6CAA6C;AAC7C,uCAAuC;AACvC,iCAAiC;AACjC,IAAI;AACJ,EAAE;AACF,gCAAgC"}
@@ -0,0 +1,2 @@
1
+ import { BuildGpu } from "../../bindings/types.js";
2
+ export declare function logUsedGpuTypeOption(gpu: BuildGpu): void;
@@ -0,0 +1,9 @@
1
+ import chalk from "chalk";
2
+ import { getPrettyBuildGpuName } from "../../bindings/consts.js";
3
+ export function logUsedGpuTypeOption(gpu) {
4
+ if (gpu == false)
5
+ console.log(`${chalk.yellow("GPU:")} disabled`);
6
+ else
7
+ console.log(`${chalk.yellow("GPU:")} ${getPrettyBuildGpuName(gpu)}`);
8
+ }
9
+ //# sourceMappingURL=logUsedGpuTypeOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logUsedGpuTypeOption.js","sourceRoot":"","sources":["../../../src/cli/utils/logUsedGpuTypeOption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,oBAAoB,CAAC,GAAa;IAC9C,IAAI,GAAG,IAAI,KAAK;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;;QAEhD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC"}
package/dist/config.d.ts CHANGED
@@ -23,9 +23,7 @@ export declare const isCI: boolean;
23
23
  export declare const isRunningInsideGoogleColab: boolean;
24
24
  export declare const defaultLlamaCppGitHubRepo: string;
25
25
  export declare const defaultLlamaCppRelease: string;
26
- export declare const defaultLlamaCppMetalSupport: boolean;
27
- export declare const defaultLlamaCppCudaSupport: boolean;
28
- export declare const defaultLlamaCppVulkanSupport: boolean;
26
+ export declare const defaultLlamaCppGpuSupport: false | "cuda" | "vulkan" | "metal" | "auto";
29
27
  export declare const defaultLlamaCppDebugLogs: LlamaLogLevel;
30
28
  export declare const defaultSkipDownload: boolean;
31
29
  export declare const defaultXpacksStoreDirectory: string;
@@ -36,4 +34,6 @@ export declare const cliBinName = "node-llama-cpp";
36
34
  export declare const npxRunPrefix = "npx --no ";
37
35
  export declare const documentationPageUrls: {
38
36
  readonly CUDA: string;
37
+ readonly Vulkan: string;
39
38
  };
39
+ export declare const recommendedBaseDockerImage = "node:20";
package/dist/config.js CHANGED
@@ -5,7 +5,7 @@ import process from "process";
5
5
  import envVar from "env-var";
6
6
  import * as uuid from "uuid";
7
7
  import { getBinariesGithubRelease } from "./bindings/utils/binariesGithubRelease.js";
8
- import { LlamaLogLevel, LlamaLogLevelValues } from "./bindings/types.js";
8
+ import { nodeLlamaCppGpuOptions, LlamaLogLevel, LlamaLogLevelValues, parseNodeLlamaCppGpuOption, nodeLlamaCppGpuOffStringOptions } from "./bindings/types.js";
9
9
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
10
10
  const env = envVar.from(process.env);
11
11
  export const llamaDirectory = path.join(__dirname, "..", "llama");
@@ -40,15 +40,12 @@ export const defaultLlamaCppGitHubRepo = env.get("NODE_LLAMA_CPP_REPO")
40
40
  export const defaultLlamaCppRelease = env.get("NODE_LLAMA_CPP_REPO_RELEASE")
41
41
  .default(builtinLlamaCppRelease)
42
42
  .asString();
43
- export const defaultLlamaCppMetalSupport = env.get("NODE_LLAMA_CPP_METAL")
44
- .default((process.platform === "darwin" && process.arch !== "x64") ? "true" : "false")
45
- .asBool();
46
- export const defaultLlamaCppCudaSupport = env.get("NODE_LLAMA_CPP_CUDA")
47
- .default("false")
48
- .asBool();
49
- export const defaultLlamaCppVulkanSupport = env.get("NODE_LLAMA_CPP_VULKAN")
50
- .default("false")
51
- .asBool();
43
+ export const defaultLlamaCppGpuSupport = parseNodeLlamaCppGpuOption(env.get("NODE_LLAMA_CPP_GPU")
44
+ .default("auto")
45
+ .asEnum(nodeLlamaCppGpuOptions
46
+ .flatMap((option) => (option === false
47
+ ? nodeLlamaCppGpuOffStringOptions
48
+ : [option]))));
52
49
  export const defaultLlamaCppDebugLogs = env.get("NODE_LLAMA_CPP_LOG_LEVEL")
53
50
  .default(LlamaLogLevel.debug)
54
51
  .asEnum(LlamaLogLevelValues);
@@ -69,6 +66,8 @@ export const cliBinName = "node-llama-cpp";
69
66
  export const npxRunPrefix = "npx --no ";
70
67
  const documentationUrl = "https://withcatai.github.io/node-llama-cpp";
71
68
  export const documentationPageUrls = {
72
- CUDA: documentationUrl + "/guide/CUDA"
69
+ CUDA: documentationUrl + "/guide/CUDA",
70
+ Vulkan: documentationUrl + "/guide/vulkan"
73
71
  };
72
+ export const recommendedBaseDockerImage = "node:20";
74
73
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { GbnfJsonSchema, GbnfJsonSchemaToType } from "../../../utils/gbnfJson/types.js";
2
2
  import { ChatSessionModelFunction } from "../../../types.js";
3
+ /**
4
+ * @param functionDefinition
5
+ */
3
6
  export declare function defineChatSessionFunction<const Params extends GbnfJsonSchema | undefined>({ description, params, handler }: {
4
7
  description?: string;
5
8
  params?: Params;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @param functionDefinition
3
+ */
1
4
  export function defineChatSessionFunction({ description, params, handler }) {
2
5
  return {
3
6
  description,
@@ -1 +1 @@
1
- {"version":3,"file":"defineChatSessionFunction.js","sourceRoot":"","sources":["../../../../src/evaluator/LlamaChatSession/utils/defineChatSessionFunction.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,yBAAyB,CAAkD,EACvF,WAAW,EACX,MAAM,EACN,OAAO,EAKV;IACG,OAAO;QACH,WAAW;QACX,MAAM;QACN,OAAO;KACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"defineChatSessionFunction.js","sourceRoot":"","sources":["../../../../src/evaluator/LlamaChatSession/utils/defineChatSessionFunction.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAkD,EACvF,WAAW,EACX,MAAM,EACN,OAAO,EAKV;IACG,OAAO;QACH,WAAW;QACX,MAAM;QACN,OAAO;KACV,CAAC;AACN,CAAC"}
@@ -0,0 +1,28 @@
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
+ }
@@ -0,0 +1,58 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,19 @@
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
+ }
@@ -0,0 +1,38 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ export default class InvalidGGUFMagicError extends Error {
2
+ constructor(message?: string);
3
+ }
@@ -0,0 +1,6 @@
1
+ export default class InvalidGGUFMagicError extends Error {
2
+ constructor(message = "Invalid GGUF magic") {
3
+ super(message);
4
+ }
5
+ }
6
+ //# sourceMappingURL=InvalidGGUFMagicError.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ export default class MetadataNotParsedYetError extends Error {
2
+ constructor(path: string);
3
+ }
@@ -0,0 +1,6 @@
1
+ export default class MetadataNotParsedYetError extends Error {
2
+ constructor(path) {
3
+ super(`Metadata not parsed yet: "${path}"`);
4
+ }
5
+ }
6
+ //# sourceMappingURL=MetadataNotParsedYetError.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ export default class MissingNodeLlamaError extends Error {
2
+ constructor(purpose: string);
3
+ }
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,5 @@
1
+ export default class NotEnoughVRamError extends Error {
2
+ readonly requiredVRAM: number;
3
+ readonly availableVRAM: number;
4
+ constructor(requiredVRAM: number, availableVRAM: number);
5
+ }
@@ -0,0 +1,12 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,4 @@
1
+ export default class UnsupportedMetadataTypeError extends Error {
2
+ readonly type: number;
3
+ constructor(type: number);
4
+ }
@@ -0,0 +1,8 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,18 @@
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
+ }
@@ -0,0 +1,123 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GGUFParser.js","sourceRoot":"","sources":["../../../src/gguf/ggufParser/GGUFParser.ts"],"names":[],"mappings":"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"}