node-llama-cpp 3.0.0-beta.38 → 3.0.0-beta.39
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/bins/linux-arm64/_nlcBuildMetadata.json +1 -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 +1 -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 +1 -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 +1 -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 +1 -1
- package/bins/mac-arm64-metal/ggml-common.h +24 -0
- package/bins/mac-arm64-metal/ggml-metal.metal +181 -552
- 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 +1 -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 +1 -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 +1 -1
- package/bins/win-x64/ggml.dll +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 +1 -1
- package/bins/win-x64-vulkan/ggml.dll +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/ChatWrapper.d.ts +2 -1
- package/dist/ChatWrapper.js +19 -5
- package/dist/ChatWrapper.js.map +1 -1
- package/dist/bindings/AddonTypes.d.ts +13 -2
- package/dist/bindings/getLlama.d.ts +3 -2
- package/dist/bindings/getLlama.js +1 -1
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/chatWrappers/FunctionaryChatWrapper.js +8 -5
- 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/Llama3ChatWrapper.js +3 -4
- package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama3_1ChatWrapper.d.ts +31 -0
- package/dist/chatWrappers/Llama3_1ChatWrapper.js +223 -0
- package/dist/chatWrappers/Llama3_1ChatWrapper.js.map +1 -0
- package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.d.ts +17 -2
- package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js +39 -2
- package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js.map +1 -1
- package/dist/chatWrappers/utils/jsonDumps.d.ts +7 -0
- package/dist/chatWrappers/utils/jsonDumps.js +18 -0
- package/dist/chatWrappers/utils/jsonDumps.js.map +1 -0
- package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +5 -3
- package/dist/chatWrappers/utils/resolveChatWrapper.js +50 -4
- package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
- package/dist/cli/commands/ChatCommand.d.ts +1 -1
- package/dist/cli/commands/ChatCommand.js +2 -4
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.js +2 -2
- package/dist/cli/commands/CompleteCommand.js.map +1 -1
- package/dist/cli/commands/InfillCommand.js +2 -2
- package/dist/cli/commands/InfillCommand.js.map +1 -1
- package/dist/cli/recommendedModels.js +43 -24
- package/dist/cli/recommendedModels.js.map +1 -1
- package/dist/consts.d.ts +1 -0
- package/dist/consts.js +1 -0
- package/dist/consts.js.map +1 -1
- package/dist/evaluator/LlamaChat/LlamaChat.d.ts +22 -0
- package/dist/evaluator/LlamaChat/LlamaChat.js +65 -34
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +28 -6
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +22 -16
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js +4 -5
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -1
- package/dist/evaluator/LlamaCompletion.d.ts +13 -2
- package/dist/evaluator/LlamaCompletion.js +10 -5
- package/dist/evaluator/LlamaCompletion.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.d.ts +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.js +60 -0
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaContext/types.d.ts +21 -0
- package/dist/evaluator/LlamaGrammar.d.ts +6 -3
- package/dist/evaluator/LlamaGrammar.js +2 -2
- package/dist/evaluator/LlamaGrammar.js.map +1 -1
- package/dist/evaluator/LlamaModel/LlamaModel.d.ts +16 -32
- package/dist/evaluator/LlamaModel/LlamaModel.js +94 -53
- package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
- package/dist/gguf/consts.d.ts +1 -0
- package/dist/gguf/consts.js +4 -0
- package/dist/gguf/consts.js.map +1 -1
- package/dist/gguf/insights/GgufInsights.js +4 -0
- package/dist/gguf/insights/GgufInsights.js.map +1 -1
- package/dist/gguf/parser/GgufV2Parser.js +3 -1
- package/dist/gguf/parser/GgufV2Parser.js.map +1 -1
- package/dist/gguf/types/GgufMetadataTypes.d.ts +16 -0
- package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.d.ts +3 -2
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js +44 -8
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +15 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/DeepPartialObject.d.ts +3 -0
- package/dist/utils/DeepPartialObject.js +2 -0
- package/dist/utils/DeepPartialObject.js.map +1 -0
- package/dist/utils/StopGenerationDetector.d.ts +6 -3
- package/dist/utils/StopGenerationDetector.js +22 -7
- package/dist/utils/StopGenerationDetector.js.map +1 -1
- package/dist/utils/TokenStreamRegulator.d.ts +1 -0
- package/dist/utils/TokenStreamRegulator.js +23 -5
- package/dist/utils/TokenStreamRegulator.js.map +1 -1
- package/dist/utils/resolveLastTokens.d.ts +2 -0
- package/dist/utils/resolveLastTokens.js +12 -0
- package/dist/utils/resolveLastTokens.js.map +1 -0
- package/llama/CMakeLists.txt +1 -1
- package/llama/addon/AddonContext.cpp +772 -0
- package/llama/addon/AddonContext.h +53 -0
- package/llama/addon/AddonGrammar.cpp +44 -0
- package/llama/addon/AddonGrammar.h +18 -0
- package/llama/addon/AddonGrammarEvaluationState.cpp +28 -0
- package/llama/addon/AddonGrammarEvaluationState.h +15 -0
- package/llama/addon/AddonModel.cpp +681 -0
- package/llama/addon/AddonModel.h +61 -0
- package/llama/addon/AddonModelData.cpp +25 -0
- package/llama/addon/AddonModelData.h +15 -0
- package/llama/addon/AddonModelLora.cpp +107 -0
- package/llama/addon/AddonModelLora.h +28 -0
- package/llama/addon/addon.cpp +217 -0
- package/llama/addon/addonGlobals.cpp +22 -0
- package/llama/addon/addonGlobals.h +12 -0
- package/llama/addon/globals/addonLog.cpp +135 -0
- package/llama/addon/globals/addonLog.h +21 -0
- package/llama/addon/globals/addonProgress.cpp +15 -0
- package/llama/addon/globals/addonProgress.h +15 -0
- package/llama/addon/globals/getGpuInfo.cpp +108 -0
- package/llama/addon/globals/getGpuInfo.h +6 -0
- 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 +3 -3
- package/templates/packed/electron-typescript-react.json +1 -1
- package/templates/packed/node-typescript.json +1 -1
- package/llama/addon.cpp +0 -1997
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#include "getGpuInfo.h"
|
|
2
|
+
#include "addonLog.h"
|
|
3
|
+
|
|
4
|
+
#ifdef GPU_INFO_USE_CUDA
|
|
5
|
+
# include "../../gpuInfo/cuda-gpu-info.h"
|
|
6
|
+
#endif
|
|
7
|
+
#ifdef GPU_INFO_USE_VULKAN
|
|
8
|
+
# include "../../gpuInfo/vulkan-gpu-info.h"
|
|
9
|
+
#endif
|
|
10
|
+
#ifdef GPU_INFO_USE_METAL
|
|
11
|
+
# include "../../gpuInfo/metal-gpu-info.h"
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
#ifdef GPU_INFO_USE_CUDA
|
|
16
|
+
void logCudaError(const char* message) {
|
|
17
|
+
addonLlamaCppLogCallback(GGML_LOG_LEVEL_ERROR, (std::string("CUDA error: ") + std::string(message)).c_str(), nullptr);
|
|
18
|
+
}
|
|
19
|
+
#endif
|
|
20
|
+
#ifdef GPU_INFO_USE_VULKAN
|
|
21
|
+
void logVulkanWarning(const char* message) {
|
|
22
|
+
addonLlamaCppLogCallback(GGML_LOG_LEVEL_WARN, (std::string("Vulkan warning: ") + std::string(message)).c_str(), nullptr);
|
|
23
|
+
}
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
Napi::Value getGpuVramInfo(const Napi::CallbackInfo& info) {
|
|
27
|
+
uint64_t total = 0;
|
|
28
|
+
uint64_t used = 0;
|
|
29
|
+
|
|
30
|
+
#ifdef GPU_INFO_USE_CUDA
|
|
31
|
+
size_t cudaDeviceTotal = 0;
|
|
32
|
+
size_t cudaDeviceUsed = 0;
|
|
33
|
+
bool cudeGetInfoSuccess = gpuInfoGetTotalCudaDevicesInfo(&cudaDeviceTotal, &cudaDeviceUsed, logCudaError);
|
|
34
|
+
|
|
35
|
+
if (cudeGetInfoSuccess) {
|
|
36
|
+
total += cudaDeviceTotal;
|
|
37
|
+
used += cudaDeviceUsed;
|
|
38
|
+
}
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
#ifdef GPU_INFO_USE_VULKAN
|
|
42
|
+
uint64_t vulkanDeviceTotal = 0;
|
|
43
|
+
uint64_t vulkanDeviceUsed = 0;
|
|
44
|
+
const bool vulkanDeviceSupportsMemoryBudgetExtension = gpuInfoGetTotalVulkanDevicesInfo(&vulkanDeviceTotal, &vulkanDeviceUsed, logVulkanWarning);
|
|
45
|
+
|
|
46
|
+
if (vulkanDeviceSupportsMemoryBudgetExtension) {
|
|
47
|
+
total += vulkanDeviceTotal;
|
|
48
|
+
used += vulkanDeviceUsed;
|
|
49
|
+
}
|
|
50
|
+
#endif
|
|
51
|
+
|
|
52
|
+
#ifdef GPU_INFO_USE_METAL
|
|
53
|
+
uint64_t metalDeviceTotal = 0;
|
|
54
|
+
uint64_t metalDeviceUsed = 0;
|
|
55
|
+
getMetalGpuInfo(&metalDeviceTotal, &metalDeviceUsed);
|
|
56
|
+
|
|
57
|
+
total += metalDeviceTotal;
|
|
58
|
+
used += metalDeviceUsed;
|
|
59
|
+
#endif
|
|
60
|
+
|
|
61
|
+
Napi::Object result = Napi::Object::New(info.Env());
|
|
62
|
+
result.Set("total", Napi::Number::From(info.Env(), total));
|
|
63
|
+
result.Set("used", Napi::Number::From(info.Env(), used));
|
|
64
|
+
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
Napi::Value getGpuDeviceInfo(const Napi::CallbackInfo& info) {
|
|
69
|
+
std::vector<std::string> deviceNames;
|
|
70
|
+
|
|
71
|
+
#ifdef GPU_INFO_USE_CUDA
|
|
72
|
+
gpuInfoGetCudaDeviceNames(&deviceNames, logCudaError);
|
|
73
|
+
#endif
|
|
74
|
+
|
|
75
|
+
#ifdef GPU_INFO_USE_VULKAN
|
|
76
|
+
gpuInfoGetVulkanDeviceNames(&deviceNames, logVulkanWarning);
|
|
77
|
+
#endif
|
|
78
|
+
|
|
79
|
+
#ifdef GPU_INFO_USE_METAL
|
|
80
|
+
getMetalGpuDeviceNames(&deviceNames);
|
|
81
|
+
#endif
|
|
82
|
+
|
|
83
|
+
Napi::Object result = Napi::Object::New(info.Env());
|
|
84
|
+
|
|
85
|
+
Napi::Array deviceNamesNapiArray = Napi::Array::New(info.Env(), deviceNames.size());
|
|
86
|
+
for (size_t i = 0; i < deviceNames.size(); ++i) {
|
|
87
|
+
deviceNamesNapiArray[i] = Napi::String::New(info.Env(), deviceNames[i]);
|
|
88
|
+
}
|
|
89
|
+
result.Set("deviceNames", deviceNamesNapiArray);
|
|
90
|
+
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
Napi::Value getGpuType(const Napi::CallbackInfo& info) {
|
|
95
|
+
#ifdef GPU_INFO_USE_CUDA
|
|
96
|
+
return Napi::String::New(info.Env(), "cuda");
|
|
97
|
+
#endif
|
|
98
|
+
|
|
99
|
+
#ifdef GPU_INFO_USE_VULKAN
|
|
100
|
+
return Napi::String::New(info.Env(), "vulkan");
|
|
101
|
+
#endif
|
|
102
|
+
|
|
103
|
+
#ifdef GPU_INFO_USE_METAL
|
|
104
|
+
return Napi::String::New(info.Env(), "metal");
|
|
105
|
+
#endif
|
|
106
|
+
|
|
107
|
+
return info.Env().Undefined();
|
|
108
|
+
}
|
package/llama/gitRelease.bundle
CHANGED
|
Binary file
|
package/llama/grammars/README.md
CHANGED
|
@@ -4,7 +4,7 @@ GBNF (GGML BNF) is a format for defining [formal grammars](https://en.wikipedia.
|
|
|
4
4
|
|
|
5
5
|
## Background
|
|
6
6
|
|
|
7
|
-
[
|
|
7
|
+
[Backus-Naur Form (BNF)](https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form) is a notation for describing the syntax of formal languages like programming languages, file formats, and protocols. GBNF is an extension of BNF that primarily adds a few modern regex-like features.
|
|
8
8
|
|
|
9
9
|
## Basics
|
|
10
10
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-llama-cpp",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.39",
|
|
4
4
|
"description": "Run AI models locally on your machine with node.js bindings for llama.cpp. Force a JSON schema on the model output on the generation level",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
}
|
|
194
194
|
},
|
|
195
195
|
"optionalDependencies": {
|
|
196
|
-
"@node-llama-cpp/linux-x64-cuda": "3.0.0-beta.
|
|
197
|
-
"@node-llama-cpp/win-x64-cuda": "3.0.0-beta.
|
|
196
|
+
"@node-llama-cpp/linux-x64-cuda": "3.0.0-beta.39",
|
|
197
|
+
"@node-llama-cpp/win-x64-cuda": "3.0.0-beta.39"
|
|
198
198
|
}
|
|
199
199
|
}
|