10
10
#include " napi.h"
11
11
12
12
struct addon_logger_log {
13
- const int logLevelNumber;
14
- const std::stringstream* stringStream;
13
+ public:
14
+ const int logLevelNumber;
15
+ const std::stringstream* stringStream;
15
16
};
16
17
17
18
using AddonThreadSafeLogCallbackFunctionContext = Napi::Reference<Napi::Value>;
18
19
void addonCallJsLogCallback (
19
- Napi::Env env,
20
- Napi::Function callback,
21
- AddonThreadSafeLogCallbackFunctionContext *context,
22
- addon_logger_log* data
20
+ Napi::Env env, Napi::Function callback, AddonThreadSafeLogCallbackFunctionContext* context, addon_logger_log* data
23
21
);
24
- using AddonThreadSafeLogCallbackFunction = Napi::TypedThreadSafeFunction<
25
- AddonThreadSafeLogCallbackFunctionContext,
26
- addon_logger_log,
27
- addonCallJsLogCallback
28
- >;
22
+ using AddonThreadSafeLogCallbackFunction =
23
+ Napi::TypedThreadSafeFunction<AddonThreadSafeLogCallbackFunctionContext, addon_logger_log, addonCallJsLogCallback>;
29
24
30
25
AddonThreadSafeLogCallbackFunction addonThreadSafeLoggerCallback;
31
26
bool addonJsLoggerCallbackSet = false ;
32
27
int addonLoggerLogLevel = 5 ;
33
28
34
- std::string addon_model_token_to_piece (const struct llama_model * model, llama_token token) {
29
+ std::string addon_model_token_to_piece (const struct llama_model * model, llama_token token) {
35
30
std::vector<char > result (8 , 0 );
36
31
const int n_tokens = llama_token_to_piece (model, token, result.data (), result.size ());
37
32
if (n_tokens < 0 ) {
38
33
result.resize (-n_tokens);
39
34
int check = llama_token_to_piece (model, token, result.data (), result.size ());
40
35
GGML_ASSERT (check == -n_tokens);
41
- }
42
- else {
36
+ } else {
43
37
result.resize (n_tokens);
44
38
}
45
39
@@ -288,7 +282,7 @@ class AddonModel : public Napi::ObjectWrap<AddonModel> {
288
282
InstanceMethod (" suffixToken" , &AddonModel::SuffixToken),
289
283
InstanceMethod (" eotToken" , &AddonModel::EotToken),
290
284
InstanceMethod (" getTokenString" , &AddonModel::GetTokenString),
291
- InstanceMethod (" dispose" , &AddonModel::Dispose)
285
+ InstanceMethod (" dispose" , &AddonModel::Dispose),
292
286
}
293
287
)
294
288
);
@@ -554,7 +548,8 @@ class AddonContext : public Napi::ObjectWrap<AddonContext> {
554
548
Napi::Value SampleToken (const Napi::CallbackInfo& info);
555
549
556
550
Napi::Value AcceptGrammarEvaluationStateToken (const Napi::CallbackInfo& info) {
557
- AddonGrammarEvaluationState* grammar_evaluation_state = Napi::ObjectWrap<AddonGrammarEvaluationState>::Unwrap (info[0 ].As <Napi::Object>());
551
+ AddonGrammarEvaluationState* grammar_evaluation_state =
552
+ Napi::ObjectWrap<AddonGrammarEvaluationState>::Unwrap (info[0 ].As <Napi::Object>());
558
553
llama_token tokenId = info[1 ].As <Napi::Number>().Int32Value ();
559
554
560
555
if ((grammar_evaluation_state)->grammar != nullptr ) {
@@ -571,7 +566,7 @@ class AddonContext : public Napi::ObjectWrap<AddonContext> {
571
566
}
572
567
573
568
const int n_embd = llama_n_embd (model->model );
574
- const auto * embeddings = llama_get_embeddings (ctx);
569
+ const auto * embeddings = llama_get_embeddings (ctx);
575
570
576
571
Napi::Float64Array result = Napi::Float64Array::New (info.Env (), n_embd);
577
572
for (size_t i = 0 ; i < n_embd; ++i) {
@@ -605,7 +600,7 @@ class AddonContext : public Napi::ObjectWrap<AddonContext> {
605
600
InstanceMethod (" acceptGrammarEvaluationStateToken" , &AddonContext::AcceptGrammarEvaluationStateToken),
606
601
InstanceMethod (" getEmbedding" , &AddonContext::GetEmbedding),
607
602
InstanceMethod (" printTimings" , &AddonContext::PrintTimings),
608
- InstanceMethod (" dispose" , &AddonContext::Dispose)
603
+ InstanceMethod (" dispose" , &AddonContext::Dispose),
609
604
}
610
605
)
611
606
);
@@ -833,15 +828,12 @@ int addonGetGgmlLogLevelNumber(ggml_log_level level) {
833
828
}
834
829
835
830
void addonCallJsLogCallback (
836
- Napi::Env env,
837
- Napi::Function callback,
838
- AddonThreadSafeLogCallbackFunctionContext * context,
839
- addon_logger_log * data
831
+ Napi::Env env, Napi::Function callback, AddonThreadSafeLogCallbackFunctionContext* context, addon_logger_log* data
840
832
) {
841
833
if (env != nullptr && callback != nullptr ) {
842
834
callback.Call ({
843
835
Napi::Number::New (env, data->logLevelNumber ),
844
- Napi::String::New (env, data->stringStream ->str ())
836
+ Napi::String::New (env, data->stringStream ->str ()),
845
837
});
846
838
} else if (data != nullptr ) {
847
839
if (data->logLevelNumber == 2 ) {
@@ -859,7 +851,7 @@ void addonCallJsLogCallback(
859
851
}
860
852
}
861
853
862
- static void addonLlamaCppLogCallback (ggml_log_level level, const char * text, void * user_data) {
854
+ static void addonLlamaCppLogCallback (ggml_log_level level, const char * text, void * user_data) {
863
855
int logLevelNumber = addonGetGgmlLogLevelNumber (level);
864
856
865
857
if (logLevelNumber > addonLoggerLogLevel) {
@@ -874,7 +866,7 @@ static void addonLlamaCppLogCallback(ggml_log_level level, const char * text, vo
874
866
875
867
addon_logger_log* data = new addon_logger_log {
876
868
logLevelNumber,
877
- stringStream
869
+ stringStream,
878
870
};
879
871
880
872
auto status = addonThreadSafeLoggerCallback.NonBlockingCall (data);
@@ -904,15 +896,15 @@ Napi::Value setLogger(const Napi::CallbackInfo& info) {
904
896
}
905
897
906
898
auto addonLoggerJSCallback = info[0 ].As <Napi::Function>();
907
- AddonThreadSafeLogCallbackFunctionContext * context = new Napi::Reference<Napi::Value>(Napi::Persistent (info.This ()));
899
+ AddonThreadSafeLogCallbackFunctionContext* context = new Napi::Reference<Napi::Value>(Napi::Persistent (info.This ()));
908
900
addonThreadSafeLoggerCallback = AddonThreadSafeLogCallbackFunction::New (
909
901
info.Env (),
910
902
addonLoggerJSCallback,
911
903
" loggerCallback" ,
912
904
0 ,
913
905
1 ,
914
906
context,
915
- []( Napi::Env, void *, AddonThreadSafeLogCallbackFunctionContext *ctx ) {
907
+ [](Napi::Env, void *, AddonThreadSafeLogCallbackFunctionContext* ctx ) {
916
908
addonJsLoggerCallbackSet = false ;
917
909
918
910
delete ctx;
@@ -943,7 +935,7 @@ Napi::Object registerCallback(Napi::Env env, Napi::Object exports) {
943
935
exports.DefineProperties ({
944
936
Napi::PropertyDescriptor::Function (" systemInfo" , systemInfo),
945
937
Napi::PropertyDescriptor::Function (" setLogger" , setLogger),
946
- Napi::PropertyDescriptor::Function (" setLoggerLogLevel" , setLoggerLogLevel)
938
+ Napi::PropertyDescriptor::Function (" setLoggerLogLevel" , setLoggerLogLevel),
947
939
});
948
940
AddonModel::init (exports);
949
941
AddonGrammar::init (exports);
0 commit comments