cui-llama.rn 0.2.0 → 1.0.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/cpp/rn-llama.hpp CHANGED
@@ -358,6 +358,13 @@ struct llama_rn_context
358
358
  return result;
359
359
  }
360
360
  n_past += n_eval;
361
+
362
+ if(is_interrupted) {
363
+ LOG("Decoding Interrupted");
364
+ embd.resize(n_past);
365
+ has_next_token = false;
366
+ return result;
367
+ }
361
368
  }
362
369
 
363
370
  if (params.n_predict == 0)
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","TurboModuleRegistry","get","exports","default"],"sourceRoot":"..\\..\\src","sources":["NativeRNLlama.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAkIpCC,gCAAmB,CAACC,GAAG,CAAO,SAAS,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAJ,QAAA"}
1
+ {"version":3,"names":["_reactNative","require","_default","TurboModuleRegistry","get","exports","default"],"sourceRoot":"..\\..\\src","sources":["NativeRNLlama.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAkD,IAAAC,QAAA,GAoJnCC,gCAAmB,CAACC,GAAG,CAAO,SAAS,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAJ,QAAA"}
@@ -53,7 +53,9 @@ class LlamaContext {
53
53
  * Load cached prompt & completion state from a file.
54
54
  */
55
55
  async loadSession(filepath) {
56
- return _NativeRNLlama.default.loadSession(this.id, filepath);
56
+ let path = filepath;
57
+ if (filepath.startsWith(`file://`)) path = path.slice(7);
58
+ return _NativeRNLlama.default.loadSession(this.id, path);
57
59
  }
58
60
 
59
61
  /**
@@ -90,8 +92,11 @@ class LlamaContext {
90
92
  stopCompletion() {
91
93
  return _NativeRNLlama.default.stopCompletion(this.id);
92
94
  }
93
- tokenize(text) {
94
- return _NativeRNLlama.default.tokenize(this.id, text);
95
+ tokenizeAsync(text) {
96
+ return _NativeRNLlama.default.tokenizeAsync(this.id, text);
97
+ }
98
+ tokenizeSync(text) {
99
+ return _NativeRNLlama.default.tokenizeSync(this.id, text);
95
100
  }
96
101
  detokenize(tokens) {
97
102
  return _NativeRNLlama.default.detokenize(this.id, tokens);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeRNLlama","_interopRequireDefault","_grammar","obj","__esModule","default","EVENT_ON_TOKEN","EventEmitter","Platform","OS","NativeEventEmitter","RNLlama","DeviceEventEmitter","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","saveSession","options","tokenSize","completion","params","callback","tokenListener","addListener","evt","tokenResult","promise","emit_partial_completion","then","completionResult","_tokenListener","remove","catch","err","_tokenListener2","stopCompletion","tokenize","text","detokenize","tokens","embedding","bench","pp","tg","pl","nr","result","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","JSON","parse","release","releaseContext","exports","setContextLimit","limit","initLlama","_ref2","is_model_asset","isModelAsset","rest","path","startsWith","slice","modelDetails","initContext","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_NativeRNLlama","_interopRequireDefault","_grammar","obj","__esModule","default","EVENT_ON_TOKEN","EventEmitter","Platform","OS","NativeEventEmitter","RNLlama","DeviceEventEmitter","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","completion","params","callback","tokenListener","addListener","evt","tokenResult","promise","emit_partial_completion","then","completionResult","_tokenListener","remove","catch","err","_tokenListener2","stopCompletion","tokenizeAsync","text","tokenizeSync","detokenize","tokens","embedding","bench","pp","tg","pl","nr","result","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","JSON","parse","release","releaseContext","exports","setContextLimit","limit","initLlama","_ref2","is_model_asset","isModelAsset","rest","modelDetails","initContext","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"..\\..\\src","sources":["NativeRNLlama.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAkIlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,SAAS,CAAC"}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"..\\..\\src","sources":["NativeRNLlama.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAoJlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,SAAS,CAAC"}
@@ -32,7 +32,9 @@ export class LlamaContext {
32
32
  * Load cached prompt & completion state from a file.
33
33
  */
34
34
  async loadSession(filepath) {
35
- return RNLlama.loadSession(this.id, filepath);
35
+ let path = filepath;
36
+ if (filepath.startsWith(`file://`)) path = path.slice(7);
37
+ return RNLlama.loadSession(this.id, path);
36
38
  }
37
39
 
38
40
  /**
@@ -69,8 +71,11 @@ export class LlamaContext {
69
71
  stopCompletion() {
70
72
  return RNLlama.stopCompletion(this.id);
71
73
  }
72
- tokenize(text) {
73
- return RNLlama.tokenize(this.id, text);
74
+ tokenizeAsync(text) {
75
+ return RNLlama.tokenizeAsync(this.id, text);
76
+ }
77
+ tokenizeSync(text) {
78
+ return RNLlama.tokenizeSync(this.id, text);
74
79
  }
75
80
  detokenize(tokens) {
76
81
  return RNLlama.detokenize(this.id, tokens);
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","RNLlama","SchemaGrammarConverter","convertJsonSchemaToGrammar","EVENT_ON_TOKEN","EventEmitter","OS","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","saveSession","options","tokenSize","completion","params","callback","tokenListener","addListener","evt","tokenResult","promise","emit_partial_completion","then","completionResult","_tokenListener","remove","catch","err","_tokenListener2","stopCompletion","tokenize","text","detokenize","tokens","embedding","bench","pp","tg","pl","nr","result","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","JSON","parse","release","releaseContext","setContextLimit","limit","initLlama","_ref2","is_model_asset","isModelAsset","rest","path","startsWith","slice","modelDetails","initContext","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","RNLlama","SchemaGrammarConverter","convertJsonSchemaToGrammar","EVENT_ON_TOKEN","EventEmitter","OS","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","completion","params","callback","tokenListener","addListener","evt","tokenResult","promise","emit_partial_completion","then","completionResult","_tokenListener","remove","catch","err","_tokenListener2","stopCompletion","tokenizeAsync","text","tokenizeSync","detokenize","tokens","embedding","bench","pp","tg","pl","nr","result","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","JSON","parse","release","releaseContext","setContextLimit","limit","initLlama","_ref2","is_model_asset","isModelAsset","rest","modelDetails","initContext","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}
@@ -9,6 +9,7 @@ export type NativeContextParams = {
9
9
  n_gpu_layers?: number;
10
10
  use_mlock?: boolean;
11
11
  use_mmap?: boolean;
12
+ vocab_only?: boolean;
12
13
  lora?: string;
13
14
  lora_scaled?: number;
14
15
  lora_base?: string;
@@ -95,7 +96,8 @@ export interface Spec extends TurboModule {
95
96
  saveSession(contextId: number, filepath: string, size: number): Promise<number>;
96
97
  completion(contextId: number, params: NativeCompletionParams): Promise<NativeCompletionResult>;
97
98
  stopCompletion(contextId: number): Promise<void>;
98
- tokenize(contextId: number, text: string): Promise<NativeTokenizeResult>;
99
+ tokenizeAsync(contextId: number, text: string): Promise<NativeTokenizeResult>;
100
+ tokenizeSync(contextId: number, text: string): NativeTokenizeResult;
99
101
  detokenize(contextId: number, tokens: number[]): Promise<string>;
100
102
  embedding(contextId: number, text: string): Promise<NativeEmbeddingResult>;
101
103
  bench(contextId: number, pp: number, tg: number, pl: number, nr: number): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeRNLlama.d.ts","sourceRoot":"","sources":["../../src/NativeRNLlama.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeRNLlama.d.ts","sourceRoot":"","sources":["../../src/NativeRNLlama.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare class LlamaContext {
21
21
  gpu: boolean;
22
22
  reasonNoGPU: string;
23
23
  model: Object;
24
- constructor({ contextId, gpu, reasonNoGPU, model, }: NativeLlamaContext);
24
+ constructor({ contextId, gpu, reasonNoGPU, model }: NativeLlamaContext);
25
25
  /**
26
26
  * Load cached prompt & completion state from a file.
27
27
  */
@@ -34,7 +34,8 @@ export declare class LlamaContext {
34
34
  }): Promise<number>;
35
35
  completion(params: CompletionParams, callback?: (data: TokenData) => void): Promise<NativeCompletionResult>;
36
36
  stopCompletion(): Promise<void>;
37
- tokenize(text: string): Promise<NativeTokenizeResult>;
37
+ tokenizeAsync(text: string): Promise<NativeTokenizeResult>;
38
+ tokenizeSync(text: string): NativeTokenizeResult;
38
39
  detokenize(tokens: number[]): Promise<string>;
39
40
  embedding(text: string): Promise<NativeEmbeddingResult>;
40
41
  bench(pp: number, tg: number, pl: number, nr: number): Promise<BenchResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAE9E,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,CAAA;AAa7D,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,wBAAwB,CAAC,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAA;CAC5D,CAAA;AAOD,MAAM,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAE/C,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAA;AAEtF,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,qBAAa,YAAY;IACvB,EAAE,EAAE,MAAM,CAAA;IAEV,GAAG,EAAE,OAAO,CAAQ;IAEpB,WAAW,EAAE,MAAM,CAAK;IAExB,KAAK,EAAE,MAAM,CAAK;gBAEN,EACV,SAAS,EACT,GAAG,EACH,WAAW,EACX,KAAK,GACN,EAAE,kBAAkB;IAOrB;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIrE;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/E,UAAU,CACd,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GACnC,OAAO,CAAC,sBAAsB,CAAC;IA0BlC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIrD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIjD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsB3E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED,wBAAsB,SAAS,CAAC,EAC9B,KAAK,EACL,cAAc,EAAE,YAAY,EAC5B,GAAG,IAAI,EACR,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAUvC;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAErD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAE9E,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,CAAA;AAa7D,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,wBAAwB,CAAC,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAA;CAC5D,CAAA;AAOD,MAAM,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAE/C,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,sBAAsB,EACtB,yBAAyB,CAC1B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,qBAAa,YAAY;IACvB,EAAE,EAAE,MAAM,CAAA;IAEV,GAAG,EAAE,OAAO,CAAQ;IAEpB,WAAW,EAAE,MAAM,CAAK;IAExB,KAAK,EAAE,MAAM,CAAK;gBAEN,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,kBAAkB;IAOtE;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAMrE;;OAEG;IACG,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAC9B,OAAO,CAAC,MAAM,CAAC;IAIZ,UAAU,CACd,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GACnC,OAAO,CAAC,sBAAsB,CAAC;IAyBlC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI1D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAIhD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIjD,KAAK,CACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,WAAW,CAAC;IAejB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED,wBAAsB,SAAS,CAAC,EAC9B,KAAK,EACL,cAAc,EAAE,YAAY,EAC5B,GAAG,IAAI,EACR,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAcvC;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAErD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cui-llama.rn",
3
- "version": "0.2.0",
3
+ "version": "1.0.0",
4
4
  "description": "Fork of llama.rn for ChatterUI",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -1,5 +1,5 @@
1
- import type { TurboModule } from 'react-native';
2
- import { TurboModuleRegistry } from 'react-native';
1
+ import type { TurboModule } from 'react-native'
2
+ import { TurboModuleRegistry } from 'react-native'
3
3
 
4
4
  export type NativeContextParams = {
5
5
  model: string
@@ -15,6 +15,7 @@ export type NativeContextParams = {
15
15
 
16
16
  use_mlock?: boolean
17
17
  use_mmap?: boolean
18
+ vocab_only?: boolean
18
19
 
19
20
  lora?: string // lora_adaptor
20
21
  lora_scaled?: number
@@ -112,21 +113,38 @@ export type NativeSessionLoadResult = {
112
113
  }
113
114
 
114
115
  export interface Spec extends TurboModule {
115
- setContextLimit(limit: number): Promise<void>;
116
- initContext(params: NativeContextParams): Promise<NativeLlamaContext>;
117
-
118
- loadSession(contextId: number, filepath: string): Promise<NativeSessionLoadResult>;
119
- saveSession(contextId: number, filepath: string, size: number): Promise<number>;
120
- completion(contextId: number, params: NativeCompletionParams): Promise<NativeCompletionResult>;
121
- stopCompletion(contextId: number): Promise<void>;
122
- tokenize(contextId: number, text: string): Promise<NativeTokenizeResult>;
123
- detokenize(contextId: number, tokens: number[]): Promise<string>;
124
- embedding(contextId: number, text: string): Promise<NativeEmbeddingResult>;
125
- bench(contextId: number, pp: number, tg: number, pl: number, nr: number): Promise<string>;
126
-
127
- releaseContext(contextId: number): Promise<void>;
128
-
129
- releaseAllContexts(): Promise<void>;
116
+ setContextLimit(limit: number): Promise<void>
117
+ initContext(params: NativeContextParams): Promise<NativeLlamaContext>
118
+
119
+ loadSession(
120
+ contextId: number,
121
+ filepath: string,
122
+ ): Promise<NativeSessionLoadResult>
123
+ saveSession(
124
+ contextId: number,
125
+ filepath: string,
126
+ size: number,
127
+ ): Promise<number>
128
+ completion(
129
+ contextId: number,
130
+ params: NativeCompletionParams,
131
+ ): Promise<NativeCompletionResult>
132
+ stopCompletion(contextId: number): Promise<void>
133
+ tokenizeAsync(contextId: number, text: string): Promise<NativeTokenizeResult>
134
+ tokenizeSync(contextId: number, text: string): NativeTokenizeResult
135
+ detokenize(contextId: number, tokens: number[]): Promise<string>
136
+ embedding(contextId: number, text: string): Promise<NativeEmbeddingResult>
137
+ bench(
138
+ contextId: number,
139
+ pp: number,
140
+ tg: number,
141
+ pl: number,
142
+ nr: number,
143
+ ): Promise<string>
144
+
145
+ releaseContext(contextId: number): Promise<void>
146
+
147
+ releaseAllContexts(): Promise<void>
130
148
  }
131
149
 
132
- export default TurboModuleRegistry.get<Spec>('RNLlama') as Spec;
150
+ export default TurboModuleRegistry.get<Spec>('RNLlama') as Spec
package/src/index.ts CHANGED
@@ -38,7 +38,10 @@ type TokenNativeEvent = {
38
38
 
39
39
  export type ContextParams = NativeContextParams
40
40
 
41
- export type CompletionParams = Omit<NativeCompletionParams, 'emit_partial_completion'>
41
+ export type CompletionParams = Omit<
42
+ NativeCompletionParams,
43
+ 'emit_partial_completion'
44
+ >
42
45
 
43
46
  export type BenchResult = {
44
47
  modelDesc: string
@@ -59,12 +62,7 @@ export class LlamaContext {
59
62
 
60
63
  model: Object = {}
61
64
 
62
- constructor({
63
- contextId,
64
- gpu,
65
- reasonNoGPU,
66
- model,
67
- }: NativeLlamaContext) {
65
+ constructor({ contextId, gpu, reasonNoGPU, model }: NativeLlamaContext) {
68
66
  this.id = contextId
69
67
  this.gpu = gpu
70
68
  this.reasonNoGPU = reasonNoGPU
@@ -75,13 +73,18 @@ export class LlamaContext {
75
73
  * Load cached prompt & completion state from a file.
76
74
  */
77
75
  async loadSession(filepath: string): Promise<NativeSessionLoadResult> {
78
- return RNLlama.loadSession(this.id, filepath)
76
+ let path = filepath
77
+ if (filepath.startsWith(`file://`)) path = path.slice(7)
78
+ return RNLlama.loadSession(this.id, path)
79
79
  }
80
80
 
81
81
  /**
82
82
  * Save current cached prompt & completion state to a file.
83
83
  */
84
- async saveSession(filepath: string, options?: { tokenSize: number }): Promise<number> {
84
+ async saveSession(
85
+ filepath: string,
86
+ options?: { tokenSize: number },
87
+ ): Promise<number> {
85
88
  return RNLlama.saveSession(this.id, filepath, options?.tokenSize || -1)
86
89
  }
87
90
 
@@ -89,14 +92,13 @@ export class LlamaContext {
89
92
  params: CompletionParams,
90
93
  callback?: (data: TokenData) => void,
91
94
  ): Promise<NativeCompletionResult> {
92
- let tokenListener: any = callback && EventEmitter.addListener(
93
- EVENT_ON_TOKEN,
94
- (evt: TokenNativeEvent) => {
95
+ let tokenListener: any =
96
+ callback &&
97
+ EventEmitter.addListener(EVENT_ON_TOKEN, (evt: TokenNativeEvent) => {
95
98
  const { contextId, tokenResult } = evt
96
99
  if (contextId !== this.id) return
97
100
  callback(tokenResult)
98
- },
99
- )
101
+ })
100
102
  const promise = RNLlama.completion(this.id, {
101
103
  ...params,
102
104
  emit_partial_completion: !!callback,
@@ -118,8 +120,12 @@ export class LlamaContext {
118
120
  return RNLlama.stopCompletion(this.id)
119
121
  }
120
122
 
121
- tokenize(text: string): Promise<NativeTokenizeResult> {
122
- return RNLlama.tokenize(this.id, text)
123
+ tokenizeAsync(text: string): Promise<NativeTokenizeResult> {
124
+ return RNLlama.tokenizeAsync(this.id, text)
125
+ }
126
+
127
+ tokenizeSync(text: string): NativeTokenizeResult {
128
+ return RNLlama.tokenizeSync(this.id, text)
123
129
  }
124
130
 
125
131
  detokenize(tokens: number[]): Promise<string> {
@@ -130,17 +136,15 @@ export class LlamaContext {
130
136
  return RNLlama.embedding(this.id, text)
131
137
  }
132
138
 
133
- async bench(pp: number, tg: number, pl: number, nr: number): Promise<BenchResult> {
139
+ async bench(
140
+ pp: number,
141
+ tg: number,
142
+ pl: number,
143
+ nr: number,
144
+ ): Promise<BenchResult> {
134
145
  const result = await RNLlama.bench(this.id, pp, tg, pl, nr)
135
- const [
136
- modelDesc,
137
- modelSize,
138
- modelNParams,
139
- ppAvg,
140
- ppStd,
141
- tgAvg,
142
- tgStd,
143
- ] = JSON.parse(result)
146
+ const [modelDesc, modelSize, modelNParams, ppAvg, ppStd, tgAvg, tgStd] =
147
+ JSON.parse(result)
144
148
  return {
145
149
  modelDesc,
146
150
  modelSize,
@@ -168,12 +172,16 @@ export async function initLlama({
168
172
  }: ContextParams): Promise<LlamaContext> {
169
173
  let path = model
170
174
  if (path.startsWith('file://')) path = path.slice(7)
171
- const { contextId, gpu, reasonNoGPU, model: modelDetails } =
172
- await RNLlama.initContext({
173
- model: path,
174
- is_model_asset: !!isModelAsset,
175
- ...rest,
176
- })
175
+ const {
176
+ contextId,
177
+ gpu,
178
+ reasonNoGPU,
179
+ model: modelDetails,
180
+ } = await RNLlama.initContext({
181
+ model: path,
182
+ is_model_asset: !!isModelAsset,
183
+ ...rest,
184
+ })
177
185
  return new LlamaContext({ contextId, gpu, reasonNoGPU, model: modelDetails })
178
186
  }
179
187