node-llama-cpp 3.9.0 → 3.11.0
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/dist/bindings/AddonTypes.d.ts +4 -2
- package/dist/bindings/Llama.d.ts +2 -2
- package/dist/bindings/Llama.js +12 -3
- package/dist/bindings/Llama.js.map +1 -1
- package/dist/bindings/getLlama.d.ts +40 -2
- package/dist/bindings/getLlama.js +16 -7
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/bindings/types.d.ts +1 -0
- package/dist/bindings/types.js.map +1 -1
- package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +1 -1
- package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +1 -1
- package/dist/bindings/utils/getLlamaWithoutBackend.js +1 -1
- package/dist/bindings/utils/getLlamaWithoutBackend.js.map +1 -1
- package/dist/chatWrappers/QwenChatWrapper.js +5 -3
- package/dist/chatWrappers/QwenChatWrapper.js.map +1 -1
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
- package/dist/chatWrappers/generic/utils/extractFunctionCallSettingsFromJinjaTemplate.js +80 -5
- package/dist/chatWrappers/generic/utils/extractFunctionCallSettingsFromJinjaTemplate.js.map +1 -1
- package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js +25 -0
- package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js.map +1 -1
- package/dist/cli/commands/ChatCommand.js +1 -2
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +23 -3
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +23 -2
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/evaluator/LlamaChat/LlamaChat.js +28 -15
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
- package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js +1 -1
- package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +2 -2
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.d.ts +2 -0
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js +7 -2
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +5 -5
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -1
- package/dist/evaluator/LlamaCompletion.js +2 -2
- package/dist/evaluator/LlamaCompletion.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.js +17 -17
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js +5 -5
- package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js.map +1 -1
- package/dist/evaluator/LlamaEmbeddingContext.js +1 -1
- package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
- package/dist/evaluator/LlamaJsonSchemaGrammar.d.ts +3 -3
- package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -1
- package/dist/evaluator/LlamaModel/LlamaModel.js +3 -3
- package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
- package/dist/evaluator/LlamaRankingContext.js +1 -1
- package/dist/evaluator/LlamaRankingContext.js.map +1 -1
- package/dist/gguf/fileReaders/GgufFsFileReader.js +1 -1
- package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -1
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +1 -1
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -1
- package/dist/gguf/types/GgufMetadataTypes.d.ts +7 -1
- package/dist/gguf/types/GgufMetadataTypes.js +6 -0
- package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/utils/LruCache.d.ts +1 -1
- package/dist/utils/ReplHistory.js +1 -1
- package/dist/utils/ReplHistory.js.map +1 -1
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +9 -1
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +18 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
- package/dist/utils/gbnfJson/GbnfTerminal.d.ts +2 -1
- package/dist/utils/gbnfJson/GbnfTerminal.js +17 -2
- package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
- package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js +1 -1
- package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfGrammar.d.ts +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfGrammar.js +2 -2
- package/dist/utils/gbnfJson/terminals/GbnfGrammar.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfNumberValue.d.ts +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfNumberValue.js +2 -2
- package/dist/utils/gbnfJson/terminals/GbnfNumberValue.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfOr.d.ts +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfOr.js +2 -2
- package/dist/utils/gbnfJson/terminals/GbnfOr.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfRef.d.ts +15 -0
- package/dist/utils/gbnfJson/terminals/GbnfRef.js +34 -0
- package/dist/utils/gbnfJson/terminals/GbnfRef.js.map +1 -0
- package/dist/utils/gbnfJson/types.d.ts +51 -29
- package/dist/utils/gbnfJson/types.js +3 -0
- package/dist/utils/gbnfJson/types.js.map +1 -1
- package/dist/utils/gbnfJson/utils/defsScope.d.ts +7 -0
- package/dist/utils/gbnfJson/utils/defsScope.js +17 -0
- package/dist/utils/gbnfJson/utils/defsScope.js.map +1 -0
- package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.d.ts +1 -1
- package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js +50 -8
- package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js +43 -14
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
- package/dist/utils/getBuildDefaults.d.ts +1 -1
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +51 -8
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/isLockfileActive.js +2 -2
- package/dist/utils/isLockfileActive.js.map +1 -1
- package/dist/utils/utilTypes.d.ts +10 -0
- package/dist/utils/waitForLockfileRelease.js +3 -3
- package/dist/utils/waitForLockfileRelease.js.map +1 -1
- package/dist/utils/withLockfile.js +1 -1
- package/dist/utils/withLockfile.js.map +1 -1
- package/llama/addon/AddonContext.cpp +5 -5
- package/llama/addon/addon.cpp +31 -0
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/llama.cpp.info.json +1 -1
- package/package.json +16 -16
- package/templates/packed/electron-typescript-react.json +1 -1
|
@@ -587,7 +587,7 @@ Napi::Value AddonContext::DisposeSequence(const Napi::CallbackInfo& info) {
|
|
|
587
587
|
|
|
588
588
|
int32_t sequenceId = info[0].As<Napi::Number>().Int32Value();
|
|
589
589
|
|
|
590
|
-
bool result =
|
|
590
|
+
bool result = llama_memory_seq_rm(llama_get_memory(ctx), sequenceId, -1, -1);
|
|
591
591
|
|
|
592
592
|
if (!result) {
|
|
593
593
|
Napi::Error::New(info.Env(), "Failed to dispose sequence").ThrowAsJavaScriptException();
|
|
@@ -606,7 +606,7 @@ Napi::Value AddonContext::RemoveTokenCellsFromSequence(const Napi::CallbackInfo&
|
|
|
606
606
|
int32_t startPos = info[1].As<Napi::Number>().Int32Value();
|
|
607
607
|
int32_t endPos = info[2].As<Napi::Number>().Int32Value();
|
|
608
608
|
|
|
609
|
-
bool result =
|
|
609
|
+
bool result = llama_memory_seq_rm(llama_get_memory(ctx), sequenceId, startPos, endPos);
|
|
610
610
|
|
|
611
611
|
return Napi::Boolean::New(info.Env(), result);
|
|
612
612
|
}
|
|
@@ -621,7 +621,7 @@ Napi::Value AddonContext::ShiftSequenceTokenCells(const Napi::CallbackInfo& info
|
|
|
621
621
|
int32_t endPos = info[2].As<Napi::Number>().Int32Value();
|
|
622
622
|
int32_t shiftDelta = info[3].As<Napi::Number>().Int32Value();
|
|
623
623
|
|
|
624
|
-
|
|
624
|
+
llama_memory_seq_add(llama_get_memory(ctx), sequenceId, startPos, endPos, shiftDelta);
|
|
625
625
|
|
|
626
626
|
return info.Env().Undefined();
|
|
627
627
|
}
|
|
@@ -634,7 +634,7 @@ Napi::Value AddonContext::GetSequenceKvCacheMinPosition(const Napi::CallbackInfo
|
|
|
634
634
|
int32_t sequenceId = info[0].As<Napi::Number>().Int32Value();
|
|
635
635
|
|
|
636
636
|
|
|
637
|
-
const auto minPosition =
|
|
637
|
+
const auto minPosition = llama_memory_seq_pos_min(llama_get_memory(ctx), sequenceId);
|
|
638
638
|
|
|
639
639
|
return Napi::Number::New(info.Env(), minPosition);
|
|
640
640
|
}
|
|
@@ -647,7 +647,7 @@ Napi::Value AddonContext::GetSequenceKvCacheMaxPosition(const Napi::CallbackInfo
|
|
|
647
647
|
int32_t sequenceId = info[0].As<Napi::Number>().Int32Value();
|
|
648
648
|
|
|
649
649
|
|
|
650
|
-
const auto maxPosition =
|
|
650
|
+
const auto maxPosition = llama_memory_seq_pos_max(llama_get_memory(ctx), sequenceId);
|
|
651
651
|
|
|
652
652
|
return Napi::Number::New(info.Env(), maxPosition);
|
|
653
653
|
}
|
package/llama/addon/addon.cpp
CHANGED
|
@@ -196,6 +196,36 @@ Napi::Value addonLoadBackends(const Napi::CallbackInfo& info) {
|
|
|
196
196
|
return info.Env().Undefined();
|
|
197
197
|
}
|
|
198
198
|
|
|
199
|
+
Napi::Value addonSetNuma(const Napi::CallbackInfo& info) {
|
|
200
|
+
const bool numaDisabled = info.Length() == 0
|
|
201
|
+
? true
|
|
202
|
+
: info[0].IsBoolean()
|
|
203
|
+
? !info[0].As<Napi::Boolean>().Value()
|
|
204
|
+
: false;
|
|
205
|
+
|
|
206
|
+
if (numaDisabled)
|
|
207
|
+
return info.Env().Undefined();
|
|
208
|
+
|
|
209
|
+
const auto numaType = info[0].IsString()
|
|
210
|
+
? info[0].As<Napi::String>().Utf8Value()
|
|
211
|
+
: "";
|
|
212
|
+
|
|
213
|
+
if (numaType == "distribute") {
|
|
214
|
+
llama_numa_init(GGML_NUMA_STRATEGY_DISTRIBUTE);
|
|
215
|
+
} else if (numaType == "isolate") {
|
|
216
|
+
llama_numa_init(GGML_NUMA_STRATEGY_ISOLATE);
|
|
217
|
+
} else if (numaType == "numactl") {
|
|
218
|
+
llama_numa_init(GGML_NUMA_STRATEGY_NUMACTL);
|
|
219
|
+
} else if (numaType == "mirror") {
|
|
220
|
+
llama_numa_init(GGML_NUMA_STRATEGY_MIRROR);
|
|
221
|
+
} else {
|
|
222
|
+
Napi::Error::New(info.Env(), std::string("Invalid NUMA strategy \"") + numaType + "\"").ThrowAsJavaScriptException();
|
|
223
|
+
return info.Env().Undefined();
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return info.Env().Undefined();
|
|
227
|
+
}
|
|
228
|
+
|
|
199
229
|
Napi::Value addonInit(const Napi::CallbackInfo& info) {
|
|
200
230
|
if (backendInitialized) {
|
|
201
231
|
Napi::Promise::Deferred deferred = Napi::Promise::Deferred::New(info.Env());
|
|
@@ -255,6 +285,7 @@ Napi::Object registerCallback(Napi::Env env, Napi::Object exports) {
|
|
|
255
285
|
Napi::PropertyDescriptor::Function("getSwapInfo", getSwapInfo),
|
|
256
286
|
Napi::PropertyDescriptor::Function("getMemoryInfo", getMemoryInfo),
|
|
257
287
|
Napi::PropertyDescriptor::Function("loadBackends", addonLoadBackends),
|
|
288
|
+
Napi::PropertyDescriptor::Function("setNuma", addonSetNuma),
|
|
258
289
|
Napi::PropertyDescriptor::Function("init", addonInit),
|
|
259
290
|
Napi::PropertyDescriptor::Function("dispose", addonDispose),
|
|
260
291
|
});
|
package/llama/gitRelease.bundle
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-llama-cpp",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.0",
|
|
4
4
|
"description": "Run AI models locally on your machine with node.js bindings for llama.cpp. Enforce a JSON schema on the model output on the generation level",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"@types/yargs": "^17.0.33",
|
|
158
158
|
"@vitest/coverage-v8": "^3.1.3",
|
|
159
159
|
"@vitest/ui": "^3.1.3",
|
|
160
|
-
"electron": "^
|
|
160
|
+
"electron": "^37.2.4",
|
|
161
161
|
"eslint": "^9.26.0",
|
|
162
162
|
"eslint-import-resolver-typescript": "^4.3.4",
|
|
163
163
|
"eslint-plugin-import": "^2.31.0",
|
|
@@ -178,12 +178,12 @@
|
|
|
178
178
|
"typescript-eslint": "^8.32.0",
|
|
179
179
|
"vite-node": "^3.1.3",
|
|
180
180
|
"vitepress": "^1.6.3",
|
|
181
|
-
"vitepress-plugin-llms": "
|
|
181
|
+
"vitepress-plugin-llms": "^1.7.2",
|
|
182
182
|
"vitest": "^3.1.3",
|
|
183
183
|
"zx": "^8.5.4"
|
|
184
184
|
},
|
|
185
185
|
"dependencies": {
|
|
186
|
-
"@huggingface/jinja": "^0.5.
|
|
186
|
+
"@huggingface/jinja": "^0.5.1",
|
|
187
187
|
"async-retry": "^1.3.3",
|
|
188
188
|
"bytes": "^3.1.2",
|
|
189
189
|
"chalk": "^5.4.1",
|
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
"ignore": "^7.0.4",
|
|
198
198
|
"ipull": "^3.9.2",
|
|
199
199
|
"is-unicode-supported": "^2.1.0",
|
|
200
|
-
"lifecycle-utils": "^
|
|
200
|
+
"lifecycle-utils": "^3.0.1",
|
|
201
201
|
"log-symbols": "^7.0.0",
|
|
202
202
|
"nanoid": "^5.1.5",
|
|
203
203
|
"node-addon-api": "^8.3.1",
|
|
@@ -223,16 +223,16 @@
|
|
|
223
223
|
}
|
|
224
224
|
},
|
|
225
225
|
"optionalDependencies": {
|
|
226
|
-
"@node-llama-cpp/linux-arm64": "3.
|
|
227
|
-
"@node-llama-cpp/linux-armv7l": "3.
|
|
228
|
-
"@node-llama-cpp/linux-x64": "3.
|
|
229
|
-
"@node-llama-cpp/linux-x64-cuda": "3.
|
|
230
|
-
"@node-llama-cpp/linux-x64-vulkan": "3.
|
|
231
|
-
"@node-llama-cpp/mac-arm64-metal": "3.
|
|
232
|
-
"@node-llama-cpp/mac-x64": "3.
|
|
233
|
-
"@node-llama-cpp/win-arm64": "3.
|
|
234
|
-
"@node-llama-cpp/win-x64": "3.
|
|
235
|
-
"@node-llama-cpp/win-x64-cuda": "3.
|
|
236
|
-
"@node-llama-cpp/win-x64-vulkan": "3.
|
|
226
|
+
"@node-llama-cpp/linux-arm64": "3.11.0",
|
|
227
|
+
"@node-llama-cpp/linux-armv7l": "3.11.0",
|
|
228
|
+
"@node-llama-cpp/linux-x64": "3.11.0",
|
|
229
|
+
"@node-llama-cpp/linux-x64-cuda": "3.11.0",
|
|
230
|
+
"@node-llama-cpp/linux-x64-vulkan": "3.11.0",
|
|
231
|
+
"@node-llama-cpp/mac-arm64-metal": "3.11.0",
|
|
232
|
+
"@node-llama-cpp/mac-x64": "3.11.0",
|
|
233
|
+
"@node-llama-cpp/win-arm64": "3.11.0",
|
|
234
|
+
"@node-llama-cpp/win-x64": "3.11.0",
|
|
235
|
+
"@node-llama-cpp/win-x64-cuda": "3.11.0",
|
|
236
|
+
"@node-llama-cpp/win-x64-vulkan": "3.11.0"
|
|
237
237
|
}
|
|
238
238
|
}
|