-
-
Notifications
You must be signed in to change notification settings - Fork 188
Expand file tree
/
Copy pathAddonContext.h
More file actions
58 lines (46 loc) · 2.23 KB
/
AddonContext.h
File metadata and controls
58 lines (46 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#pragma once
#include "llama.h"
#include "napi.h"
#include "addonGlobals.h"
#include "AddonSampler.h"
class AddonContext : public Napi::ObjectWrap<AddonContext> {
public:
AddonModel* model;
llama_context_params context_params;
llama_context* ctx;
llama_batch batch;
uint64_t batchMemorySize = 0;
bool has_batch = false;
int32_t batch_n_tokens = 0;
int n_cur = 0;
uint64_t loadedContextMemorySize = 0;
bool contextLoaded = false;
bool disposed = false;
AddonContext(const Napi::CallbackInfo& info);
~AddonContext();
void dispose();
void disposeBatch();
Napi::Value Init(const Napi::CallbackInfo& info);
Napi::Value Dispose(const Napi::CallbackInfo& info);
Napi::Value GetContextSize(const Napi::CallbackInfo& info);
Napi::Value InitBatch(const Napi::CallbackInfo& info);
Napi::Value DisposeBatch(const Napi::CallbackInfo& info);
Napi::Value AddToBatch(const Napi::CallbackInfo& info);
Napi::Value DisposeSequence(const Napi::CallbackInfo& info);
Napi::Value RemoveTokenCellsFromSequence(const Napi::CallbackInfo& info);
Napi::Value ShiftSequenceTokenCells(const Napi::CallbackInfo& info);
Napi::Value GetSequenceKvCacheMinPosition(const Napi::CallbackInfo& info);
Napi::Value GetSequenceKvCacheMaxPosition(const Napi::CallbackInfo& info);
Napi::Value DecodeBatch(const Napi::CallbackInfo& info);
Napi::Value SampleToken(const Napi::CallbackInfo& info);
Napi::Value GetEmbedding(const Napi::CallbackInfo& info);
Napi::Value GetStateSize(const Napi::CallbackInfo& info);
Napi::Value GetThreads(const Napi::CallbackInfo& info);
Napi::Value SetThreads(const Napi::CallbackInfo& info);
Napi::Value SaveSequenceStateToFile(const Napi::CallbackInfo& info);
Napi::Value LoadSequenceStateFromFile(const Napi::CallbackInfo& info);
Napi::Value PrintTimings(const Napi::CallbackInfo& info);
Napi::Value EnsureDraftContextIsCompatibleForSpeculative(const Napi::CallbackInfo& info);
Napi::Value SetLoras(const Napi::CallbackInfo& info);
static void init(Napi::Object exports);
};