node-llama-cpp 3.4.0 → 3.4.2
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 +1 -1
- package/dist/bindings/utils/compileLLamaCpp.js +8 -1
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
- package/dist/cli/commands/ChatCommand.js +3 -2
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/recommendedModels.js +11 -1
- package/dist/cli/recommendedModels.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.js +8 -0
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaRankingContext.js +11 -12
- package/dist/evaluator/LlamaRankingContext.js.map +1 -1
- package/dist/gguf/fileReaders/GgufFileReader.js +1 -4
- package/dist/gguf/fileReaders/GgufFileReader.js.map +1 -1
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +1 -1
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -1
- package/llama/addon/AddonContext.cpp +17 -15
- package/llama/addon/AddonGrammarEvaluationState.cpp +1 -1
- package/llama/addon/AddonModel.cpp +26 -30
- package/llama/addon/AddonModel.h +1 -0
- package/llama/addon/AddonModelLora.cpp +2 -2
- package/llama/addon/AddonModelLora.h +1 -1
- package/llama/addon/AddonSampler.cpp +6 -6
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/cmake/win32.programFilesPaths.cmake +6 -2
- package/llama/gitRelease.bundle +0 -0
- package/llama/llama.cpp.info.json +1 -1
- package/package.json +16 -13
- package/templates/README.md +1 -1
|
@@ -30,10 +30,9 @@ export class LlamaRankingContext {
|
|
|
30
30
|
throw new Error("Computing rankings is not supported for this model.");
|
|
31
31
|
const resolvedInput = this._getEvaluationInput(query, document);
|
|
32
32
|
if (resolvedInput.length > this._llamaContext.contextSize)
|
|
33
|
-
throw new Error("
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return -Infinity;
|
|
33
|
+
throw new Error("The input length exceed the context size. " +
|
|
34
|
+
`Try to increase the context size to at least ${resolvedInput.length + 1} ` +
|
|
35
|
+
"or use another model that supports longer contexts.");
|
|
37
36
|
return this._evaluateRankingForInput(resolvedInput);
|
|
38
37
|
}
|
|
39
38
|
/**
|
|
@@ -44,16 +43,14 @@ export class LlamaRankingContext {
|
|
|
44
43
|
*/
|
|
45
44
|
async rankAll(query, documents) {
|
|
46
45
|
const resolvedTokens = documents.map((document) => this._getEvaluationInput(query, document));
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
const maxInputTokensLength = resolvedTokens.reduce((max, tokens) => Math.max(max, tokens.length), 0);
|
|
47
|
+
if (maxInputTokensLength > this._llamaContext.contextSize)
|
|
48
|
+
throw new Error("The input lengths of some of the given documents exceed the context size. " +
|
|
49
|
+
`Try to increase the context size to at least ${maxInputTokensLength + 1} ` +
|
|
50
|
+
"or use another model that supports longer contexts.");
|
|
50
51
|
else if (resolvedTokens.length === 0)
|
|
51
52
|
return [];
|
|
52
|
-
return await Promise.all(resolvedTokens.map((tokens) =>
|
|
53
|
-
if (tokens.length === 0)
|
|
54
|
-
return -Infinity;
|
|
55
|
-
return this._evaluateRankingForInput(tokens);
|
|
56
|
-
}));
|
|
53
|
+
return await Promise.all(resolvedTokens.map((tokens) => this._evaluateRankingForInput(tokens)));
|
|
57
54
|
}
|
|
58
55
|
/**
|
|
59
56
|
* Get the ranking scores for all the given documents for a query and sort them by score from highest to lowest.
|
|
@@ -99,6 +96,8 @@ export class LlamaRankingContext {
|
|
|
99
96
|
}
|
|
100
97
|
/** @internal */
|
|
101
98
|
_evaluateRankingForInput(input) {
|
|
99
|
+
if (input.length === 0)
|
|
100
|
+
return Promise.resolve(0);
|
|
102
101
|
return withLock(this, "evaluate", async () => {
|
|
103
102
|
await this._sequence.eraseContextTokenRanges([{
|
|
104
103
|
start: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaRankingContext.js","sourceRoot":"","sources":["../../src/evaluator/LlamaRankingContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAG7E,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AA4CxD;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC5B,gBAAgB,CAAkB,aAAa,CAAe;IAC9D,gBAAgB,CAAkB,SAAS,CAAuB;IAClE,gBAAgB,CAAkB,kBAAkB,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAEpE,SAAS,GAAG,IAAI,UAAU,EAAQ,CAAC;IAEnD,YAAoB,EAChB,aAAa,EAGhB;QACG,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QAElD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACvB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE;YAC7C,KAAK,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC3C,CAAC,CAAC,CACL,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,KAAmC,EAAE,QAAsC;QACzF,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI;YAC/F,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAE3E,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEhE,IAAI,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW;YACrD,MAAM,IAAI,KAAK,CACX,
|
|
1
|
+
{"version":3,"file":"LlamaRankingContext.js","sourceRoot":"","sources":["../../src/evaluator/LlamaRankingContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,10 +79,7 @@ export class GgufFileReader {
|
|
|
79
79
|
readStringWithLength(offset, length) {
|
|
80
80
|
const readLength = valueTypeToBytesToRead.uint8 * length;
|
|
81
81
|
return this._withBufferRead(offset, readLength, (resolvedOffset) => {
|
|
82
|
-
|
|
83
|
-
for (let i = resolvedOffset; i < resolvedOffset + readLength && i < this._buffer.length; i++)
|
|
84
|
-
res.push(String.fromCharCode(this._buffer[i]));
|
|
85
|
-
return res.join("");
|
|
82
|
+
return this._buffer.toString("utf8", resolvedOffset, Math.min(resolvedOffset + readLength, this._buffer.length));
|
|
86
83
|
});
|
|
87
84
|
}
|
|
88
85
|
_addToBuffer(buffer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GgufFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufFileReader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GgufFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufFileReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,7 +79,7 @@ export class GgufNetworkFetchFileReader extends GgufFileReader {
|
|
|
79
79
|
},
|
|
80
80
|
signal: this._signal
|
|
81
81
|
});
|
|
82
|
-
if ((response.status >= 500 || response.status === 429) && headersToTry.length > 0)
|
|
82
|
+
if ((response.status >= 500 || response.status === 429 || response.status === 401) && headersToTry.length > 0)
|
|
83
83
|
continue;
|
|
84
84
|
if (!response.ok)
|
|
85
85
|
throw new Error(`Failed to fetch byte range: ${response.status} ${response.statusText}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GgufNetworkFetchFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufNetworkFetchFileReader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GgufNetworkFetchFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufNetworkFetchFileReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,13 +105,13 @@ class AddonContextLoadContextWorker : public Napi::AsyncWorker {
|
|
|
105
105
|
|
|
106
106
|
void Execute() {
|
|
107
107
|
try {
|
|
108
|
-
context->ctx =
|
|
108
|
+
context->ctx = llama_init_from_model(context->model->model, context->context_params);
|
|
109
109
|
|
|
110
110
|
context->contextLoaded = context->ctx != nullptr && context->ctx != NULL;
|
|
111
111
|
} catch (const std::exception& e) {
|
|
112
112
|
SetError(e.what());
|
|
113
113
|
} catch(...) {
|
|
114
|
-
SetError("Unknown error when calling \"
|
|
114
|
+
SetError("Unknown error when calling \"llama_init_from_model\"");
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
void OnOK() {
|
|
@@ -252,7 +252,7 @@ class AddonContextSampleTokenWorker : public Napi::AsyncWorker {
|
|
|
252
252
|
sampler->rebuildChainIfNeeded();
|
|
253
253
|
|
|
254
254
|
const auto * logits = llama_get_logits_ith(ctx->ctx, batchLogitIndex);
|
|
255
|
-
const int n_vocab =
|
|
255
|
+
const int n_vocab = llama_vocab_n_tokens(ctx->model->vocab);
|
|
256
256
|
|
|
257
257
|
auto & candidates = sampler->tokenCandidates;
|
|
258
258
|
for (llama_token token_id = 0; token_id < n_vocab; token_id++) {
|
|
@@ -525,7 +525,7 @@ Napi::Value AddonContext::InitBatch(const Napi::CallbackInfo& info) {
|
|
|
525
525
|
has_batch = true;
|
|
526
526
|
batch_n_tokens = n_tokens;
|
|
527
527
|
|
|
528
|
-
uint64_t newBatchMemorySize = calculateBatchMemorySize(n_tokens,
|
|
528
|
+
uint64_t newBatchMemorySize = calculateBatchMemorySize(n_tokens, llama_model_n_embd(model->model), context_params.n_batch);
|
|
529
529
|
if (newBatchMemorySize > batchMemorySize) {
|
|
530
530
|
adjustNapiExternalMemoryAdd(Env(), newBatchMemorySize - batchMemorySize);
|
|
531
531
|
batchMemorySize = newBatchMemorySize;
|
|
@@ -645,7 +645,7 @@ Napi::Value AddonContext::GetEmbedding(const Napi::CallbackInfo& info) {
|
|
|
645
645
|
return info.Env().Undefined();
|
|
646
646
|
}
|
|
647
647
|
|
|
648
|
-
const int n_embd =
|
|
648
|
+
const int n_embd = llama_model_n_embd(model->model);
|
|
649
649
|
const enum llama_pooling_type pooling_type = llama_pooling_type(ctx);
|
|
650
650
|
const auto* embeddings = pooling_type == LLAMA_POOLING_TYPE_NONE ? NULL : llama_get_embeddings_seq(ctx, 0);
|
|
651
651
|
if (embeddings == NULL) {
|
|
@@ -716,23 +716,25 @@ Napi::Value AddonContext::EnsureDraftContextIsCompatibleForSpeculative(const Nap
|
|
|
716
716
|
const auto draftCtx = draftContext->ctx;
|
|
717
717
|
const auto currentModel = model->model;
|
|
718
718
|
const auto draftModel = draftContext->model->model;
|
|
719
|
+
const auto currentVocab = model->vocab;
|
|
720
|
+
const auto draftVocab = draftContext->model->vocab;
|
|
719
721
|
|
|
720
|
-
if (llama_vocab_type(
|
|
722
|
+
if (llama_vocab_type(currentVocab) != llama_vocab_type(draftVocab)) {
|
|
721
723
|
Napi::Error::New(info.Env(), "Speculative draft model vocabulary type must match the target model vocabulary type").ThrowAsJavaScriptException();
|
|
722
724
|
return info.Env().Undefined();
|
|
723
725
|
}
|
|
724
726
|
|
|
725
|
-
if (
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
727
|
+
if (llama_vocab_get_add_bos(currentVocab) != llama_vocab_get_add_bos(draftVocab) ||
|
|
728
|
+
llama_vocab_get_add_eos(currentVocab) != llama_vocab_get_add_eos(draftVocab) ||
|
|
729
|
+
llama_vocab_bos(currentVocab) != llama_vocab_bos(draftVocab) ||
|
|
730
|
+
llama_vocab_eos(currentVocab) != llama_vocab_eos(draftVocab)
|
|
729
731
|
) {
|
|
730
732
|
Napi::Error::New(info.Env(), "Speculative draft model special tokens must match the target model special tokens").ThrowAsJavaScriptException();
|
|
731
733
|
return info.Env().Undefined();
|
|
732
734
|
}
|
|
733
735
|
|
|
734
|
-
const int currentModelVocabSize =
|
|
735
|
-
const int draftModelVocabSize =
|
|
736
|
+
const int currentModelVocabSize = llama_vocab_n_tokens(currentVocab);
|
|
737
|
+
const int draftModelVocabSize = llama_vocab_n_tokens(draftVocab);
|
|
736
738
|
|
|
737
739
|
const int vocabDiff = std::abs(currentModelVocabSize - draftModelVocabSize);
|
|
738
740
|
|
|
@@ -747,8 +749,8 @@ Napi::Value AddonContext::EnsureDraftContextIsCompatibleForSpeculative(const Nap
|
|
|
747
749
|
|
|
748
750
|
const int minVocabSize = std::min(currentModelVocabSize, draftModelVocabSize);
|
|
749
751
|
for (int i = vocabCheckStartTokenId; i < minVocabSize; ++i) {
|
|
750
|
-
const char * currentTokenText =
|
|
751
|
-
const char * draftTokenText =
|
|
752
|
+
const char * currentTokenText = llama_vocab_get_text(currentVocab, i);
|
|
753
|
+
const char * draftTokenText = llama_vocab_get_text(draftVocab, i);
|
|
752
754
|
if (std::strcmp(currentTokenText, draftTokenText) != 0) {
|
|
753
755
|
Napi::Error::New(
|
|
754
756
|
info.Env(),
|
|
@@ -767,7 +769,7 @@ Napi::Value AddonContext::SetLora(const Napi::CallbackInfo& info) {
|
|
|
767
769
|
AddonModelLora* lora = Napi::ObjectWrap<AddonModelLora>::Unwrap(info[0].As<Napi::Object>());
|
|
768
770
|
float scale = info[1].As<Napi::Number>().FloatValue();
|
|
769
771
|
|
|
770
|
-
|
|
772
|
+
llama_set_adapter_lora(ctx, lora->lora_adapter, scale);
|
|
771
773
|
|
|
772
774
|
return info.Env().Undefined();
|
|
773
775
|
}
|
|
@@ -22,7 +22,7 @@ AddonGrammarEvaluationState::AddonGrammarEvaluationState(const Napi::CallbackInf
|
|
|
22
22
|
grammarDef = Napi::ObjectWrap<AddonGrammar>::Unwrap(info[1].As<Napi::Object>());
|
|
23
23
|
grammarDef->Ref();
|
|
24
24
|
|
|
25
|
-
sampler = llama_sampler_init_grammar(model->
|
|
25
|
+
sampler = llama_sampler_init_grammar(model->vocab, grammarDef->grammarCode.c_str(), grammarDef->rootRuleName.c_str());
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
AddonGrammarEvaluationState::~AddonGrammarEvaluationState() {
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
#include "AddonModelData.h"
|
|
9
9
|
#include "AddonModelLora.h"
|
|
10
10
|
|
|
11
|
-
static Napi::Value getNapiToken(const Napi::CallbackInfo& info,
|
|
11
|
+
static Napi::Value getNapiToken(const Napi::CallbackInfo& info, const llama_vocab* vocab, llama_token token) {
|
|
12
12
|
if (token < 0 || token == LLAMA_TOKEN_NULL) {
|
|
13
13
|
return Napi::Number::From(info.Env(), -1);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
auto tokenAttributes =
|
|
16
|
+
auto tokenAttributes = llama_vocab_get_attr(vocab, token);
|
|
17
17
|
|
|
18
18
|
if (tokenAttributes & LLAMA_TOKEN_ATTR_UNDEFINED || tokenAttributes & LLAMA_TOKEN_ATTR_UNKNOWN) {
|
|
19
19
|
return Napi::Number::From(info.Env(), -1);
|
|
@@ -22,12 +22,12 @@ static Napi::Value getNapiToken(const Napi::CallbackInfo& info, llama_model* mod
|
|
|
22
22
|
return Napi::Number::From(info.Env(), token);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
static Napi::Value getNapiControlToken(const Napi::CallbackInfo& info,
|
|
25
|
+
static Napi::Value getNapiControlToken(const Napi::CallbackInfo& info, const llama_vocab* vocab, llama_token token) {
|
|
26
26
|
if (token < 0) {
|
|
27
27
|
return Napi::Number::From(info.Env(), -1);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
auto tokenAttributes =
|
|
30
|
+
auto tokenAttributes = llama_vocab_get_attr(vocab, token);
|
|
31
31
|
|
|
32
32
|
if (!(tokenAttributes & LLAMA_TOKEN_ATTR_CONTROL) && !(tokenAttributes & LLAMA_TOKEN_ATTR_UNDEFINED)) {
|
|
33
33
|
return Napi::Number::From(info.Env(), -1);
|
|
@@ -93,6 +93,7 @@ class AddonModelLoadModelWorker : public Napi::AsyncWorker {
|
|
|
93
93
|
void Execute() {
|
|
94
94
|
try {
|
|
95
95
|
model->model = llama_model_load_from_file(model->modelPath.c_str(), model->model_params);
|
|
96
|
+
model->vocab = llama_model_get_vocab(model->model);
|
|
96
97
|
|
|
97
98
|
model->modelLoaded = model->model != nullptr && model->model != NULL;
|
|
98
99
|
} catch (const std::exception& e) {
|
|
@@ -190,7 +191,7 @@ class AddonModelLoadLoraWorker : public Napi::AsyncWorker {
|
|
|
190
191
|
|
|
191
192
|
void Execute() {
|
|
192
193
|
try {
|
|
193
|
-
const auto loraAdapter =
|
|
194
|
+
const auto loraAdapter = llama_adapter_lora_init(modelLora->model->model, modelLora->loraFilePath.c_str());
|
|
194
195
|
|
|
195
196
|
if (loraAdapter == nullptr) {
|
|
196
197
|
SetError(
|
|
@@ -213,7 +214,7 @@ class AddonModelLoadLoraWorker : public Napi::AsyncWorker {
|
|
|
213
214
|
} catch (const std::exception& e) {
|
|
214
215
|
SetError(e.what());
|
|
215
216
|
} catch(...) {
|
|
216
|
-
SetError("Unknown error when calling \"
|
|
217
|
+
SetError("Unknown error when calling \"llama_adapter_lora_init\"");
|
|
217
218
|
}
|
|
218
219
|
}
|
|
219
220
|
void OnOK() {
|
|
@@ -426,7 +427,7 @@ Napi::Value AddonModel::Tokenize(const Napi::CallbackInfo& info) {
|
|
|
426
427
|
std::string text = info[0].As<Napi::String>().Utf8Value();
|
|
427
428
|
bool specialTokens = info[1].As<Napi::Boolean>().Value();
|
|
428
429
|
|
|
429
|
-
std::vector<llama_token> tokens = common_tokenize(
|
|
430
|
+
std::vector<llama_token> tokens = common_tokenize(vocab, text, false, specialTokens);
|
|
430
431
|
|
|
431
432
|
Napi::Uint32Array result = Napi::Uint32Array::New(info.Env(), tokens.size());
|
|
432
433
|
for (size_t i = 0; i < tokens.size(); ++i) {
|
|
@@ -449,10 +450,10 @@ Napi::Value AddonModel::Detokenize(const Napi::CallbackInfo& info) {
|
|
|
449
450
|
std::string result;
|
|
450
451
|
result.resize(std::max(result.capacity(), tokens.ElementLength()));
|
|
451
452
|
|
|
452
|
-
int n_chars = llama_detokenize(
|
|
453
|
+
int n_chars = llama_detokenize(vocab, (llama_token*)tokens.Data(), tokens.ElementLength(), &result[0], result.size(), false, decodeSpecialTokens);
|
|
453
454
|
if (n_chars < 0) {
|
|
454
455
|
result.resize(-n_chars);
|
|
455
|
-
n_chars = llama_detokenize(
|
|
456
|
+
n_chars = llama_detokenize(vocab, (llama_token*)tokens.Data(), tokens.ElementLength(), &result[0], result.size(), false, decodeSpecialTokens);
|
|
456
457
|
GGML_ASSERT(n_chars <= result.size()); // whitespace trimming is performed after per-token detokenization
|
|
457
458
|
}
|
|
458
459
|
|
|
@@ -467,7 +468,7 @@ Napi::Value AddonModel::GetTrainContextSize(const Napi::CallbackInfo& info) {
|
|
|
467
468
|
return info.Env().Undefined();
|
|
468
469
|
}
|
|
469
470
|
|
|
470
|
-
return Napi::Number::From(info.Env(),
|
|
471
|
+
return Napi::Number::From(info.Env(), llama_model_n_ctx_train(model));
|
|
471
472
|
}
|
|
472
473
|
|
|
473
474
|
Napi::Value AddonModel::GetEmbeddingVectorSize(const Napi::CallbackInfo& info) {
|
|
@@ -476,7 +477,7 @@ Napi::Value AddonModel::GetEmbeddingVectorSize(const Napi::CallbackInfo& info) {
|
|
|
476
477
|
return info.Env().Undefined();
|
|
477
478
|
}
|
|
478
479
|
|
|
479
|
-
return Napi::Number::From(info.Env(),
|
|
480
|
+
return Napi::Number::From(info.Env(), llama_model_n_embd(model));
|
|
480
481
|
}
|
|
481
482
|
|
|
482
483
|
Napi::Value AddonModel::GetTotalSize(const Napi::CallbackInfo& info) {
|
|
@@ -515,12 +516,7 @@ Napi::Value AddonModel::TokenBos(const Napi::CallbackInfo& info) {
|
|
|
515
516
|
return info.Env().Undefined();
|
|
516
517
|
}
|
|
517
518
|
|
|
518
|
-
|
|
519
|
-
if (token == LLAMA_TOKEN_NULL) {
|
|
520
|
-
token = llama_token_cls(model);
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
return getNapiControlToken(info, model, token);
|
|
519
|
+
return getNapiControlToken(info, vocab, llama_vocab_bos(vocab));
|
|
524
520
|
}
|
|
525
521
|
Napi::Value AddonModel::TokenEos(const Napi::CallbackInfo& info) {
|
|
526
522
|
if (disposed) {
|
|
@@ -528,7 +524,7 @@ Napi::Value AddonModel::TokenEos(const Napi::CallbackInfo& info) {
|
|
|
528
524
|
return info.Env().Undefined();
|
|
529
525
|
}
|
|
530
526
|
|
|
531
|
-
return getNapiControlToken(info,
|
|
527
|
+
return getNapiControlToken(info, vocab, llama_vocab_eos(vocab));
|
|
532
528
|
}
|
|
533
529
|
Napi::Value AddonModel::TokenNl(const Napi::CallbackInfo& info) {
|
|
534
530
|
if (disposed) {
|
|
@@ -536,7 +532,7 @@ Napi::Value AddonModel::TokenNl(const Napi::CallbackInfo& info) {
|
|
|
536
532
|
return info.Env().Undefined();
|
|
537
533
|
}
|
|
538
534
|
|
|
539
|
-
return getNapiToken(info,
|
|
535
|
+
return getNapiToken(info, vocab, llama_vocab_nl(vocab));
|
|
540
536
|
}
|
|
541
537
|
Napi::Value AddonModel::PrefixToken(const Napi::CallbackInfo& info) {
|
|
542
538
|
if (disposed) {
|
|
@@ -544,7 +540,7 @@ Napi::Value AddonModel::PrefixToken(const Napi::CallbackInfo& info) {
|
|
|
544
540
|
return info.Env().Undefined();
|
|
545
541
|
}
|
|
546
542
|
|
|
547
|
-
return getNapiToken(info,
|
|
543
|
+
return getNapiToken(info, vocab, llama_vocab_fim_pre(vocab));
|
|
548
544
|
}
|
|
549
545
|
Napi::Value AddonModel::MiddleToken(const Napi::CallbackInfo& info) {
|
|
550
546
|
if (disposed) {
|
|
@@ -552,7 +548,7 @@ Napi::Value AddonModel::MiddleToken(const Napi::CallbackInfo& info) {
|
|
|
552
548
|
return info.Env().Undefined();
|
|
553
549
|
}
|
|
554
550
|
|
|
555
|
-
return getNapiToken(info,
|
|
551
|
+
return getNapiToken(info, vocab, llama_vocab_fim_mid(vocab));
|
|
556
552
|
}
|
|
557
553
|
Napi::Value AddonModel::SuffixToken(const Napi::CallbackInfo& info) {
|
|
558
554
|
if (disposed) {
|
|
@@ -560,7 +556,7 @@ Napi::Value AddonModel::SuffixToken(const Napi::CallbackInfo& info) {
|
|
|
560
556
|
return info.Env().Undefined();
|
|
561
557
|
}
|
|
562
558
|
|
|
563
|
-
return getNapiToken(info,
|
|
559
|
+
return getNapiToken(info, vocab, llama_vocab_fim_suf(vocab));
|
|
564
560
|
}
|
|
565
561
|
Napi::Value AddonModel::EotToken(const Napi::CallbackInfo& info) {
|
|
566
562
|
if (disposed) {
|
|
@@ -568,7 +564,7 @@ Napi::Value AddonModel::EotToken(const Napi::CallbackInfo& info) {
|
|
|
568
564
|
return info.Env().Undefined();
|
|
569
565
|
}
|
|
570
566
|
|
|
571
|
-
return getNapiToken(info,
|
|
567
|
+
return getNapiToken(info, vocab, llama_vocab_eot(vocab));
|
|
572
568
|
}
|
|
573
569
|
Napi::Value AddonModel::SepToken(const Napi::CallbackInfo& info) {
|
|
574
570
|
if (disposed) {
|
|
@@ -576,7 +572,7 @@ Napi::Value AddonModel::SepToken(const Napi::CallbackInfo& info) {
|
|
|
576
572
|
return info.Env().Undefined();
|
|
577
573
|
}
|
|
578
574
|
|
|
579
|
-
return getNapiToken(info,
|
|
575
|
+
return getNapiToken(info, vocab, llama_vocab_sep(vocab));
|
|
580
576
|
}
|
|
581
577
|
Napi::Value AddonModel::GetTokenString(const Napi::CallbackInfo& info) {
|
|
582
578
|
if (disposed) {
|
|
@@ -587,7 +583,7 @@ Napi::Value AddonModel::GetTokenString(const Napi::CallbackInfo& info) {
|
|
|
587
583
|
int token = info[0].As<Napi::Number>().Int32Value();
|
|
588
584
|
std::stringstream ss;
|
|
589
585
|
|
|
590
|
-
const char* str =
|
|
586
|
+
const char* str = llama_vocab_get_text(vocab, token);
|
|
591
587
|
if (str == nullptr) {
|
|
592
588
|
return info.Env().Undefined();
|
|
593
589
|
}
|
|
@@ -608,7 +604,7 @@ Napi::Value AddonModel::GetTokenAttributes(const Napi::CallbackInfo& info) {
|
|
|
608
604
|
}
|
|
609
605
|
|
|
610
606
|
int token = info[0].As<Napi::Number>().Int32Value();
|
|
611
|
-
auto tokenAttributes =
|
|
607
|
+
auto tokenAttributes = llama_vocab_get_attr(vocab, token);
|
|
612
608
|
|
|
613
609
|
return Napi::Number::From(info.Env(), int32_t(tokenAttributes));
|
|
614
610
|
}
|
|
@@ -624,7 +620,7 @@ Napi::Value AddonModel::IsEogToken(const Napi::CallbackInfo& info) {
|
|
|
624
620
|
|
|
625
621
|
int token = info[0].As<Napi::Number>().Int32Value();
|
|
626
622
|
|
|
627
|
-
return Napi::Boolean::New(info.Env(),
|
|
623
|
+
return Napi::Boolean::New(info.Env(), llama_vocab_is_eog(vocab, token));
|
|
628
624
|
}
|
|
629
625
|
Napi::Value AddonModel::GetVocabularyType(const Napi::CallbackInfo& info) {
|
|
630
626
|
if (disposed) {
|
|
@@ -632,17 +628,17 @@ Napi::Value AddonModel::GetVocabularyType(const Napi::CallbackInfo& info) {
|
|
|
632
628
|
return info.Env().Undefined();
|
|
633
629
|
}
|
|
634
630
|
|
|
635
|
-
auto vocabularyType = llama_vocab_type(
|
|
631
|
+
auto vocabularyType = llama_vocab_type(vocab);
|
|
636
632
|
|
|
637
633
|
return Napi::Number::From(info.Env(), int32_t(vocabularyType));
|
|
638
634
|
}
|
|
639
635
|
Napi::Value AddonModel::ShouldPrependBosToken(const Napi::CallbackInfo& info) {
|
|
640
|
-
const bool addBos =
|
|
636
|
+
const bool addBos = llama_vocab_get_add_bos(vocab);
|
|
641
637
|
|
|
642
638
|
return Napi::Boolean::New(info.Env(), addBos);
|
|
643
639
|
}
|
|
644
640
|
Napi::Value AddonModel::ShouldAppendEosToken(const Napi::CallbackInfo& info) {
|
|
645
|
-
const bool addEos =
|
|
641
|
+
const bool addEos = llama_vocab_get_add_eos(vocab);
|
|
646
642
|
|
|
647
643
|
return Napi::Boolean::New(info.Env(), addEos);
|
|
648
644
|
}
|
package/llama/addon/AddonModel.h
CHANGED
|
@@ -9,6 +9,7 @@ class AddonModel : public Napi::ObjectWrap<AddonModel> {
|
|
|
9
9
|
llama_model_params model_params;
|
|
10
10
|
std::vector<llama_model_kv_override> kv_overrides;
|
|
11
11
|
llama_model* model;
|
|
12
|
+
const llama_vocab* vocab;
|
|
12
13
|
uint64_t loadedModelSize = 0;
|
|
13
14
|
Napi::Reference<Napi::Object> addonExportsRef;
|
|
14
15
|
bool hasAddonExportsRef = false;
|
|
@@ -30,7 +30,7 @@ class AddonModelLoraUnloadLoraWorker : public Napi::AsyncWorker {
|
|
|
30
30
|
} catch (const std::exception& e) {
|
|
31
31
|
SetError(e.what());
|
|
32
32
|
} catch(...) {
|
|
33
|
-
SetError("Unknown error when calling \"
|
|
33
|
+
SetError("Unknown error when calling \"llama_adapter_lora_free\"");
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
void OnOK() {
|
|
@@ -55,7 +55,7 @@ void AddonModelLora::dispose(bool skipErase) {
|
|
|
55
55
|
if (lora_adapter != nullptr) {
|
|
56
56
|
auto loraAdapterToDispose = lora_adapter;
|
|
57
57
|
lora_adapter = nullptr;
|
|
58
|
-
|
|
58
|
+
llama_adapter_lora_free(loraAdapterToDispose);
|
|
59
59
|
|
|
60
60
|
if (!skipErase && model->data != nullptr) {
|
|
61
61
|
model->data->removeLora(this);
|
|
@@ -10,8 +10,8 @@ AddonSampler::AddonSampler(const Napi::CallbackInfo& info) : Napi::ObjectWrap<Ad
|
|
|
10
10
|
model = Napi::ObjectWrap<AddonModel>::Unwrap(info[0].As<Napi::Object>());
|
|
11
11
|
model->Ref();
|
|
12
12
|
|
|
13
|
-
tokenCandidates.resize(
|
|
14
|
-
tokenCandidates.reserve(
|
|
13
|
+
tokenCandidates.resize(llama_vocab_n_tokens(model->vocab));
|
|
14
|
+
tokenCandidates.reserve(llama_vocab_n_tokens(model->vocab));
|
|
15
15
|
}
|
|
16
16
|
AddonSampler::~AddonSampler() {
|
|
17
17
|
dispose();
|
|
@@ -142,7 +142,7 @@ void AddonSampler::acceptToken(llama_token token) {
|
|
|
142
142
|
repeatPenalty_lastTokens.push_back(token);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
if (grammarEvaluationState != nullptr && grammarEvaluationState->sampler != nullptr && !
|
|
145
|
+
if (grammarEvaluationState != nullptr && grammarEvaluationState->sampler != nullptr && !llama_vocab_is_eog(model->vocab, token)) {
|
|
146
146
|
llama_sampler_accept(grammarEvaluationState->sampler, token);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
@@ -231,8 +231,8 @@ Napi::Value AddonSampler::ApplyConfig(const Napi::CallbackInfo& info) {
|
|
|
231
231
|
}
|
|
232
232
|
|
|
233
233
|
const int32_t resolved_top_k = topKSampler_topK <= 0
|
|
234
|
-
?
|
|
235
|
-
: std::min(topKSampler_topK,
|
|
234
|
+
? llama_vocab_n_tokens(model->vocab)
|
|
235
|
+
: std::min(topKSampler_topK, llama_vocab_n_tokens(model->vocab));
|
|
236
236
|
|
|
237
237
|
topKSampler = llama_sampler_init_top_k(resolved_top_k);
|
|
238
238
|
}
|
|
@@ -404,7 +404,7 @@ Napi::Value AddonSampler::ApplyConfig(const Napi::CallbackInfo& info) {
|
|
|
404
404
|
}
|
|
405
405
|
|
|
406
406
|
tokenBiasSampler = llama_sampler_init_logit_bias(
|
|
407
|
-
|
|
407
|
+
llama_vocab_n_tokens(model->vocab),
|
|
408
408
|
tokenBiasSampler_biases.size(),
|
|
409
409
|
tokenBiasSampler_biases.data()
|
|
410
410
|
);
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
function(setProgramFilesPaths CURRENT_ARCH)
|
|
2
|
+
set(PROGRAMFILES_X86_ENV_NAME "ProgramFiles(x86)")
|
|
3
|
+
|
|
2
4
|
set(PROGRAMFILES "$ENV{ProgramFiles}")
|
|
3
|
-
set(PROGRAMFILES_X86 "$ENV{
|
|
5
|
+
set(PROGRAMFILES_X86 "$ENV{${PROGRAMFILES_X86_ENV_NAME}}")
|
|
4
6
|
file(TO_CMAKE_PATH "${PROGRAMFILES}" PROGRAMFILES)
|
|
5
7
|
file(TO_CMAKE_PATH "${PROGRAMFILES_X86}" PROGRAMFILES_X86)
|
|
6
8
|
|
|
7
9
|
if(CURRENT_ARCH STREQUAL "arm64")
|
|
8
|
-
set(
|
|
10
|
+
set(PROGRAMFILES_ARM64_ENV_NAME "ProgramFiles(Arm)")
|
|
11
|
+
|
|
12
|
+
set(PROGRAMFILES_ARM64 "$ENV{${PROGRAMFILES_ARM64_ENV_NAME}}")
|
|
9
13
|
file(TO_CMAKE_PATH "${PROGRAMFILES_ARM64}" PROGRAMFILES_ARM64)
|
|
10
14
|
|
|
11
15
|
set(PROGRAMFILES_PATHS_LIST
|
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.4.
|
|
3
|
+
"version": "3.4.2",
|
|
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",
|
|
@@ -91,11 +91,14 @@
|
|
|
91
91
|
"vulkan",
|
|
92
92
|
"grammar",
|
|
93
93
|
"embedding",
|
|
94
|
+
"rerank",
|
|
95
|
+
"reranking",
|
|
94
96
|
"json-grammar",
|
|
95
97
|
"json-schema-grammar",
|
|
96
98
|
"functions",
|
|
97
99
|
"function-calling",
|
|
98
|
-
"
|
|
100
|
+
"token-prediction",
|
|
101
|
+
"speculative-decoding",
|
|
99
102
|
"temperature",
|
|
100
103
|
"minP",
|
|
101
104
|
"topK",
|
|
@@ -216,16 +219,16 @@
|
|
|
216
219
|
}
|
|
217
220
|
},
|
|
218
221
|
"optionalDependencies": {
|
|
219
|
-
"@node-llama-cpp/linux-arm64": "3.4.
|
|
220
|
-
"@node-llama-cpp/linux-armv7l": "3.4.
|
|
221
|
-
"@node-llama-cpp/linux-x64": "3.4.
|
|
222
|
-
"@node-llama-cpp/linux-x64-cuda": "3.4.
|
|
223
|
-
"@node-llama-cpp/linux-x64-vulkan": "3.4.
|
|
224
|
-
"@node-llama-cpp/mac-arm64-metal": "3.4.
|
|
225
|
-
"@node-llama-cpp/mac-x64": "3.4.
|
|
226
|
-
"@node-llama-cpp/win-arm64": "3.4.
|
|
227
|
-
"@node-llama-cpp/win-x64": "3.4.
|
|
228
|
-
"@node-llama-cpp/win-x64-cuda": "3.4.
|
|
229
|
-
"@node-llama-cpp/win-x64-vulkan": "3.4.
|
|
222
|
+
"@node-llama-cpp/linux-arm64": "3.4.2",
|
|
223
|
+
"@node-llama-cpp/linux-armv7l": "3.4.2",
|
|
224
|
+
"@node-llama-cpp/linux-x64": "3.4.2",
|
|
225
|
+
"@node-llama-cpp/linux-x64-cuda": "3.4.2",
|
|
226
|
+
"@node-llama-cpp/linux-x64-vulkan": "3.4.2",
|
|
227
|
+
"@node-llama-cpp/mac-arm64-metal": "3.4.2",
|
|
228
|
+
"@node-llama-cpp/mac-x64": "3.4.2",
|
|
229
|
+
"@node-llama-cpp/win-arm64": "3.4.2",
|
|
230
|
+
"@node-llama-cpp/win-x64": "3.4.2",
|
|
231
|
+
"@node-llama-cpp/win-x64-cuda": "3.4.2",
|
|
232
|
+
"@node-llama-cpp/win-x64-vulkan": "3.4.2"
|
|
230
233
|
}
|
|
231
234
|
}
|
package/templates/README.md
CHANGED
|
@@ -3,4 +3,4 @@ Use the following command to scaffold a project from a template:
|
|
|
3
3
|
npm create node-llama-cpp@latest
|
|
4
4
|
```
|
|
5
5
|
|
|
6
|
-
> Don't use the templates in this repository directly. They are built to be used with `npm create` command ([learn more](https://node-llama-cpp.withcat.ai/guide/))
|
|
6
|
+
> Don't use the templates in this repository directly. They are built to be used with the `npm create` command ([learn more](https://node-llama-cpp.withcat.ai/guide/))
|