node-llama-cpp 3.0.0-beta.44 → 3.0.0-beta.46

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 (329) hide show
  1. package/README.md +33 -21
  2. package/bins/_linux-arm64.moved.txt +1 -0
  3. package/bins/_linux-armv7l.moved.txt +1 -0
  4. package/bins/_linux-x64-vulkan.moved.txt +1 -0
  5. package/bins/_linux-x64.moved.txt +1 -0
  6. package/bins/_mac-arm64-metal.moved.txt +1 -0
  7. package/bins/_mac-x64.moved.txt +1 -0
  8. package/bins/_win-arm64.moved.txt +1 -0
  9. package/bins/_win-x64-vulkan.moved.txt +1 -0
  10. package/bins/_win-x64.moved.txt +1 -0
  11. package/dist/ChatWrapper.d.ts +11 -1
  12. package/dist/ChatWrapper.js +1 -1
  13. package/dist/ChatWrapper.js.map +1 -1
  14. package/dist/bindings/AddonTypes.d.ts +30 -19
  15. package/dist/bindings/Llama.d.ts +11 -0
  16. package/dist/bindings/Llama.js +37 -6
  17. package/dist/bindings/Llama.js.map +1 -1
  18. package/dist/bindings/consts.d.ts +1 -1
  19. package/dist/bindings/consts.js +2 -0
  20. package/dist/bindings/consts.js.map +1 -1
  21. package/dist/bindings/getLlama.d.ts +41 -5
  22. package/dist/bindings/getLlama.js +14 -3
  23. package/dist/bindings/getLlama.js.map +1 -1
  24. package/dist/bindings/types.d.ts +2 -2
  25. package/dist/bindings/types.js +2 -0
  26. package/dist/bindings/types.js.map +1 -1
  27. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
  28. package/dist/bindings/utils/compileLLamaCpp.d.ts +0 -1
  29. package/dist/bindings/utils/compileLLamaCpp.js +45 -7
  30. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  31. package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +0 -1
  32. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js +2 -2
  33. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -1
  34. package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +0 -1
  35. package/dist/bindings/utils/testCmakeBinary.d.ts +0 -1
  36. package/dist/chatWrappers/AlpacaChatWrapper.js +4 -3
  37. package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -1
  38. package/dist/chatWrappers/ChatMLChatWrapper.js +1 -1
  39. package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
  40. package/dist/chatWrappers/FalconChatWrapper.js +5 -4
  41. package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
  42. package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +2 -2
  43. package/dist/chatWrappers/FunctionaryChatWrapper.js +200 -12
  44. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
  45. package/dist/chatWrappers/GemmaChatWrapper.js +1 -1
  46. package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -1
  47. package/dist/chatWrappers/GeneralChatWrapper.js +5 -4
  48. package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
  49. package/dist/chatWrappers/Llama2ChatWrapper.js +5 -6
  50. package/dist/chatWrappers/Llama2ChatWrapper.js.map +1 -1
  51. package/dist/chatWrappers/Llama3ChatWrapper.js +1 -1
  52. package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -1
  53. package/dist/chatWrappers/Llama3_1ChatWrapper.d.ts +13 -9
  54. package/dist/chatWrappers/Llama3_1ChatWrapper.js +92 -38
  55. package/dist/chatWrappers/Llama3_1ChatWrapper.js.map +1 -1
  56. package/dist/chatWrappers/MistralChatWrapper.d.ts +15 -0
  57. package/dist/chatWrappers/MistralChatWrapper.js +169 -0
  58. package/dist/chatWrappers/MistralChatWrapper.js.map +1 -0
  59. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +25 -1
  60. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +50 -12
  61. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
  62. package/dist/chatWrappers/generic/TemplateChatWrapper.d.ts +22 -16
  63. package/dist/chatWrappers/generic/TemplateChatWrapper.js +28 -24
  64. package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -1
  65. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.d.ts +1 -1
  66. package/dist/chatWrappers/utils/chunkChatItems.d.ts +10 -0
  67. package/dist/chatWrappers/utils/chunkChatItems.js +44 -0
  68. package/dist/chatWrappers/utils/chunkChatItems.js.map +1 -0
  69. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +37 -26
  70. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -1
  71. package/dist/chatWrappers/utils/jsonDumps.d.ts +1 -1
  72. package/dist/chatWrappers/utils/jsonDumps.js +2 -2
  73. package/dist/chatWrappers/utils/jsonDumps.js.map +1 -1
  74. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +30 -6
  75. package/dist/chatWrappers/utils/resolveChatWrapper.js +71 -25
  76. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  77. package/dist/cli/cli.js +2 -6
  78. package/dist/cli/cli.js.map +1 -1
  79. package/dist/cli/commands/ChatCommand.d.ts +2 -1
  80. package/dist/cli/commands/ChatCommand.js +83 -53
  81. package/dist/cli/commands/ChatCommand.js.map +1 -1
  82. package/dist/cli/commands/CompleteCommand.d.ts +2 -1
  83. package/dist/cli/commands/CompleteCommand.js +58 -30
  84. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  85. package/dist/cli/commands/DebugCommand.js +1 -1
  86. package/dist/cli/commands/DebugCommand.js.map +1 -1
  87. package/dist/cli/commands/InfillCommand.d.ts +2 -1
  88. package/dist/cli/commands/InfillCommand.js +58 -30
  89. package/dist/cli/commands/InfillCommand.js.map +1 -1
  90. package/dist/cli/commands/InitCommand.js +1 -1
  91. package/dist/cli/commands/PullCommand.d.ts +2 -1
  92. package/dist/cli/commands/PullCommand.js +85 -44
  93. package/dist/cli/commands/PullCommand.js.map +1 -1
  94. package/dist/cli/commands/inspect/InspectCommand.js +5 -3
  95. package/dist/cli/commands/inspect/InspectCommand.js.map +1 -1
  96. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.d.ts +12 -0
  97. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js +225 -0
  98. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js.map +1 -0
  99. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +17 -4
  100. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  101. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +31 -9
  102. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  103. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +7 -4
  104. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  105. package/dist/cli/commands/source/SourceCommand.d.ts +4 -0
  106. package/dist/cli/commands/source/SourceCommand.js +19 -0
  107. package/dist/cli/commands/source/SourceCommand.js.map +1 -0
  108. package/dist/cli/commands/{BuildCommand.d.ts → source/commands/BuildCommand.d.ts} +1 -2
  109. package/dist/cli/commands/{BuildCommand.js → source/commands/BuildCommand.js} +21 -19
  110. package/dist/cli/commands/source/commands/BuildCommand.js.map +1 -0
  111. package/dist/cli/commands/{ClearCommand.js → source/commands/ClearCommand.js} +6 -6
  112. package/dist/cli/commands/source/commands/ClearCommand.js.map +1 -0
  113. package/dist/cli/commands/{DownloadCommand.d.ts → source/commands/DownloadCommand.d.ts} +1 -2
  114. package/dist/cli/commands/{DownloadCommand.js → source/commands/DownloadCommand.js} +26 -22
  115. package/dist/cli/commands/source/commands/DownloadCommand.js.map +1 -0
  116. package/dist/cli/recommendedModels.js +192 -23
  117. package/dist/cli/recommendedModels.js.map +1 -1
  118. package/dist/cli/utils/ConsoleInteraction.d.ts +0 -1
  119. package/dist/cli/utils/ConsoleTable.js.map +1 -1
  120. package/dist/cli/utils/basicChooseFromListConsoleInteraction.js.map +1 -1
  121. package/dist/cli/utils/interactivelyAskForModel.js +6 -17
  122. package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
  123. package/dist/cli/utils/printCommonInfoLines.js +6 -3
  124. package/dist/cli/utils/printCommonInfoLines.js.map +1 -1
  125. package/dist/cli/utils/renderModelCompatibilityPercentageWithColors.d.ts +6 -0
  126. package/dist/cli/utils/renderModelCompatibilityPercentageWithColors.js +14 -0
  127. package/dist/cli/utils/renderModelCompatibilityPercentageWithColors.js.map +1 -0
  128. package/dist/cli/utils/resolveModelRecommendationFileOptions.d.ts +1 -1
  129. package/dist/cli/utils/withCliCommandDescriptionDocsUrl.js.map +1 -1
  130. package/dist/commands.d.ts +3 -3
  131. package/dist/commands.js +3 -3
  132. package/dist/commands.js.map +1 -1
  133. package/dist/config.d.ts +7 -3
  134. package/dist/config.js +10 -6
  135. package/dist/config.js.map +1 -1
  136. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +17 -2
  137. package/dist/evaluator/LlamaChat/LlamaChat.js +24 -12
  138. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  139. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +3 -1
  140. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -1
  141. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +21 -13
  142. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +15 -14
  143. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  144. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.d.ts +1 -0
  145. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -1
  146. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +7 -2
  147. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +5 -0
  148. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -1
  149. package/dist/evaluator/LlamaCompletion.d.ts +18 -4
  150. package/dist/evaluator/LlamaCompletion.js +51 -22
  151. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  152. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +21 -0
  153. package/dist/evaluator/LlamaContext/LlamaContext.js +261 -133
  154. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  155. package/dist/evaluator/LlamaContext/LlamaSampler.d.ts +1 -0
  156. package/dist/evaluator/LlamaContext/LlamaSampler.js +31 -0
  157. package/dist/evaluator/LlamaContext/LlamaSampler.js.map +1 -0
  158. package/dist/evaluator/LlamaContext/types.d.ts +77 -9
  159. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/maximumParallelismStrategy.js.map +1 -1
  160. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.js +1 -1
  161. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.js.map +1 -1
  162. package/dist/evaluator/LlamaEmbedding.d.ts +21 -0
  163. package/dist/evaluator/LlamaEmbedding.js +53 -0
  164. package/dist/evaluator/LlamaEmbedding.js.map +1 -0
  165. package/dist/evaluator/LlamaEmbeddingContext.d.ts +1 -5
  166. package/dist/evaluator/LlamaEmbeddingContext.js +6 -8
  167. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  168. package/dist/evaluator/LlamaGrammar.d.ts +9 -10
  169. package/dist/evaluator/LlamaGrammar.js +10 -5
  170. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  171. package/dist/evaluator/LlamaGrammarEvaluationState.d.ts +7 -3
  172. package/dist/evaluator/LlamaGrammarEvaluationState.js +8 -4
  173. package/dist/evaluator/LlamaGrammarEvaluationState.js.map +1 -1
  174. package/dist/evaluator/LlamaJsonSchemaGrammar.d.ts +3 -0
  175. package/dist/evaluator/LlamaJsonSchemaGrammar.js +3 -0
  176. package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -1
  177. package/dist/evaluator/LlamaModel/LlamaModel.d.ts +28 -15
  178. package/dist/evaluator/LlamaModel/LlamaModel.js +66 -51
  179. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
  180. package/dist/evaluator/LlamaModel/utils/TokenAttributes.d.ts +10 -10
  181. package/dist/evaluator/LlamaModel/utils/TokenAttributes.js +10 -10
  182. package/dist/evaluator/LlamaModel/utils/TokenAttributes.js.map +1 -1
  183. package/dist/evaluator/TokenBias.d.ts +20 -8
  184. package/dist/evaluator/TokenBias.js +44 -12
  185. package/dist/evaluator/TokenBias.js.map +1 -1
  186. package/dist/evaluator/TokenMeter.d.ts +3 -12
  187. package/dist/evaluator/TokenMeter.js +4 -16
  188. package/dist/evaluator/TokenMeter.js.map +1 -1
  189. package/dist/gguf/fileReaders/GgufFileReader.d.ts +0 -1
  190. package/dist/gguf/fileReaders/GgufFileReader.js.map +1 -1
  191. package/dist/gguf/fileReaders/GgufFsFileReader.d.ts +0 -2
  192. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts +5 -3
  193. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +26 -13
  194. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -1
  195. package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +57 -1
  196. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +86 -4
  197. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
  198. package/dist/gguf/insights/utils/scoreLevels.js.map +1 -1
  199. package/dist/gguf/readGgufFileInfo.d.ts +18 -6
  200. package/dist/gguf/readGgufFileInfo.js +8 -3
  201. package/dist/gguf/readGgufFileInfo.js.map +1 -1
  202. package/dist/gguf/types/GgufMetadataTypes.d.ts +18 -2
  203. package/dist/gguf/types/GgufMetadataTypes.js +16 -1
  204. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  205. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js +2 -0
  206. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -1
  207. package/dist/gguf/utils/getGgufFileTypeName.d.ts +1 -1
  208. package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js +1 -1
  209. package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js.map +1 -1
  210. package/dist/index.d.ts +8 -4
  211. package/dist/index.js +5 -3
  212. package/dist/index.js.map +1 -1
  213. package/dist/tsconfig.tsbuildinfo +1 -0
  214. package/dist/types.d.ts +1 -0
  215. package/dist/types.js.map +1 -1
  216. package/dist/utils/LlamaText.d.ts +3 -0
  217. package/dist/utils/LlamaText.js +7 -4
  218. package/dist/utils/LlamaText.js.map +1 -1
  219. package/dist/utils/LruCache.d.ts +2 -2
  220. package/dist/utils/LruCache.js.map +1 -1
  221. package/dist/utils/OverridesObject.d.ts +7 -0
  222. package/dist/utils/OverridesObject.js +2 -0
  223. package/dist/utils/OverridesObject.js.map +1 -0
  224. package/dist/utils/StopGenerationDetector.js.map +1 -1
  225. package/dist/utils/ThreadsSplitter.d.ts +32 -0
  226. package/dist/utils/ThreadsSplitter.js +177 -0
  227. package/dist/utils/ThreadsSplitter.js.map +1 -0
  228. package/dist/utils/TokenStreamRegulator.js.map +1 -1
  229. package/dist/utils/appendUserMessageToChatHistory.d.ts +4 -0
  230. package/dist/utils/appendUserMessageToChatHistory.js +4 -0
  231. package/dist/utils/appendUserMessageToChatHistory.js.map +1 -1
  232. package/dist/utils/compareTokens.d.ts +1 -1
  233. package/dist/utils/compareTokens.js.map +1 -1
  234. package/dist/utils/createModelDownloader.d.ts +94 -6
  235. package/dist/utils/createModelDownloader.js +174 -46
  236. package/dist/utils/createModelDownloader.js.map +1 -1
  237. package/dist/utils/gbnfJson/terminals/GbnfOr.js.map +1 -1
  238. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js +1 -1
  239. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
  240. package/dist/utils/getGrammarsFolder.js +1 -1
  241. package/dist/utils/getGrammarsFolder.js.map +1 -1
  242. package/dist/utils/gitReleaseBundles.js.map +1 -1
  243. package/dist/utils/modelFileAccesTokens.d.ts +4 -0
  244. package/dist/utils/modelFileAccesTokens.js +40 -0
  245. package/dist/utils/modelFileAccesTokens.js.map +1 -0
  246. package/dist/utils/parseModelFileName.js.map +1 -1
  247. package/dist/utils/parseTextTemplate.js.map +1 -1
  248. package/dist/utils/resolveGithubRelease.d.ts +1 -1
  249. package/dist/utils/resolveLastTokens.js.map +1 -1
  250. package/dist/utils/spawnCommand.d.ts +0 -1
  251. package/dist/utils/truncateTextAndRoundToWords.js +3 -1
  252. package/dist/utils/truncateTextAndRoundToWords.js.map +1 -1
  253. package/dist/utils/withOra.js +1 -1
  254. package/dist/utils/withOra.js.map +1 -1
  255. package/dist/utils/withProgressLog.d.ts +0 -1
  256. package/dist/utils/wrapAbortSignal.d.ts +0 -1
  257. package/llama/CMakeLists.txt +20 -12
  258. package/llama/addon/AddonContext.cpp +69 -202
  259. package/llama/addon/AddonContext.h +4 -5
  260. package/llama/addon/AddonGrammar.cpp +8 -11
  261. package/llama/addon/AddonGrammar.h +4 -3
  262. package/llama/addon/AddonGrammarEvaluationState.cpp +9 -10
  263. package/llama/addon/AddonGrammarEvaluationState.h +3 -1
  264. package/llama/addon/AddonModel.cpp +6 -5
  265. package/llama/addon/AddonSampler.cpp +513 -0
  266. package/llama/addon/AddonSampler.h +65 -0
  267. package/llama/addon/RingBuffer.h +109 -0
  268. package/llama/addon/addon.cpp +7 -0
  269. package/llama/addon/globals/addonLog.cpp +2 -1
  270. package/llama/binariesGithubRelease.json +1 -1
  271. package/llama/gitRelease.bundle +0 -0
  272. package/llama/grammars/README.md +1 -1
  273. package/llama/llama.cpp.info.json +1 -1
  274. package/package.json +71 -46
  275. package/templates/packed/electron-typescript-react.json +1 -1
  276. package/templates/packed/node-typescript.json +1 -1
  277. package/bins/linux-arm64/_nlcBuildMetadata.json +0 -1
  278. package/bins/linux-arm64/libggml.so +0 -0
  279. package/bins/linux-arm64/libllama.so +0 -0
  280. package/bins/linux-arm64/llama-addon.node +0 -0
  281. package/bins/linux-armv7l/_nlcBuildMetadata.json +0 -1
  282. package/bins/linux-armv7l/libggml.so +0 -0
  283. package/bins/linux-armv7l/libllama.so +0 -0
  284. package/bins/linux-armv7l/llama-addon.node +0 -0
  285. package/bins/linux-x64/_nlcBuildMetadata.json +0 -1
  286. package/bins/linux-x64/libggml.so +0 -0
  287. package/bins/linux-x64/libllama.so +0 -0
  288. package/bins/linux-x64/llama-addon.node +0 -0
  289. package/bins/linux-x64-vulkan/_nlcBuildMetadata.json +0 -1
  290. package/bins/linux-x64-vulkan/libggml.so +0 -0
  291. package/bins/linux-x64-vulkan/libllama.so +0 -0
  292. package/bins/linux-x64-vulkan/llama-addon.node +0 -0
  293. package/bins/linux-x64-vulkan/vulkan-shaders-gen +0 -0
  294. package/bins/mac-arm64-metal/_nlcBuildMetadata.json +0 -1
  295. package/bins/mac-arm64-metal/ggml-common.h +0 -1833
  296. package/bins/mac-arm64-metal/ggml-metal.metal +0 -6168
  297. package/bins/mac-arm64-metal/libggml.dylib +0 -0
  298. package/bins/mac-arm64-metal/libllama.dylib +0 -0
  299. package/bins/mac-arm64-metal/llama-addon.node +0 -0
  300. package/bins/mac-x64/_nlcBuildMetadata.json +0 -1
  301. package/bins/mac-x64/libggml.dylib +0 -0
  302. package/bins/mac-x64/libllama.dylib +0 -0
  303. package/bins/mac-x64/llama-addon.node +0 -0
  304. package/bins/win-arm64/_nlcBuildMetadata.json +0 -1
  305. package/bins/win-arm64/ggml.dll +0 -0
  306. package/bins/win-arm64/llama-addon.exp +0 -0
  307. package/bins/win-arm64/llama-addon.lib +0 -0
  308. package/bins/win-arm64/llama-addon.node +0 -0
  309. package/bins/win-arm64/llama.dll +0 -0
  310. package/bins/win-x64/_nlcBuildMetadata.json +0 -1
  311. package/bins/win-x64/ggml.dll +0 -0
  312. package/bins/win-x64/llama-addon.exp +0 -0
  313. package/bins/win-x64/llama-addon.lib +0 -0
  314. package/bins/win-x64/llama-addon.node +0 -0
  315. package/bins/win-x64/llama.dll +0 -0
  316. package/bins/win-x64-vulkan/_nlcBuildMetadata.json +0 -1
  317. package/bins/win-x64-vulkan/ggml.dll +0 -0
  318. package/bins/win-x64-vulkan/llama-addon.exp +0 -0
  319. package/bins/win-x64-vulkan/llama-addon.lib +0 -0
  320. package/bins/win-x64-vulkan/llama-addon.node +0 -0
  321. package/bins/win-x64-vulkan/llama.dll +0 -0
  322. package/bins/win-x64-vulkan/vulkan-shaders-gen.exe +0 -0
  323. package/dist/cli/commands/BuildCommand.js.map +0 -1
  324. package/dist/cli/commands/ClearCommand.js.map +0 -1
  325. package/dist/cli/commands/DownloadCommand.js.map +0 -1
  326. package/dist/utils/DeepPartialObject.d.ts +0 -3
  327. package/dist/utils/DeepPartialObject.js +0 -2
  328. package/dist/utils/DeepPartialObject.js.map +0 -1
  329. /package/dist/cli/commands/{ClearCommand.d.ts → source/commands/ClearCommand.d.ts} +0 -0
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <div align="center">
2
- <img alt="node-llama-cpp Logo" src="https://raw.githubusercontent.com/withcatai/node-llama-cpp/master/assets/logo.roundEdges.png" width="360px" />
2
+ <img alt="node-llama-cpp Logo" src="https://raw.githubusercontent.com/withcatai/node-llama-cpp/master/assets/logo.v3.roundEdges.png" width="360px" />
3
3
  <h1>node-llama-cpp</h1>
