node-llama-cpp 3.0.0-beta.43 → 3.0.0-beta.45
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.
- package/README.md +33 -21
- package/bins/_linux-arm64.moved.txt +1 -0
- package/bins/_linux-armv7l.moved.txt +1 -0
- package/bins/_linux-x64-vulkan.moved.txt +1 -0
- package/bins/_linux-x64.moved.txt +1 -0
- package/bins/_mac-arm64-metal.moved.txt +1 -0
- package/bins/_mac-x64.moved.txt +1 -0
- package/bins/_win-arm64.moved.txt +1 -0
- package/bins/_win-x64-vulkan.moved.txt +1 -0
- package/bins/_win-x64.moved.txt +1 -0
- package/dist/ChatWrapper.d.ts +11 -1
- package/dist/ChatWrapper.js +1 -1
- package/dist/ChatWrapper.js.map +1 -1
- package/dist/bindings/AddonTypes.d.ts +30 -19
- package/dist/bindings/Llama.d.ts +9 -0
- package/dist/bindings/Llama.js +33 -6
- package/dist/bindings/Llama.js.map +1 -1
- package/dist/bindings/consts.d.ts +1 -1
- package/dist/bindings/consts.js +2 -0
- package/dist/bindings/consts.js.map +1 -1
- package/dist/bindings/getLlama.d.ts +33 -5
- package/dist/bindings/getLlama.js +14 -3
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/bindings/types.d.ts +2 -2
- package/dist/bindings/types.js +2 -0
- package/dist/bindings/types.js.map +1 -1
- package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
- package/dist/bindings/utils/compileLLamaCpp.d.ts +0 -1
- package/dist/bindings/utils/compileLLamaCpp.js +45 -7
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
- package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +0 -1
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js +2 -2
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -1
- package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +0 -1
- package/dist/bindings/utils/testCmakeBinary.d.ts +0 -1
- package/dist/chatWrappers/AlpacaChatWrapper.js +4 -3
- package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -1
- package/dist/chatWrappers/ChatMLChatWrapper.js +1 -1
- package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
- package/dist/chatWrappers/FalconChatWrapper.js +5 -4
- package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
- package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +2 -2
- package/dist/chatWrappers/FunctionaryChatWrapper.js +200 -12
- package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
- package/dist/chatWrappers/GemmaChatWrapper.js +1 -1
- package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -1
- package/dist/chatWrappers/GeneralChatWrapper.js +5 -4
- package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama2ChatWrapper.js +5 -6
- package/dist/chatWrappers/Llama2ChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama3ChatWrapper.js +1 -1
- package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama3_1ChatWrapper.d.ts +13 -9
- package/dist/chatWrappers/Llama3_1ChatWrapper.js +92 -38
- package/dist/chatWrappers/Llama3_1ChatWrapper.js.map +1 -1
- package/dist/chatWrappers/MistralChatWrapper.d.ts +15 -0
- package/dist/chatWrappers/MistralChatWrapper.js +169 -0
- package/dist/chatWrappers/MistralChatWrapper.js.map +1 -0
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +25 -1
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +50 -12
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
- package/dist/chatWrappers/generic/TemplateChatWrapper.d.ts +22 -16
- package/dist/chatWrappers/generic/TemplateChatWrapper.js +28 -24
- package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -1
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.d.ts +1 -1
- package/dist/chatWrappers/utils/chunkChatItems.d.ts +10 -0
- package/dist/chatWrappers/utils/chunkChatItems.js +44 -0
- package/dist/chatWrappers/utils/chunkChatItems.js.map +1 -0
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +37 -26
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -1
- package/dist/chatWrappers/utils/jsonDumps.d.ts +1 -1
- package/dist/chatWrappers/utils/jsonDumps.js +2 -2
- package/dist/chatWrappers/utils/jsonDumps.js.map +1 -1
- package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +30 -6
- package/dist/chatWrappers/utils/resolveChatWrapper.js +71 -25
- package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
- package/dist/cli/cli.js +2 -6
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/ChatCommand.d.ts +2 -1
- package/dist/cli/commands/ChatCommand.js +83 -53
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.d.ts +2 -1
- package/dist/cli/commands/CompleteCommand.js +58 -30
- package/dist/cli/commands/CompleteCommand.js.map +1 -1
- package/dist/cli/commands/DebugCommand.js +1 -1
- package/dist/cli/commands/DebugCommand.js.map +1 -1
- package/dist/cli/commands/InfillCommand.d.ts +2 -1
- package/dist/cli/commands/InfillCommand.js +58 -30
- package/dist/cli/commands/InfillCommand.js.map +1 -1
- package/dist/cli/commands/InitCommand.js +1 -1
- package/dist/cli/commands/PullCommand.d.ts +2 -1
- package/dist/cli/commands/PullCommand.js +85 -44
- package/dist/cli/commands/PullCommand.js.map +1 -1
- package/dist/cli/commands/inspect/InspectCommand.js +5 -3
- package/dist/cli/commands/inspect/InspectCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectEstimateCommand.d.ts +12 -0
- package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js +225 -0
- package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js.map +1 -0
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +17 -4
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +31 -9
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +7 -4
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
- package/dist/cli/commands/source/SourceCommand.d.ts +4 -0
- package/dist/cli/commands/source/SourceCommand.js +19 -0
- package/dist/cli/commands/source/SourceCommand.js.map +1 -0
- package/dist/cli/commands/{BuildCommand.d.ts → source/commands/BuildCommand.d.ts} +1 -2
- package/dist/cli/commands/{BuildCommand.js → source/commands/BuildCommand.js} +21 -19
- package/dist/cli/commands/source/commands/BuildCommand.js.map +1 -0
- package/dist/cli/commands/{ClearCommand.js → source/commands/ClearCommand.js} +6 -6
- package/dist/cli/commands/source/commands/ClearCommand.js.map +1 -0
- package/dist/cli/commands/{DownloadCommand.d.ts → source/commands/DownloadCommand.d.ts} +1 -2
- package/dist/cli/commands/{DownloadCommand.js → source/commands/DownloadCommand.js} +26 -22
- package/dist/cli/commands/source/commands/DownloadCommand.js.map +1 -0
- package/dist/cli/recommendedModels.js +192 -23
- package/dist/cli/recommendedModels.js.map +1 -1
- package/dist/cli/utils/ConsoleInteraction.d.ts +0 -1
- package/dist/cli/utils/ConsoleTable.js.map +1 -1
- package/dist/cli/utils/basicChooseFromListConsoleInteraction.js.map +1 -1
- package/dist/cli/utils/interactivelyAskForModel.js +6 -17
- package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
- package/dist/cli/utils/printCommonInfoLines.js +3 -0
- package/dist/cli/utils/printCommonInfoLines.js.map +1 -1
- package/dist/cli/utils/renderModelCompatibilityPercentageWithColors.d.ts +6 -0
- package/dist/cli/utils/renderModelCompatibilityPercentageWithColors.js +14 -0
- package/dist/cli/utils/renderModelCompatibilityPercentageWithColors.js.map +1 -0
- package/dist/cli/utils/resolveModelRecommendationFileOptions.d.ts +1 -1
- package/dist/cli/utils/withCliCommandDescriptionDocsUrl.js.map +1 -1
- package/dist/commands.d.ts +3 -3
- package/dist/commands.js +3 -3
- package/dist/commands.js.map +1 -1
- package/dist/config.d.ts +7 -3
- package/dist/config.js +10 -6
- package/dist/config.js.map +1 -1
- package/dist/evaluator/LlamaChat/LlamaChat.d.ts +17 -2
- package/dist/evaluator/LlamaChat/LlamaChat.js +24 -12
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +3 -1
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +21 -13
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +15 -14
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.d.ts +1 -0
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +3 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +3 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -1
- package/dist/evaluator/LlamaCompletion.d.ts +18 -4
- package/dist/evaluator/LlamaCompletion.js +51 -22
- package/dist/evaluator/LlamaCompletion.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.d.ts +21 -0
- package/dist/evaluator/LlamaContext/LlamaContext.js +256 -133
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaSampler.d.ts +1 -0
- package/dist/evaluator/LlamaContext/LlamaSampler.js +31 -0
- package/dist/evaluator/LlamaContext/LlamaSampler.js.map +1 -0
- package/dist/evaluator/LlamaContext/types.d.ts +71 -9
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/maximumParallelismStrategy.js.map +1 -1
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.js +1 -1
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.js.map +1 -1
- package/dist/evaluator/LlamaEmbedding.d.ts +21 -0
- package/dist/evaluator/LlamaEmbedding.js +53 -0
- package/dist/evaluator/LlamaEmbedding.js.map +1 -0
- package/dist/evaluator/LlamaEmbeddingContext.d.ts +1 -5
- package/dist/evaluator/LlamaEmbeddingContext.js +6 -8
- package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
- package/dist/evaluator/LlamaGrammar.d.ts +9 -10
- package/dist/evaluator/LlamaGrammar.js +10 -5
- package/dist/evaluator/LlamaGrammar.js.map +1 -1
- package/dist/evaluator/LlamaGrammarEvaluationState.d.ts +7 -3
- package/dist/evaluator/LlamaGrammarEvaluationState.js +8 -4
- package/dist/evaluator/LlamaGrammarEvaluationState.js.map +1 -1
- package/dist/evaluator/LlamaJsonSchemaGrammar.d.ts +3 -0
- package/dist/evaluator/LlamaJsonSchemaGrammar.js +3 -0
- package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -1
- package/dist/evaluator/LlamaModel/LlamaModel.d.ts +28 -15
- package/dist/evaluator/LlamaModel/LlamaModel.js +66 -51
- package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
- package/dist/evaluator/LlamaModel/utils/TokenAttributes.d.ts +10 -10
- package/dist/evaluator/LlamaModel/utils/TokenAttributes.js +10 -10
- package/dist/evaluator/LlamaModel/utils/TokenAttributes.js.map +1 -1
- package/dist/evaluator/TokenBias.d.ts +20 -8
- package/dist/evaluator/TokenBias.js +44 -12
- package/dist/evaluator/TokenBias.js.map +1 -1
- package/dist/evaluator/TokenMeter.d.ts +3 -12
- package/dist/evaluator/TokenMeter.js +4 -16
- package/dist/evaluator/TokenMeter.js.map +1 -1
- package/dist/gguf/fileReaders/GgufFileReader.d.ts +0 -1
- package/dist/gguf/fileReaders/GgufFileReader.js.map +1 -1
- package/dist/gguf/fileReaders/GgufFsFileReader.d.ts +0 -2
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts +5 -3
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +26 -13
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -1
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +57 -1
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +86 -4
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
- package/dist/gguf/insights/utils/scoreLevels.js.map +1 -1
- package/dist/gguf/readGgufFileInfo.d.ts +18 -6
- package/dist/gguf/readGgufFileInfo.js +8 -3
- package/dist/gguf/readGgufFileInfo.js.map +1 -1
- package/dist/gguf/types/GgufMetadataTypes.d.ts +18 -2
- package/dist/gguf/types/GgufMetadataTypes.js +16 -1
- package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js +2 -0
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -1
- package/dist/gguf/utils/getGgufFileTypeName.d.ts +1 -1
- package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js +1 -1
- package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/LlamaText.d.ts +3 -0
- package/dist/utils/LlamaText.js +7 -4
- package/dist/utils/LlamaText.js.map +1 -1
- package/dist/utils/LruCache.d.ts +2 -2
- package/dist/utils/LruCache.js.map +1 -1
- package/dist/utils/OverridesObject.d.ts +7 -0
- package/dist/utils/OverridesObject.js +2 -0
- package/dist/utils/OverridesObject.js.map +1 -0
- package/dist/utils/StopGenerationDetector.js.map +1 -1
- package/dist/utils/ThreadsSplitter.d.ts +26 -0
- package/dist/utils/ThreadsSplitter.js +164 -0
- package/dist/utils/ThreadsSplitter.js.map +1 -0
- package/dist/utils/TokenStreamRegulator.js.map +1 -1
- package/dist/utils/appendUserMessageToChatHistory.d.ts +4 -0
- package/dist/utils/appendUserMessageToChatHistory.js +4 -0
- package/dist/utils/appendUserMessageToChatHistory.js.map +1 -1
- package/dist/utils/compareTokens.d.ts +1 -1
- package/dist/utils/compareTokens.js.map +1 -1
- package/dist/utils/createModelDownloader.d.ts +94 -6
- package/dist/utils/createModelDownloader.js +174 -46
- package/dist/utils/createModelDownloader.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfOr.js.map +1 -1
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js +1 -1
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
- package/dist/utils/getGrammarsFolder.js +1 -1
- package/dist/utils/getGrammarsFolder.js.map +1 -1
- package/dist/utils/gitReleaseBundles.js.map +1 -1
- package/dist/utils/modelFileAccesTokens.d.ts +4 -0
- package/dist/utils/modelFileAccesTokens.js +40 -0
- package/dist/utils/modelFileAccesTokens.js.map +1 -0
- package/dist/utils/parseModelFileName.js.map +1 -1
- package/dist/utils/parseTextTemplate.js.map +1 -1
- package/dist/utils/resolveGithubRelease.d.ts +1 -1
- package/dist/utils/resolveLastTokens.js.map +1 -1
- package/dist/utils/spawnCommand.d.ts +0 -1
- package/dist/utils/truncateTextAndRoundToWords.js +3 -1
- package/dist/utils/truncateTextAndRoundToWords.js.map +1 -1
- package/dist/utils/withOra.js +1 -1
- package/dist/utils/withOra.js.map +1 -1
- package/dist/utils/withProgressLog.d.ts +0 -1
- package/dist/utils/wrapAbortSignal.d.ts +0 -1
- package/llama/CMakeLists.txt +20 -12
- package/llama/addon/AddonContext.cpp +69 -202
- package/llama/addon/AddonContext.h +4 -5
- package/llama/addon/AddonGrammar.cpp +8 -11
- package/llama/addon/AddonGrammar.h +4 -3
- package/llama/addon/AddonGrammarEvaluationState.cpp +9 -10
- package/llama/addon/AddonGrammarEvaluationState.h +3 -1
- package/llama/addon/AddonModel.cpp +6 -5
- package/llama/addon/AddonSampler.cpp +513 -0
- package/llama/addon/AddonSampler.h +65 -0
- package/llama/addon/RingBuffer.h +109 -0
- package/llama/addon/addon.cpp +7 -0
- package/llama/addon/globals/addonLog.cpp +2 -1
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/grammars/README.md +1 -1
- package/llama/llama.cpp.info.json +1 -1
- package/package.json +71 -46
- package/templates/packed/electron-typescript-react.json +1 -1
- package/templates/packed/node-typescript.json +1 -1
- package/bins/linux-arm64/_nlcBuildMetadata.json +0 -1
- package/bins/linux-arm64/libggml.so +0 -0
- package/bins/linux-arm64/libllama.so +0 -0
- package/bins/linux-arm64/llama-addon.node +0 -0
- package/bins/linux-armv7l/_nlcBuildMetadata.json +0 -1
- package/bins/linux-armv7l/libggml.so +0 -0
- package/bins/linux-armv7l/libllama.so +0 -0
- package/bins/linux-armv7l/llama-addon.node +0 -0
- package/bins/linux-x64/_nlcBuildMetadata.json +0 -1
- package/bins/linux-x64/libggml.so +0 -0
- package/bins/linux-x64/libllama.so +0 -0
- package/bins/linux-x64/llama-addon.node +0 -0
- package/bins/linux-x64-vulkan/_nlcBuildMetadata.json +0 -1
- package/bins/linux-x64-vulkan/libggml.so +0 -0
- package/bins/linux-x64-vulkan/libllama.so +0 -0
- package/bins/linux-x64-vulkan/llama-addon.node +0 -0
- package/bins/linux-x64-vulkan/vulkan-shaders-gen +0 -0
- package/bins/mac-arm64-metal/_nlcBuildMetadata.json +0 -1
- package/bins/mac-arm64-metal/ggml-common.h +0 -1833
- package/bins/mac-arm64-metal/ggml-metal.metal +0 -6168
- package/bins/mac-arm64-metal/libggml.dylib +0 -0
- package/bins/mac-arm64-metal/libllama.dylib +0 -0
- package/bins/mac-arm64-metal/llama-addon.node +0 -0
- package/bins/mac-x64/_nlcBuildMetadata.json +0 -1
- package/bins/mac-x64/libggml.dylib +0 -0
- package/bins/mac-x64/libllama.dylib +0 -0
- package/bins/mac-x64/llama-addon.node +0 -0
- package/bins/win-arm64/_nlcBuildMetadata.json +0 -1
- package/bins/win-arm64/ggml.dll +0 -0
- package/bins/win-arm64/llama-addon.exp +0 -0
- package/bins/win-arm64/llama-addon.lib +0 -0
- package/bins/win-arm64/llama-addon.node +0 -0
- package/bins/win-arm64/llama.dll +0 -0
- package/bins/win-x64/_nlcBuildMetadata.json +0 -1
- package/bins/win-x64/ggml.dll +0 -0
- package/bins/win-x64/llama-addon.exp +0 -0
- package/bins/win-x64/llama-addon.lib +0 -0
- package/bins/win-x64/llama-addon.node +0 -0
- package/bins/win-x64/llama.dll +0 -0
- package/bins/win-x64-vulkan/_nlcBuildMetadata.json +0 -1
- package/bins/win-x64-vulkan/ggml.dll +0 -0
- package/bins/win-x64-vulkan/llama-addon.exp +0 -0
- package/bins/win-x64-vulkan/llama-addon.lib +0 -0
- package/bins/win-x64-vulkan/llama-addon.node +0 -0
- package/bins/win-x64-vulkan/llama.dll +0 -0
- package/bins/win-x64-vulkan/vulkan-shaders-gen.exe +0 -0
- package/dist/cli/commands/BuildCommand.js.map +0 -1
- package/dist/cli/commands/ClearCommand.js.map +0 -1
- package/dist/cli/commands/DownloadCommand.js.map +0 -1
- package/dist/utils/DeepPartialObject.d.ts +0 -3
- package/dist/utils/DeepPartialObject.js +0 -2
- package/dist/utils/DeepPartialObject.js.map +0 -1
- /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! [
|
|
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
|
|
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
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
* [
|
|
31
|
-
* [
|
|
32
|
-
*
|
|
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
|
|
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
|
|
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", "
|
|
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://
|
|
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://
|
|
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"
|
package/dist/ChatWrapper.d.ts
CHANGED
|
@@ -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 }
|
|
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 {};
|
package/dist/ChatWrapper.js
CHANGED
|
@@ -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()
|
package/dist/ChatWrapper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatWrapper.js","sourceRoot":"","sources":["../src/ChatWrapper.ts"],"names":[],"mappings":"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
|
|
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
|
-
|
|
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,
|
|
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;
|
package/dist/bindings/Llama.d.ts
CHANGED
|
@@ -15,6 +15,15 @@ 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
|
+
* Default to `cpuMathCores`.
|
|
24
|
+
*/
|
|
25
|
+
get maxThreads(): number;
|
|
26
|
+
set maxThreads(value: number);
|
|
18
27
|
get logLevel(): LlamaLogLevel;
|
|
19
28
|
set logLevel(value: LlamaLogLevel);
|
|
20
29
|
get logger(): (level: LlamaLogLevel, message: string) => void;
|
package/dist/bindings/Llama.js
CHANGED
|
@@ -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.
|
|
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 defaultMinThreadSplitterThreads = 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,18 @@ 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 ?? Math.max(defaultMinThreadSplitterThreads, this._mathCores));
|
|
55
62
|
this._logLevel = this._debug
|
|
56
63
|
? LlamaLogLevel.debug
|
|
57
64
|
: (logLevel ?? LlamaLogLevel.debug);
|
|
@@ -98,6 +105,21 @@ export class Llama {
|
|
|
98
105
|
get supportsMlock() {
|
|
99
106
|
return this._supportsMlock;
|
|
100
107
|
}
|
|
108
|
+
/** The number of CPU cores that are useful for math */
|
|
109
|
+
get cpuMathCores() {
|
|
110
|
+
return this._mathCores;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The maximum number of threads that can be used by the Llama instance.
|
|
114
|
+
*
|
|
115
|
+
* Default to `cpuMathCores`.
|
|
116
|
+
*/
|
|
117
|
+
get maxThreads() {
|
|
118
|
+
return this._threadsSplitter.maxThreads;
|
|
119
|
+
}
|
|
120
|
+
set maxThreads(value) {
|
|
121
|
+
this._threadsSplitter.maxThreads = Math.floor(Math.max(1, value));
|
|
122
|
+
}
|
|
101
123
|
get logLevel() {
|
|
102
124
|
return this._logLevel;
|
|
103
125
|
}
|
|
@@ -262,7 +284,7 @@ export class Llama {
|
|
|
262
284
|
throw new DisposedError();
|
|
263
285
|
}
|
|
264
286
|
/** @internal */
|
|
265
|
-
static async _create({ bindings, buildType, buildMetadata, logLevel, logger, vramPadding, skipLlamaInit = false, debug }) {
|
|
287
|
+
static async _create({ bindings, buildType, buildMetadata, logLevel, logger, vramPadding, maxThreads, skipLlamaInit = false, debug }) {
|
|
266
288
|
const gpu = bindings.getGpuType() ?? false;
|
|
267
289
|
const vramOrchestrator = new MemoryOrchestrator(() => {
|
|
268
290
|
const { total, used } = bindings.getGpuVramInfo();
|
|
@@ -291,6 +313,7 @@ export class Llama {
|
|
|
291
313
|
debug,
|
|
292
314
|
gpu,
|
|
293
315
|
vramOrchestrator,
|
|
316
|
+
maxThreads,
|
|
294
317
|
vramPadding: resolvedVramPadding
|
|
295
318
|
});
|
|
296
319
|
if (!skipLlamaInit)
|
|
@@ -315,11 +338,14 @@ export class Llama {
|
|
|
315
338
|
case LlamaLogLevel.info:
|
|
316
339
|
console.info(prefixAndColorMessage(message, getColorForLogLevel(level)));
|
|
317
340
|
break;
|
|
341
|
+
case LlamaLogLevel.log:
|
|
342
|
+
console.info(prefixAndColorMessage(message, getColorForLogLevel(level)));
|
|
343
|
+
break;
|
|
318
344
|
case LlamaLogLevel.debug:
|
|
319
345
|
console.debug(prefixAndColorMessage(message, getColorForLogLevel(level)));
|
|
320
346
|
break;
|
|
321
347
|
default:
|
|
322
|
-
void
|
|
348
|
+
void level;
|
|
323
349
|
console.warn(getConsoleLogPrefix() + getColorForLogLevel(LlamaLogLevel.warn)(`Unknown log level: ${level}`));
|
|
324
350
|
console.log(prefixAndColorMessage(message, getColorForLogLevel(level)));
|
|
325
351
|
}
|
|
@@ -332,9 +358,10 @@ function getColorForLogLevel(level) {
|
|
|
332
358
|
case LlamaLogLevel.error: return chalk.red;
|
|
333
359
|
case LlamaLogLevel.warn: return chalk.yellow;
|
|
334
360
|
case LlamaLogLevel.info: return chalk.whiteBright;
|
|
335
|
-
case LlamaLogLevel.
|
|
361
|
+
case LlamaLogLevel.log: return chalk.white;
|
|
362
|
+
case LlamaLogLevel.debug: return chalk.gray;
|
|
336
363
|
default:
|
|
337
|
-
void
|
|
364
|
+
void level;
|
|
338
365
|
return chalk.whiteBright;
|
|
339
366
|
}
|
|
340
367
|
}
|
|
@@ -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;
|
package/dist/bindings/consts.js
CHANGED
|
@@ -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,
|
|
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
|
-
*
|
|
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,12 @@ 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
|
+
* Defaults to the number of CPU cores that are useful for math (`.cpuMathCores`), or `4`, whichever is higher.
|
|
76
|
+
*/
|
|
77
|
+
maxThreads?: number;
|
|
72
78
|
/**
|
|
73
79
|
* Pad the available VRAM for the memory size calculations, as these calculations are not always accurate.
|
|
74
80
|
* Recommended to ensure stability.
|
|
@@ -91,7 +97,7 @@ export type LlamaOptions = {
|
|
|
91
97
|
export type LastBuildOptions = {
|
|
92
98
|
/**
|
|
93
99
|
* Set the minimum log level for llama.cpp.
|
|
94
|
-
* Defaults to "
|
|
100
|
+
* Defaults to "warn".
|
|
95
101
|
*/
|
|
96
102
|
logLevel?: LlamaLogLevel;
|
|
97
103
|
/**
|
|
@@ -115,6 +121,12 @@ export type LastBuildOptions = {
|
|
|
115
121
|
* Disabled by default.
|
|
116
122
|
*/
|
|
117
123
|
skipDownload?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* The maximum number of threads to use for the Llama instance.
|
|
126
|
+
*
|
|
127
|
+
* Defaults to the number of CPU cores that are useful for math (`.cpuMathCores`), or `4`, whichever is higher.
|
|
128
|
+
*/
|
|
129
|
+
maxThreads?: number;
|
|
118
130
|
/**
|
|
119
131
|
* Pad the available VRAM for the memory size calculations, as these calculations are not always accurate.
|
|
120
132
|
* Recommended to ensure stability.
|
|
@@ -139,14 +151,30 @@ export declare const defaultLlamaVramPadding: (totalVram: number) => number;
|
|
|
139
151
|
/**
|
|
140
152
|
* Get a `llama.cpp` binding.
|
|
141
153
|
*
|
|
142
|
-
* Defaults to use a local binary built using the `download` or `build` CLI commands if one exists,
|
|
154
|
+
* Defaults to use a local binary built using the `source download` or `source build` CLI commands if one exists,
|
|
143
155
|
* otherwise, uses a prebuilt binary, and fallbacks to building from source if a prebuilt binary is not found.
|
|
144
156
|
*
|
|
145
|
-
* Pass `"lastBuild"` to default to use the last successful build created
|
|
157
|
+
* Pass `"lastBuild"` to default to use the last successful build created
|
|
158
|
+
* using the `source download` or `source build` CLI commands if one exists.
|
|
159
|
+
*
|
|
160
|
+
* The difference between using `"lastBuild"` and not using it is that `"lastBuild"` will use the binary built using a CLI command
|
|
161
|
+
* with the configuration used to build that binary (like using its GPU type),
|
|
162
|
+
* while not using `"lastBuild"` will only attempt to only use a binary that complies with the given options.
|
|
163
|
+
*
|
|
164
|
+
* For example, if your machine supports both CUDA and Vulkan, and you run the `source download --gpu vulkan` command,
|
|
165
|
+
* calling `getLlama("lastBuild")` will return the binary you built with Vulkan,
|
|
166
|
+
* while calling `getLlama()` will return a binding from a pre-built binary with CUDA,
|
|
167
|
+
* since CUDA is preferable on systems that support it.
|
|
168
|
+
*
|
|
169
|
+
* For example, if your machine supports CUDA, and you run the `source download --gpu cuda` command,
|
|
170
|
+
* calling `getLlama("lastBuild")` will return the binary you built with CUDA,
|
|
171
|
+
* and calling `getLlama()` will also return that same binary you built with CUDA.
|
|
172
|
+
*
|
|
173
|
+
* You should prefer to use `getLlama()` without `"lastBuild"` unless you have a specific reason to use the last build.
|
|
146
174
|
*/
|
|
147
175
|
export declare function getLlama(options?: LlamaOptions): Promise<Llama>;
|
|
148
176
|
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 }?: {
|
|
177
|
+
export declare function getLlamaForOptions({ gpu, logLevel, logger, build, cmakeOptions, existingPrebuiltBinaryMustMatchBuildOptions, usePrebuiltBinaries, progressLogs, skipDownload, maxThreads, vramPadding, debug }: LlamaOptions, { updateLastBuildInfoOnCompile, skipLlamaInit }?: {
|
|
150
178
|
updateLastBuildInfoOnCompile?: boolean;
|
|
151
179
|
skipLlamaInit?: boolean;
|
|
152
180
|
}): Promise<Llama>;
|