node-llama-cpp 3.0.0-beta.37 → 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 +5 -6
- 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/generic/JinjaTemplateChatWrapper.d.ts +9 -0
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
- 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 +5 -5
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.js +5 -3
- package/dist/cli/commands/CompleteCommand.js.map +1 -1
- package/dist/cli/commands/InfillCommand.js +5 -3
- 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/cli/utils/interactivelyAskForModel.d.ts +2 -1
- package/dist/cli/utils/interactivelyAskForModel.js +19 -9
- package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
- package/dist/cli/utils/resolveCommandGgufPath.d.ts +2 -1
- package/dist/cli/utils/resolveCommandGgufPath.js +3 -2
- package/dist/cli/utils/resolveCommandGgufPath.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 -2014
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "llama.h"
|
|
3
|
+
#include "napi.h"
|
|
4
|
+
#include "addonGlobals.h"
|
|
5
|
+
|
|
6
|
+
class AddonContext : public Napi::ObjectWrap<AddonContext> {
|
|
7
|
+
public:
|
|
8
|
+
AddonModel* model;
|
|
9
|
+
llama_context_params context_params;
|
|
10
|
+
llama_context* ctx;
|
|
11
|
+
llama_batch batch;
|
|
12
|
+
uint64_t batchMemorySize;
|
|
13
|
+
bool has_batch;
|
|
14
|
+
int32_t batch_n_tokens;
|
|
15
|
+
int n_cur;
|
|
16
|
+
|
|
17
|
+
uint64_t loadedContextMemorySize;
|
|
18
|
+
bool contextLoaded;
|
|
19
|
+
|
|
20
|
+
bool disposed;
|
|
21
|
+
|
|
22
|
+
AddonContext(const Napi::CallbackInfo& info);
|
|
23
|
+
~AddonContext();
|
|
24
|
+
|
|
25
|
+
void dispose();
|
|
26
|
+
void disposeBatch();
|
|
27
|
+
|
|
28
|
+
Napi::Value Init(const Napi::CallbackInfo& info);
|
|
29
|
+
Napi::Value Dispose(const Napi::CallbackInfo& info);
|
|
30
|
+
|
|
31
|
+
Napi::Value GetContextSize(const Napi::CallbackInfo& info);
|
|
32
|
+
Napi::Value InitBatch(const Napi::CallbackInfo& info);
|
|
33
|
+
Napi::Value DisposeBatch(const Napi::CallbackInfo& info);
|
|
34
|
+
Napi::Value AddToBatch(const Napi::CallbackInfo& info);
|
|
35
|
+
Napi::Value DisposeSequence(const Napi::CallbackInfo& info);
|
|
36
|
+
Napi::Value RemoveTokenCellsFromSequence(const Napi::CallbackInfo& info);
|
|
37
|
+
Napi::Value ShiftSequenceTokenCells(const Napi::CallbackInfo& info);
|
|
38
|
+
Napi::Value DecodeBatch(const Napi::CallbackInfo& info);
|
|
39
|
+
Napi::Value SampleToken(const Napi::CallbackInfo& info);
|
|
40
|
+
|
|
41
|
+
Napi::Value AcceptGrammarEvaluationStateToken(const Napi::CallbackInfo& info);
|
|
42
|
+
|
|
43
|
+
Napi::Value CanBeNextTokenForGrammarEvaluationState(const Napi::CallbackInfo& info);
|
|
44
|
+
|
|
45
|
+
Napi::Value GetEmbedding(const Napi::CallbackInfo& info);
|
|
46
|
+
Napi::Value GetStateSize(const Napi::CallbackInfo& info);
|
|
47
|
+
|
|
48
|
+
Napi::Value PrintTimings(const Napi::CallbackInfo& info);
|
|
49
|
+
|
|
50
|
+
Napi::Value SetLora(const Napi::CallbackInfo& info);
|
|
51
|
+
|
|
52
|
+
static void init(Napi::Object exports);
|
|
53
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#include "addonGlobals.h"
|
|
2
|
+
#include "AddonGrammar.h"
|
|
3
|
+
|
|
4
|
+
AddonGrammar::AddonGrammar(const Napi::CallbackInfo& info) : Napi::ObjectWrap<AddonGrammar>(info) {
|
|
5
|
+
hasAddonExportsRef = false;
|
|
6
|
+
|
|
7
|
+
// Get the model path
|
|
8
|
+
std::string grammarCode = info[0].As<Napi::String>().Utf8Value();
|
|
9
|
+
bool should_print_grammar = false;
|
|
10
|
+
|
|
11
|
+
if (info.Length() > 1 && info[1].IsObject()) {
|
|
12
|
+
Napi::Object options = info[1].As<Napi::Object>();
|
|
13
|
+
|
|
14
|
+
if (options.Has("addonExports")) {
|
|
15
|
+
addonExportsRef = Napi::Persistent(options.Get("addonExports").As<Napi::Object>());
|
|
16
|
+
hasAddonExportsRef = true;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (options.Has("debugPrintGrammar")) {
|
|
20
|
+
should_print_grammar = options.Get("debugPrintGrammar").As<Napi::Boolean>().Value();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
parsed_grammar = grammar_parser::parse(grammarCode.c_str());
|
|
25
|
+
// will be empty (default) if there are parse errors
|
|
26
|
+
if (parsed_grammar.rules.empty()) {
|
|
27
|
+
Napi::Error::New(info.Env(), "Failed to parse grammar").ThrowAsJavaScriptException();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (should_print_grammar) {
|
|
32
|
+
grammar_parser::print_grammar(stderr, parsed_grammar);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
AddonGrammar::~AddonGrammar() {
|
|
36
|
+
if (hasAddonExportsRef) {
|
|
37
|
+
addonExportsRef.Unref();
|
|
38
|
+
hasAddonExportsRef = false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
void AddonGrammar::init(Napi::Object exports) {
|
|
43
|
+
exports.Set("AddonGrammar", DefineClass(exports.Env(), "AddonGrammar", {}));
|
|
44
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "llama.h"
|
|
3
|
+
#include "common.h"
|
|
4
|
+
#include "common/grammar-parser.h"
|
|
5
|
+
#include "napi.h"
|
|
6
|
+
#include "addonGlobals.h"
|
|
7
|
+
|
|
8
|
+
class AddonGrammar : public Napi::ObjectWrap<AddonGrammar> {
|
|
9
|
+
public:
|
|
10
|
+
grammar_parser::parse_state parsed_grammar;
|
|
11
|
+
Napi::Reference<Napi::Object> addonExportsRef;
|
|
12
|
+
bool hasAddonExportsRef;
|
|
13
|
+
|
|
14
|
+
AddonGrammar(const Napi::CallbackInfo& info);
|
|
15
|
+
~AddonGrammar();
|
|
16
|
+
|
|
17
|
+
static void init(Napi::Object exports);
|
|
18
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#include <sstream>
|
|
2
|
+
#include "addonGlobals.h"
|
|
3
|
+
#include "common.h"
|
|
4
|
+
#include "llama.h"
|
|
5
|
+
#include "AddonGrammarEvaluationState.h"
|
|
6
|
+
#include "AddonGrammar.h"
|
|
7
|
+
|
|
8
|
+
AddonGrammarEvaluationState::AddonGrammarEvaluationState(const Napi::CallbackInfo& info) : Napi::ObjectWrap<AddonGrammarEvaluationState>(info) {
|
|
9
|
+
grammar = nullptr;
|
|
10
|
+
|
|
11
|
+
grammarDef = Napi::ObjectWrap<AddonGrammar>::Unwrap(info[0].As<Napi::Object>());
|
|
12
|
+
grammarDef->Ref();
|
|
13
|
+
|
|
14
|
+
std::vector<const llama_grammar_element*> grammar_rules(grammarDef->parsed_grammar.c_rules());
|
|
15
|
+
grammar = llama_grammar_init(grammar_rules.data(), grammar_rules.size(), grammarDef->parsed_grammar.symbol_ids.at("root"));
|
|
16
|
+
}
|
|
17
|
+
AddonGrammarEvaluationState::~AddonGrammarEvaluationState() {
|
|
18
|
+
grammarDef->Unref();
|
|
19
|
+
|
|
20
|
+
if (grammar != nullptr) {
|
|
21
|
+
llama_grammar_free(grammar);
|
|
22
|
+
grammar = nullptr;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
void AddonGrammarEvaluationState::init(Napi::Object exports) {
|
|
27
|
+
exports.Set("AddonGrammarEvaluationState", DefineClass(exports.Env(), "AddonGrammarEvaluationState", {}));
|
|
28
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "llama.h"
|
|
3
|
+
#include "napi.h"
|
|
4
|
+
#include "addonGlobals.h"
|
|
5
|
+
|
|
6
|
+
class AddonGrammarEvaluationState : public Napi::ObjectWrap<AddonGrammarEvaluationState> {
|
|
7
|
+
public:
|
|
8
|
+
AddonGrammar* grammarDef;
|
|
9
|
+
llama_grammar* grammar;
|
|
10
|
+
|
|
11
|
+
AddonGrammarEvaluationState(const Napi::CallbackInfo& info);
|
|
12
|
+
~AddonGrammarEvaluationState();
|
|
13
|
+
|
|
14
|
+
static void init(Napi::Object exports);
|
|
15
|
+
};
|