4
4
  <p>Run AI models locally on your machine</p>
5
5
  <sub>Pre-built bindings are provided with a fallback to building from source with cmake</sub>
@@ -15,33 +15,45 @@
15
15
 
16
16
  </div>
17
17
 
18
- ✨ New! [Try the beta of version `3.0.0`](https://github.com/withcatai/node-llama-cpp/pull/105) ✨ (included: function calling, automatic chat wrapper detection, embedding support, and more)
18
+ ✨ New! [`v3.0.0` is here!](https://github.com/withcatai/node-llama-cpp/pull/105) ✨ (included: function calling, automatic chat wrapper detection, embedding support, and more)
19
19
 
20
20
  ## Features
21
- * Run a text generation model locally on your machine
22
- * Metal, CUDA and Vulkan support
23
- * Pre-built binaries are provided, with a fallback to building from source _**without**_ `node-gyp` or Python
24
- * Chat with a model using a chat wrapper
25
- * Use the CLI to chat with a model without writing any code
26
- * Up-to-date with the latest version of `llama.cpp`. Download and compile the latest release with a single CLI command.
27
- * Force a model to generate output in a parseable format, like JSON, or even force it to follow a specific JSON schema
28
-
29
- ## [Documentation](https://withcatai.github.io/node-llama-cpp/)
30
- * [Getting started guide](https://withcatai.github.io/node-llama-cpp/guide/)
31
- * [API reference](https://withcatai.github.io/node-llama-cpp/api/classes/LlamaModel)
32
- * [CLI help](https://withcatai.github.io/node-llama-cpp/guide/cli/)
21
+ * Run LLMs locally on your machine
22
+ * [Metal, CUDA and Vulkan support](https://node-llama-cpp.withcat.ai/guide/#gpu-support)
23
+ * [Pre-built binaries are provided](https://node-llama-cpp.withcat.ai/guide/building-from-source), with a fallback to building from source _**without**_ `node-gyp` or Python
24
+ * [Adapts to your hardware automatically](https://node-llama-cpp.withcat.ai/guide/#gpu-support), no need to configure anything
25
+ * A Complete suite of everything you need to use LLMs in your projects
26
+ * [Use the CLI to chat with a model without writing any code](#try-it-without-installing)
27
+ * Up-to-date with the latest `llama.cpp`. Download and compile the latest release with a [single CLI command](https://node-llama-cpp.withcat.ai//guide/building-from-source#downloading-a-release)
28
+ * Force a model to generate output in a parseable format, [like JSON](https://node-llama-cpp.withcat.ai/guide/chat-session#json-response), or even force it to [follow a specific JSON schema](https://node-llama-cpp.withcat.ai/guide/chat-session#response-json-schema)
29
+ * [Provide a model with functions it can call on demand](https://node-llama-cpp.withcat.ai/guide/chat-session#function-calling) to retrieve information of perform actions
30
+ * [Embedding support](https://node-llama-cpp.withcat.ai/guide/embedding)
31
+ * Great developer experience with full TypeScript support, and [complete documentation](https://node-llama-cpp.withcat.ai/guide/)
32
+ * Much more
33
+
34
+ ## [Documentation](https://node-llama-cpp.withcat.ai)
35
+ * [Getting started guide](https://node-llama-cpp.withcat.ai/guide/)
36
+ * [API reference](https://node-llama-cpp.withcat.ai/api/functions/getLlama)
37
+ * [CLI help](https://node-llama-cpp.withcat.ai/cli/)
38
+ * [Blog](https://node-llama-cpp.withcat.ai/blog/)
33
39
  * [Changelog](https://github.com/withcatai/node-llama-cpp/releases)
34
40
  * [Roadmap](https://github.com/orgs/withcatai/projects/1)
35
41
 
42
+ ## Try It Without Installing
43
+ Chat with a model in your terminal using [a single command](https://node-llama-cpp.withcat.ai/cli/chat):
44
+ ```bash
45
+ npx -y node-llama-cpp chat
46
+ ```
47
+
36
48
  ## Installation
37
49
  ```bash
38
- npm install --save node-llama-cpp
50
+ npm install node-llama-cpp
39
51
  ```
40
52
 
41
- This package comes with pre-built binaries for macOS, Linux and Windows.
53
+ [This package comes with pre-built binaries](https://node-llama-cpp.withcat.ai/guide/building-from-source) for macOS, Linux and Windows.
42
54
 
43
- If binaries are not available for your platform, it'll fallback to download the latest version of `llama.cpp` and build it from source with `cmake`.
44
- To disable this behavior set the environment variable `NODE_LLAMA_CPP_SKIP_DOWNLOAD` to `true`.
55
+ If binaries are not available for your platform, it'll fallback to download a release of `llama.cpp` and build it from source with `cmake`.
56
+ To disable this behavior, set the environment variable `NODE_LLAMA_CPP_SKIP_DOWNLOAD` to `true`.
45
57
 
46
58
  ## Usage
47
59
  ```typescript
@@ -53,7 +65,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
53
65
 
54
66
  const llama = await getLlama();
55
67
  const model = await llama.loadModel({
56
- modelPath: path.join(__dirname, "models", "dolphin-2.1-mistral-7b.Q4_K_M.gguf")
68
+ modelPath: path.join(__dirname, "models", "Meta-Llama-3.1-8B-Instruct.Q4_K_M.gguf")
57
69
  });
58
70
  const context = await model.createContext();
59
71
  const session = new LlamaChatSession({
@@ -75,10 +87,10 @@ const a2 = await session.prompt(q2);
75
87
  console.log("AI: " + a2);
76
88
  ```
77
89
 
78
- > For more examples, see the [getting started guide](https://withcatai.github.io/node-llama-cpp/guide/)
90
+ > For more examples, see the [getting started guide](https://node-llama-cpp.withcat.ai/guide/)
79
91
 
80
92
  ## Contributing
81
- To contribute to `node-llama-cpp` read the [contribution guide](https://withcatai.github.io/node-llama-cpp/guide/contributing).
93
+ To contribute to `node-llama-cpp` read the [contribution guide](https://node-llama-cpp.withcat.ai/guide/contributing).
82
94
 
83
95
  ## Acknowledgements
84
96
  * llama.cpp: [ggerganov/llama.cpp](https://github.com/ggerganov/llama.cpp)
@@ -0,0 +1 @@
1
+ Moved to package "@node-llama-cpp/linux-arm64"
@@ -0,0 +1 @@
1
+ Moved to package "@node-llama-cpp/linux-armv7l"
@@ -0,0 +1 @@
1
+ Moved to package "@node-llama-cpp/linux-x64-vulkan"
@@ -0,0 +1 @@
1
+ Moved to package "@node-llama-cpp/linux-x64"
@@ -0,0 +1 @@
1
+ Moved to package "@node-llama-cpp/mac-arm64-metal"
@@ -0,0 +1 @@
1
+ Moved to package "@node-llama-cpp/mac-x64"
@@ -0,0 +1 @@
1
+ Moved to package "@node-llama-cpp/win-arm64"
@@ -0,0 +1 @@
1
+ Moved to package "@node-llama-cpp/win-x64-vulkan"
@@ -0,0 +1 @@
1
+ Moved to package "@node-llama-cpp/win-x64"
@@ -15,5 +15,15 @@ export declare abstract class ChatWrapper {
15
15
  addAvailableFunctionsSystemMessageToHistory(history: readonly ChatHistoryItem[], availableFunctions?: ChatModelFunctions, { documentParams }?: {
16
16
  documentParams?: boolean;
17
17
  }): readonly ChatHistoryItem[];
18
- generateInitialChatHistory({ systemPrompt }: ChatWrapperGenerateInitialHistoryOptions): ChatHistoryItem[];
18
+ generateInitialChatHistory({ systemPrompt }?: ChatWrapperGenerateInitialHistoryOptions): ChatHistoryItem[];
19
19
  }
20
+ type FirstItemOfTupleOrFallback<T extends any[], Fallback> = T extends [infer U, ...any[]] ? U : Fallback;
21
+ export type ChatWrapperJinjaMatchConfiguration<T extends typeof ChatWrapper> = Array<FirstItemOfTupleOrFallback<ConstructorParameters<T>, object> | [
22
+ testConfig: FirstItemOfTupleOrFallback<ConstructorParameters<T>, object>,
23
+ applyConfig: FirstItemOfTupleOrFallback<ConstructorParameters<T>, object>
24
+ ] | [
25
+ testConfig: FirstItemOfTupleOrFallback<ConstructorParameters<T>, object>,
26
+ applyConfig: FirstItemOfTupleOrFallback<ConstructorParameters<T>, object>,
27
+ testJinjaParameters: Record<string, any>
28
+ ]>;
29
+ export {};
@@ -159,7 +159,7 @@ export class ChatWrapper {
159
159
  });
160
160
  return res;
161
161
  }
162
- generateInitialChatHistory({ systemPrompt = defaultChatSystemPrompt }) {
162
+ generateInitialChatHistory({ systemPrompt = defaultChatSystemPrompt } = {}) {
163
163
  return [{
164
164
  type: "system",
165
165
  text: LlamaText(systemPrompt ?? defaultChatSystemPrompt).toJSON()
@@ -1 +1 @@
1
- {"version":3,"file":"ChatWrapper.js","sourceRoot":"","sources":["../src/ChatWrapper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,SAAS,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAC,wCAAwC,EAAC,MAAM,kEAAkE,CAAC;AAC1H,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,aAAa,CAAC;AAEpD,MAAM,OAAgB,WAAW;IACtB,MAAM,CAAC,eAAe,GAAwB;QACjD,sBAAsB,EAAE,IAAI;QAC5B,SAAS,EAAE;YACP,IAAI,EAAE;gBACF,mBAAmB,EAAE,IAAI;gBACzB,MAAM,EAAE,UAAU;gBAClB,YAAY,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACnD,MAAM,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;aAChD;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;gBAC5D,MAAM,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;aACjD;SACJ;KACJ,CAAC;IAGc,QAAQ,GAAwB,WAAW,CAAC,eAAe,CAAC;IAErE,oBAAoB,CAAC,EACxB,WAAW,EAAE,kBAAkB,EAAE,sBAAsB,EAClB;QACrC,MAAM,oBAAoB,GAAG,IAAI,CAAC,2CAA2C,CAAC,WAAW,EAAE,kBAAkB,EAAE;YAC3G,cAAc,EAAE,sBAAsB;SACzC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,oBAAoB;aAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACtB,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gBACzB,OAAO,SAAS,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAC1B,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEjF,OAAO,IAAoB,CAAC;QAChC,CAAC,CAAC,CAAC;QAEP,OAAO;YACH,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;YAC9C,sBAAsB,EAAE,EAAE;SAC7B,CAAC;IACN,CAAC;IAEM,+BAA+B,CAAC,aAAsC,EAAE,aAAsB,IAAI;QACrG,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,MAAM,GAAG,GAAgB,EAAE,CAAC;QAE5B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAC1B,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;QAEzB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACvC,IAAI,UAAU,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI;gBAC1C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;;gBAErD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAElF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/G,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC;gBACL,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;YAErF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAElF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC;gBACL,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;YAE1F,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAErF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEM,oBAAoB,CAAC,IAAY,EAAE,MAAW;QACjD,OAAO,SAAS,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;YACnC,IAAI;YACJ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY;YACzC,CACI,MAAM,KAAK,SAAS;gBAChB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAC1B;YACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;SACtC,CAAC,CAAC;IACP,CAAC;IAEM,0BAA0B,CAAC,YAAoB,EAAE,cAAmB,EAAE,MAAW;QACpF,SAAS,iBAAiB,CAAC,IAAwB;YAC/C,OAAO,SAAS,CAAC,IAAI,CAAC;iBACjB,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,OAAO,KAAK,KAAK,QAAQ;oBACzB,OAAO,KAAK,CAAC;gBAEjB,OAAO,KAAK;qBACP,UAAU,CAAC,kBAAkB,EAAE,YAAY,CAAC;qBAC5C,UAAU,CAAC,oBAAoB,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;YACzG,CAAC,CAAC,CAAC;QACX,CAAC;QAED,OAAO,SAAS,CAAC;YACb,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YACxD,CACI,MAAM,KAAK,SAAS;gBAChB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAC1B;YACD,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;SAC3D,CAAC,CAAC;IACP,CAAC;IAEM,yBAAyB,CAAC,aAA4C,EAAE,aAAsB,IAAI;QACrG,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,MAAM,oBAAoB,GAA4B,EAAE,CAAC;QAEzD,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC1B,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC;gBACjC,OAAO;YAEX,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;YACjF,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/B,gBAAgB,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9B,SAAS;YACb,CAAC;YAED,IAAI,QAAQ,CAAC,cAAc;gBACvB,gBAAgB,EAAE,CAAC;YAEvB,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,gBAAgB,EAAE,CAAC;QAEnB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEM,oCAAoC,CAAC,kBAAsC,EAAE,EAAC,cAAc,GAAG,IAAI,EAEzG;QACG,MAAM,+BAA+B,GAAG,IAAI,wCAAwC,CAAC,kBAAkB,CAAC,CAAC;QAEzG,IAAI,CAAC,+BAA+B,CAAC,eAAe;YAChD,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;QAEzB,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE;YAC9B,wHAAwH;YACxH,+KAA+K;YAC/K,qBAAqB;YACrB,eAAe;YACf,+BAA+B,CAAC,+BAA+B,CAAC,EAAC,cAAc,EAAC,CAAC;YACjF,KAAK;YACL,EAAE;YACF,8DAA8D;YAC9D,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,EAAC,OAAO,EAAE,WAAW,EAAC,CAAC;YAChE,EAAE;YACF,uCAAuC;YACvC,uHAAuH;YACvH,kGAAkG;YAClG,qIAAqI;SACxI,CAAC,CAAC;IACP,CAAC;IAEM,2CAA2C,CAAC,OAAmC,EAAE,kBAAuC,EAAE,EAC7H,cAAc,GAAG,IAAI,KAGrB,EAAE;QACF,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAErE,IAAI,kBAAkB,IAAI,IAAI,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC;YACjE,OAAO,OAAO,CAAC;QAEnB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE5B,MAAM,0BAA0B,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACnF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC,EAAE,CAAC,EAAE;YACnD,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,oCAAoC,CAAC,kBAAkB,EAAE,EAAC,cAAc,EAAC,CAAC,CAAC,MAAM,EAAE;SACjG,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,0BAA0B,CAAC,EAC9B,YAAY,GAAG,uBAAuB,EACC;QACvC,OAAO,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS,CAAC,YAAY,IAAI,uBAAuB,CAAC,CAAC,MAAM,EAAE;aACpE,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,yDAAyD;QACnE,OAAO,CAAC,EAAE,CAA6F,CAAC;IAC5G,CAAC;IAED,gBAAgB,CAAC,6DAA6D;IACvE,MAAM,CAAC,wBAAwB,CAAC,OAAiD;QACpF,OAAO,IAAI,CAAC;IAChB,CAAC"}
1
+ {"version":3,"file":"ChatWrapper.js","sourceRoot":"","sources":["../src/ChatWrapper.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,6 @@ export type BindingModule = {
18
18
  };
19
19
  AddonContext: {
20
20
  new (model: AddonModel, params: {
21
- seed?: number;
22
21
  contextSize?: number;
23
22
  batchSize?: number;
24
23
  sequences?: number;
@@ -26,21 +25,28 @@ export type BindingModule = {
26
25
  logitsAll?: boolean;
27
26
  embeddings?: boolean;
28
27
  threads?: number;
28
+ performanceTracking?: boolean;
29
29
  }): AddonContext;
30
30
  };
31
31
  AddonGrammar: {
32
32
  new (grammarPath: string, params?: {
33
33
  addonExports?: BindingModule;
34
- debugPrintGrammar?: boolean;
34
+ rootRuleName?: string;
35
35
  }): AddonGrammar;
36
36
  };
37
37
  AddonGrammarEvaluationState: {
38
- new (grammar: AddonGrammar): AddonGrammarEvaluationState;
38
+ new (model: AddonModel, grammar: AddonGrammar): AddonGrammarEvaluationState;
39
+ };
40
+ AddonSampler: {
41
+ new (model: AddonModel): AddonSampler;
42
+ acceptGrammarEvaluationStateToken(grammarEvaluationState: AddonGrammarEvaluationState, token: Token): void;
43
+ canBeNextTokenForGrammarEvaluationState(grammarEvaluationState: AddonGrammarEvaluationState, token: Token): boolean;
39
44
  };
40
45
  systemInfo(): string;
41
46
  getSupportsGpuOffloading(): boolean;
42
47
  getSupportsMmap(): boolean;
43
48
  getSupportsMlock(): boolean;
49
+ getMathCores(): number;
44
50
  getBlockSizeForGgmlType(ggmlType: number): number | undefined;
45
51
  getTypeSizeForGgmlType(ggmlType: number): number | undefined;
46
52
  getConsts(): {
@@ -48,7 +54,6 @@ export type BindingModule = {
48
54
  ggmlTypeF16Size: number;
49
55
  ggmlTypeF32Size: number;
50
56
  ggmlTensorOverhead: number;
51
- llamaMaxRngState: number;
52
57
  llamaPosSize: number;
53
58
  llamaSeqIdSize: number;
54
59
  };
@@ -98,26 +103,14 @@ export type AddonContext = {
98
103
  initBatch(size: number): void;
99
104
  addToBatch(sequenceId: number, firstTokenSequenceIndex: number, tokens: Uint32Array, generateLogitAtTheEnd: boolean): BatchLogitIndex | undefined;
100
105
  decodeBatch(): Promise<void>;
101
- sampleToken(batchLogitIndex: BatchLogitIndex, options?: {
102
- temperature?: number;
103
- minP?: number;
104
- topK?: number;
105
- topP?: number;
106
- repeatPenalty?: number;
107
- repeatPenaltyTokens?: Uint32Array;
108
- repeatPenaltyPresencePenalty?: number;
109
- repeatPenaltyFrequencyPenalty?: number;
110
- grammarEvaluationState?: AddonGrammarEvaluationState;
111
- tokenBiasKeys?: Uint32Array;
112
- tokenBiasValues?: Float32Array;
113
- }): Promise<Token>;
106
+ sampleToken(batchLogitIndex: BatchLogitIndex, sampler: AddonSampler): Promise<Token>;
114
107
  disposeSequence(sequenceId: number): void;
115
108
  removeTokenCellsFromSequence(sequenceId: number, startPos: number, endPos: number): boolean;
116
109
  shiftSequenceTokenCells(sequenceId: number, startPos: number, endPos: number, shiftDelta: number): void;
117
- acceptGrammarEvaluationStateToken(grammarEvaluationState: AddonGrammarEvaluationState, token: Token): void;
118
- canBeNextTokenForGrammarEvaluationState(grammarEvaluationState: AddonGrammarEvaluationState, token: Token): boolean;
119
110
  getEmbedding(inputTokensLength: number): Float64Array;
120
111
  getStateSize(): number;
112
+ getThreads(): number;
113
+ setThreads(threads: number): void;
121
114
  printTimings(): void;
122
115
  setLora(lora: AddonModelLora, scale: number): void;
123
116
  };
@@ -130,6 +123,24 @@ export type AddonGrammar = "AddonGrammar" & {
130
123
  export type AddonGrammarEvaluationState = "AddonGrammarEvaluationState" & {
131
124
  __brand: never;
132
125
  };
126
+ export type AddonSampler = {
127
+ dispose(): void;
128
+ applyConfig(config: {
129
+ temperature?: number;
130
+ minP?: number;
131
+ topK?: number;
132
+ topP?: number;
133
+ seed?: number;
134
+ repeatPenalty?: number;
135
+ repeatPenaltyMaxTokens?: number;
136
+ repeatPenaltyTokens?: Uint32Array;
137
+ repeatPenaltyPresencePenalty?: number;
138
+ repeatPenaltyFrequencyPenalty?: number;
139
+ grammarEvaluationState?: AddonGrammarEvaluationState;
140
+ tokenBiasKeys?: Uint32Array;
141
+ tokenBiasValues?: Float32Array;
142
+ }): void;
143
+ };
133
144
  export type AddonModelLora = {
134
145
  usages: number;
135
146
  readonly filePath: string;
@@ -15,6 +15,17 @@ export declare class Llama {
15
15
  get supportsGpuOffloading(): boolean;
16
16
  get supportsMmap(): boolean;
17
17
  get supportsMlock(): boolean;
18
+ /** The number of CPU cores that are useful for math */
19
+ get cpuMathCores(): number;
20
+ /**
21
+ * The maximum number of threads that can be used by the Llama instance.
22
+ *
23
+ * If set to `0`, the Llama instance will have no limit on the number of threads.
24
+ *
25
+ * See the `maxThreads` option of `getLlama` for more information.
26
+ */
27
+ get maxThreads(): number;
28
+ set maxThreads(value: number);
18
29
  get logLevel(): LlamaLogLevel;
19
30
  set logLevel(value: LlamaLogLevel);
20
31
  get logger(): (level: LlamaLogLevel, message: string) => void;
@@ -5,6 +5,7 @@ import { LlamaModel } from "../evaluator/LlamaModel/LlamaModel.js";
5
5
  import { DisposeGuard } from "../utils/DisposeGuard.js";
6
6
  import { LlamaJsonSchemaGrammar } from "../evaluator/LlamaJsonSchemaGrammar.js";
7
7
  import { LlamaGrammar } from "../evaluator/LlamaGrammar.js";
8
+ import { ThreadsSplitter } from "../utils/ThreadsSplitter.js";
8
9
  import { LlamaLocks, LlamaLogLevel } from "./types.js";
9
10
  import { MemoryOrchestrator } from "./utils/MemoryOrchestrator.js";
10
11
  const LlamaLogLevelToAddonLogLevel = new Map([
@@ -13,10 +14,12 @@ const LlamaLogLevelToAddonLogLevel = new Map([
13
14
  [LlamaLogLevel.error, 2],
14
15
  [LlamaLogLevel.warn, 3],
15
16
  [LlamaLogLevel.info, 4],
16
- [LlamaLogLevel.debug, 5]
17
+ [LlamaLogLevel.log, 5],
18
+ [LlamaLogLevel.debug, 6]
17
19
  ]);
18
20
  const addonLogLevelToLlamaLogLevel = new Map([...LlamaLogLevelToAddonLogLevel.entries()].map(([key, value]) => [value, key]));
19
21
  const defaultLogLevel = 5;
22
+ const defaultCPUMinThreadSplitterThreads = 4;
20
23
  export class Llama {
21
24
  /** @internal */ _bindings;
22
25
  /** @internal */ _backendDisposeGuard = new DisposeGuard();
@@ -25,12 +28,14 @@ export class Llama {
25
28
  /** @internal */ _vramOrchestrator;
26
29
  /** @internal */ _vramPadding;
27
30
  /** @internal */ _debug;
31
+ /** @internal */ _threadsSplitter;
28
32
  /** @internal */ _gpu;
29
33
  /** @internal */ _buildType;
30
34
  /** @internal */ _cmakeOptions;
31
35
  /** @internal */ _supportsGpuOffloading;
32
36
  /** @internal */ _supportsMmap;
33
37
  /** @internal */ _supportsMlock;
38
+ /** @internal */ _mathCores;
34
39
  /** @internal */ _llamaCppRelease;
35
40
  /** @internal */ _logger;
36
41
  /** @internal */ _logLevel;
@@ -42,16 +47,20 @@ export class Llama {
42
47
  /** @internal */ _nextLogNeedNewLine = false;
43
48
  /** @internal */ _disposed = false;
44
49
  onDispose = new EventRelay();
45
- constructor({ bindings, logLevel, logger, buildType, cmakeOptions, llamaCppRelease, debug, gpu, vramOrchestrator, vramPadding }) {
50
+ constructor({ bindings, logLevel, logger, buildType, cmakeOptions, llamaCppRelease, debug, gpu, maxThreads, vramOrchestrator, vramPadding }) {
46
51
  this._bindings = bindings;
47
52
  this._gpu = gpu;
48
53
  this._supportsGpuOffloading = bindings.getSupportsGpuOffloading();
49
54
  this._supportsMmap = bindings.getSupportsMmap();
50
55
  this._supportsMlock = bindings.getSupportsMlock();
56
+ this._mathCores = bindings.getMathCores();
51
57
  this._consts = bindings.getConsts();
52
58
  this._debug = debug;
53
59
  this._vramOrchestrator = vramOrchestrator;
54
60
  this._vramPadding = vramPadding;
61
+ this._threadsSplitter = new ThreadsSplitter(maxThreads ?? (this._gpu === false
62
+ ? Math.max(defaultCPUMinThreadSplitterThreads, this._mathCores)
63
+ : 0));
55
64
  this._logLevel = this._debug
56
65
  ? LlamaLogLevel.debug
57
66
  : (logLevel ?? LlamaLogLevel.debug);
@@ -98,6 +107,23 @@ export class Llama {
98
107
  get supportsMlock() {
99
108
  return this._supportsMlock;
100
109
  }
110
+ /** The number of CPU cores that are useful for math */
111
+ get cpuMathCores() {
112
+ return this._mathCores;
113
+ }
114
+ /**
115
+ * The maximum number of threads that can be used by the Llama instance.
116
+ *
117
+ * If set to `0`, the Llama instance will have no limit on the number of threads.
118
+ *
119
+ * See the `maxThreads` option of `getLlama` for more information.
120
+ */
121
+ get maxThreads() {
122
+ return this._threadsSplitter.maxThreads;
123
+ }
124
+ set maxThreads(value) {
125
+ this._threadsSplitter.maxThreads = Math.floor(Math.max(0, value));
126
+ }
101
127
  get logLevel() {
102
128
  return this._logLevel;
103
129
  }
@@ -262,7 +288,7 @@ export class Llama {
262
288
  throw new DisposedError();
263
289
  }
264
290
  /** @internal */
265
- static async _create({ bindings, buildType, buildMetadata, logLevel, logger, vramPadding, skipLlamaInit = false, debug }) {
291
+ static async _create({ bindings, buildType, buildMetadata, logLevel, logger, vramPadding, maxThreads, skipLlamaInit = false, debug }) {
266
292
  const gpu = bindings.getGpuType() ?? false;
267
293
  const vramOrchestrator = new MemoryOrchestrator(() => {
268
294
  const { total, used } = bindings.getGpuVramInfo();
@@ -291,6 +317,7 @@ export class Llama {
291
317
  debug,
292
318
  gpu,
293
319
  vramOrchestrator,
320
+ maxThreads,
294
321
  vramPadding: resolvedVramPadding
295
322
  });
296
323
  if (!skipLlamaInit)
@@ -315,11 +342,14 @@ export class Llama {
315
342
  case LlamaLogLevel.info:
316
343
  console.info(prefixAndColorMessage(message, getColorForLogLevel(level)));
317
344
  break;
345
+ case LlamaLogLevel.log:
346
+ console.info(prefixAndColorMessage(message, getColorForLogLevel(level)));
347
+ break;
318
348
  case LlamaLogLevel.debug:
319
349
  console.debug(prefixAndColorMessage(message, getColorForLogLevel(level)));
320
350
  break;
321
351
  default:
322
- void (level);
352
+ void level;
323
353
  console.warn(getConsoleLogPrefix() + getColorForLogLevel(LlamaLogLevel.warn)(`Unknown log level: ${level}`));
324
354
  console.log(prefixAndColorMessage(message, getColorForLogLevel(level)));
325
355
  }
@@ -332,9 +362,10 @@ function getColorForLogLevel(level) {
332
362
  case LlamaLogLevel.error: return chalk.red;
333
363
  case LlamaLogLevel.warn: return chalk.yellow;
334
364
  case LlamaLogLevel.info: return chalk.whiteBright;
335
- case LlamaLogLevel.debug: return chalk.white;
365
+ case LlamaLogLevel.log: return chalk.white;
366
+ case LlamaLogLevel.debug: return chalk.gray;
336
367
  default:
337
- void (level);
368
+ void level;
338
369
  return chalk.whiteBright;
339
370
  }
340
371
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Llama.js","sourceRoot":"","sources":["../../src/bindings/Llama.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Llama.js","sourceRoot":"","sources":["../../src/bindings/Llama.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { BuildGpu } from "./types.js";
2
- export declare function getPrettyBuildGpuName(gpu: BuildGpu): string;
2
+ export declare function getPrettyBuildGpuName(gpu: BuildGpu | undefined): string;
@@ -4,6 +4,8 @@ const prettyBuildGpuNames = {
4
4
  vulkan: "Vulkan"
5
5
  };
6
6
  export function getPrettyBuildGpuName(gpu) {
7
+ if (gpu == null)
8
+ return "unknown GPU";
7
9
  if (gpu == false)
8
10
  return "no GPU";
9
11
  return prettyBuildGpuNames[gpu] ?? ('"' + gpu + '"');
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/bindings/consts.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAA6C;IAClE,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,GAAa;IAC/C,IAAI,GAAG,IAAI,KAAK;QACZ,OAAO,QAAQ,CAAC;IAEpB,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/bindings/consts.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAA6C;IAClE,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,GAAyB;IAC3D,IAAI,GAAG,IAAI,IAAI;QACX,OAAO,aAAa,CAAC;IAEzB,IAAI,GAAG,IAAI,KAAK;QACZ,OAAO,QAAQ,CAAC;IAEpB,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AACzD,CAAC"}
@@ -37,7 +37,7 @@ export type LlamaOptions = {
37
37
  * - **`"forceRebuild"`**: Always build from source.
38
38
  * Be cautious with this option, as it will cause the build to fail on Windows when the binaries are in use by another process.
39
39
  *
40
- * If running from inside an Asar archive in Electron, building from source is not possible, so it'll never build from source.
40
+ * When running from inside an Asar archive in Electron, building from source is not possible, so it'll never build from source.
41
41
  * To allow building from source in Electron apps, make sure you ship `node-llama-cpp` as an unpacked module.
42
42
  *
43
43
  * Defaults to `"auto"`.
@@ -69,6 +69,16 @@ export type LlamaOptions = {
69
69
  * Disabled by default.
70
70
  */
71
71
  skipDownload?: boolean;
72
+ /**
73
+ * The maximum number of threads to use for the Llama instance.
74
+ *
75
+ * Set to `0` to have no thread limit.
76
+ *
77
+ * When not using a GPU, defaults to the number of CPU cores that are useful for math (`.cpuMathCores`), or `4`, whichever is higher.
78
+ *
79
+ * When using a GPU, there's no limit by default.
80
+ */
81
+ maxThreads?: number;
72
82
  /**
73
83
  * Pad the available VRAM for the memory size calculations, as these calculations are not always accurate.
74
84
  * Recommended to ensure stability.
@@ -91,7 +101,7 @@ export type LlamaOptions = {
91
101
  export type LastBuildOptions = {
92
102
  /**
93
103
  * Set the minimum log level for llama.cpp.
94
- * Defaults to "debug".
104
+ * Defaults to "warn".
95
105
  */
96
106
  logLevel?: LlamaLogLevel;
97
107
  /**
@@ -115,6 +125,16 @@ export type LastBuildOptions = {
115
125
  * Disabled by default.
116
126
  */
117
127
  skipDownload?: boolean;
128
+ /**
129
+ * The maximum number of threads to use for the Llama instance.
130
+ *
131
+ * Set to `0` to have no thread limit.
132
+ *
133
+ * When not using a GPU, defaults to the number of CPU cores that are useful for math (`.cpuMathCores`), or `4`, whichever is higher.
134
+ *
135
+ * When using a GPU, there's no limit by default.
136
+ */
137
+ maxThreads?: number;
118
138
  /**
119
139
  * Pad the available VRAM for the memory size calculations, as these calculations are not always accurate.
120
140
  * Recommended to ensure stability.
@@ -139,14 +159,30 @@ export declare const defaultLlamaVramPadding: (totalVram: number) => number;
139
159
  /**
140
160
  * Get a `llama.cpp` binding.
141
161
  *
142
- * Defaults to use a local binary built using the `download` or `build` CLI commands if one exists,
162
+ * Defaults to use a local binary built using the `source download` or `source build` CLI commands if one exists,
143
163
  * otherwise, uses a prebuilt binary, and fallbacks to building from source if a prebuilt binary is not found.
144
164
  *
145
- * Pass `"lastBuild"` to default to use the last successful build created using the `download` or `build` CLI commands if one exists.
165
+ * Pass `"lastBuild"` to default to use the last successful build created
166
+ * using the `source download` or `source build` CLI commands if one exists.
167
+ *
168
+ * The difference between using `"lastBuild"` and not using it is that `"lastBuild"` will use the binary built using a CLI command
169
+ * with the configuration used to build that binary (like using its GPU type),
170
+ * while not using `"lastBuild"` will only attempt to only use a binary that complies with the given options.
171
+ *
172
+ * For example, if your machine supports both CUDA and Vulkan, and you run the `source download --gpu vulkan` command,
173
+ * calling `getLlama("lastBuild")` will return the binary you built with Vulkan,
174
+ * while calling `getLlama()` will return a binding from a pre-built binary with CUDA,
175
+ * since CUDA is preferable on systems that support it.
176
+ *
177
+ * For example, if your machine supports CUDA, and you run the `source download --gpu cuda` command,
178
+ * calling `getLlama("lastBuild")` will return the binary you built with CUDA,
179
+ * and calling `getLlama()` will also return that same binary you built with CUDA.
180
+ *
181
+ * You should prefer to use `getLlama()` without `"lastBuild"` unless you have a specific reason to use the last build.
146
182
  */
147
183
  export declare function getLlama(options?: LlamaOptions): Promise<Llama>;
148
184
  export declare function getLlama(type: "lastBuild", lastBuildOptions?: LastBuildOptions): Promise<Llama>;
149
- export declare function getLlamaForOptions({ gpu, logLevel, logger, build, cmakeOptions, existingPrebuiltBinaryMustMatchBuildOptions, usePrebuiltBinaries, progressLogs, skipDownload, vramPadding, debug }: LlamaOptions, { updateLastBuildInfoOnCompile, skipLlamaInit }?: {
185
+ export declare function getLlamaForOptions({ gpu, logLevel, logger, build, cmakeOptions, existingPrebuiltBinaryMustMatchBuildOptions, usePrebuiltBinaries, progressLogs, skipDownload, maxThreads, vramPadding, debug }: LlamaOptions, { updateLastBuildInfoOnCompile, skipLlamaInit }?: {
150
186
  updateLastBuildInfoOnCompile?: boolean;
151
187
  skipLlamaInit?: boolean;
152
188
  }): Promise<Llama>;