cui-llama.rn 1.2.0 → 1.2.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.
Files changed (40) hide show
  1. package/README.md +2 -0
  2. package/android/src/main/CMakeLists.txt +2 -2
  3. package/android/src/main/java/com/rnllama/LlamaContext.java +31 -9
  4. package/android/src/main/java/com/rnllama/RNLlama.java +39 -0
  5. package/android/src/newarch/java/com/rnllama/RNLlamaModule.java +5 -0
  6. package/android/src/oldarch/java/com/rnllama/RNLlamaModule.java +5 -0
  7. package/cpp/common.cpp +36 -1
  8. package/cpp/common.h +5 -1
  9. package/cpp/ggml-aarch64.c +2 -11
  10. package/cpp/ggml-alloc.h +1 -1
  11. package/cpp/ggml-backend-impl.h +151 -78
  12. package/cpp/{ggml-backend.c → ggml-backend.cpp} +565 -269
  13. package/cpp/ggml-backend.h +147 -62
  14. package/cpp/ggml-impl.h +15 -0
  15. package/cpp/ggml-metal.h +8 -9
  16. package/cpp/ggml-metal.m +2428 -2111
  17. package/cpp/ggml-quants.c +2 -2
  18. package/cpp/ggml-quants.h +0 -4
  19. package/cpp/ggml.c +799 -1121
  20. package/cpp/ggml.h +79 -72
  21. package/cpp/llama-vocab.cpp +189 -106
  22. package/cpp/llama-vocab.h +18 -9
  23. package/cpp/llama.cpp +736 -341
  24. package/cpp/llama.h +9 -4
  25. package/cpp/unicode-data.cpp +6 -4
  26. package/cpp/unicode-data.h +4 -4
  27. package/cpp/unicode.cpp +14 -7
  28. package/lib/commonjs/NativeRNLlama.js.map +1 -1
  29. package/lib/commonjs/index.js +4 -0
  30. package/lib/commonjs/index.js.map +1 -1
  31. package/lib/module/NativeRNLlama.js.map +1 -1
  32. package/lib/module/index.js +3 -0
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/typescript/NativeRNLlama.d.ts +6 -0
  35. package/lib/typescript/NativeRNLlama.d.ts.map +1 -1
  36. package/lib/typescript/index.d.ts +2 -1
  37. package/lib/typescript/index.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/src/NativeRNLlama.ts +7 -0
  40. package/src/index.ts +5 -0
package/cpp/llama.h CHANGED
@@ -103,6 +103,7 @@ extern "C" {
103
103
  LLAMA_VOCAB_PRE_TYPE_BLOOM = 23,
104
104
  LLAMA_VOCAB_PRE_TYPE_GPT3_FINNISH = 24,
105
105
  LLAMA_VOCAB_PRE_TYPE_EXAONE = 25,
106
+ LLAMA_VOCAB_PRE_TYPE_CHAMELEON = 26,
106
107
  };
107
108
 
108
109
  enum llama_rope_type {
@@ -193,6 +194,7 @@ extern "C" {
193
194
  LLAMA_POOLING_TYPE_MEAN = 1,
194
195
  LLAMA_POOLING_TYPE_CLS = 2,
195
196
  LLAMA_POOLING_TYPE_LAST = 3,
197
+ LLAMA_POOLING_TYPE_RANK = 4, // used by reranking models to attach the classification head to the graph
196
198
  };
197
199
 
198
200
  enum llama_attention_type {
@@ -202,9 +204,9 @@ extern "C" {
202
204
  };
203
205
 
204
206
  enum llama_split_mode {
205
- LLAMA_SPLIT_MODE_NONE = 0, // single GPU
206
- LLAMA_SPLIT_MODE_LAYER = 1, // split layers and KV across GPUs
207
- LLAMA_SPLIT_MODE_ROW = 2, // split rows across GPUs
207
+ LLAMA_SPLIT_MODE_NONE = 0, // single GPU
208
+ LLAMA_SPLIT_MODE_LAYER = 1, // split layers and KV across GPUs
209
+ LLAMA_SPLIT_MODE_ROW = 2, // split rows across GPUs
208
210
  };
209
211
 
210
212
  // TODO: simplify (https://github.com/ggerganov/llama.cpp/pull/9294#pullrequestreview-2286561979)
@@ -872,7 +874,8 @@ extern "C" {
872
874
 
873
875
  // Get the embeddings for a sequence id
874
876
  // Returns NULL if pooling_type is LLAMA_POOLING_TYPE_NONE
875
- // shape: [n_embd] (1-dimensional)
877
+ // when pooling_type == LLAMA_POOLING_TYPE_RANK, returns float[1] with the rank of the sequence
878
+ // otherwise: float[n_embd] (1-dimensional)
876
879
  LLAMA_API float * llama_get_embeddings_seq(struct llama_context * ctx, llama_seq_id seq_id);
877
880
 
878
881
  //
@@ -911,6 +914,8 @@ extern "C" {
911
914
  //
912
915
  // Tokenization
913
916
  //
917
+ // The API is thread-safe.
918
+ //
914
919
 
915
920
  /// @details Convert the provided text into tokens.
916
921
  /// @param tokens The tokens pointer must be large enough to hold the resulting tokens.
@@ -7,7 +7,7 @@
7
7
  #include <unordered_map>
8
8
  #include <unordered_set>
9
9
 
10
- const std::vector<std::pair<uint32_t, uint16_t>> unicode_ranges_flags = { // start, flags // last=next_start-1
10
+ const std::initializer_list<std::pair<uint32_t, uint16_t>> unicode_ranges_flags = { // start, flags // last=next_start-1
11
11
  {0x000000, 0x0080},
12
12
  {0x000020, 0x0008},
13
13
  {0x000021, 0x0020},
@@ -2311,7 +2311,8 @@ const std::unordered_set<uint32_t> unicode_set_whitespace = {
2311
2311
  0x003000,
2312
2312
  };
2313
2313
 
2314
- const std::unordered_map<uint32_t, uint32_t> unicode_map_lowercase = {
2314
+ // list is always in ascending order, to enable binary search
2315
+ const std::initializer_list<std::pair<uint32_t, uint32_t>> unicode_map_lowercase = {
2315
2316
  {0x000041, 0x000061},
2316
2317
  {0x000042, 0x000062},
2317
2318
  {0x000043, 0x000063},
@@ -3747,7 +3748,8 @@ const std::unordered_map<uint32_t, uint32_t> unicode_map_lowercase = {
3747
3748
  {0x01E921, 0x01E943},
3748
3749
  };
3749
3750
 
3750
- const std::unordered_map<uint32_t, uint32_t> unicode_map_uppercase = {
3751
+ // list is always in ascending order, to enable binary search
3752
+ const std::initializer_list<std::pair<uint32_t, uint32_t>> unicode_map_uppercase = {
3751
3753
  {0x000061, 0x000041},
3752
3754
  {0x000062, 0x000042},
3753
3755
  {0x000063, 0x000043},
@@ -5200,7 +5202,7 @@ const std::unordered_map<uint32_t, uint32_t> unicode_map_uppercase = {
5200
5202
  {0x01E943, 0x01E921},
5201
5203
  };
5202
5204
 
5203
- const std::vector<range_nfd> unicode_ranges_nfd = { // start, last, nfd
5205
+ const std::initializer_list<range_nfd> unicode_ranges_nfd = { // start, last, nfd
5204
5206
  {0x000000, 0x000000, 0x000000},
5205
5207
  {0x0000C0, 0x0000C5, 0x000041},
5206
5208
  {0x0000C7, 0x0000C7, 0x000043},
@@ -13,8 +13,8 @@ struct range_nfd {
13
13
 
14
14
  static const uint32_t MAX_CODEPOINTS = 0x110000;
15
15
 
16
- extern const std::vector<std::pair<uint32_t, uint16_t>> unicode_ranges_flags;
16
+ extern const std::initializer_list<std::pair<uint32_t, uint16_t>> unicode_ranges_flags;
17
17
  extern const std::unordered_set<uint32_t> unicode_set_whitespace;
18
- extern const std::unordered_map<uint32_t, uint32_t> unicode_map_lowercase;
19
- extern const std::unordered_map<uint32_t, uint32_t> unicode_map_uppercase;
20
- extern const std::vector<range_nfd> unicode_ranges_nfd;
18
+ extern const std::initializer_list<std::pair<uint32_t, uint32_t>> unicode_map_lowercase;
19
+ extern const std::initializer_list<std::pair<uint32_t, uint32_t>> unicode_map_uppercase;
20
+ extern const std::initializer_list<range_nfd> unicode_ranges_nfd;
package/cpp/unicode.cpp CHANGED
@@ -123,11 +123,11 @@ uint32_t unicode_cpt_from_utf8(const std::string & utf8, size_t & offset) {
123
123
  static std::vector<codepoint_flags> unicode_cpt_flags_array() {
124
124
  std::vector<codepoint_flags> cpt_flags(MAX_CODEPOINTS, codepoint_flags::UNDEFINED);
125
125
 
126
- assert (unicode_ranges_flags.front().first == 0);
127
- assert (unicode_ranges_flags.back().first == MAX_CODEPOINTS);
126
+ assert (unicode_ranges_flags.begin()[0].first == 0);
127
+ assert (unicode_ranges_flags.begin()[unicode_ranges_flags.size()-1].first == MAX_CODEPOINTS);
128
128
  for (size_t i = 1; i < unicode_ranges_flags.size(); ++i) {
129
- const auto range_ini = unicode_ranges_flags[i-1]; // codepoint_ini, flags
130
- const auto range_end = unicode_ranges_flags[i]; // codepoint_end, flags
129
+ const auto range_ini = unicode_ranges_flags.begin()[i-1]; // codepoint_ini, flags
130
+ const auto range_end = unicode_ranges_flags.begin()[i]; // codepoint_end, flags
131
131
  for (uint32_t cpt = range_ini.first; cpt < range_end.first; ++cpt) {
132
132
  cpt_flags[cpt] = range_ini.second;
133
133
  }
@@ -597,7 +597,7 @@ std::vector<uint32_t> unicode_cpts_normalize_nfd(const std::vector<uint32_t> & c
597
597
  std::vector<uint32_t> result(cpts.size());
598
598
  for (size_t i = 0; i < cpts.size(); ++i) {
599
599
  const uint32_t cpt = cpts[i];
600
- auto it = std::upper_bound(unicode_ranges_nfd.cbegin(), unicode_ranges_nfd.cend(), cpt, comp) - 1;
600
+ auto it = std::upper_bound(unicode_ranges_nfd.begin(), unicode_ranges_nfd.end(), cpt, comp) - 1;
601
601
  result[i] = (it->first <= cpt && cpt <= it->last) ? it->nfd : cpt;
602
602
  }
603
603
  return result;
@@ -639,8 +639,15 @@ uint8_t unicode_utf8_to_byte(const std::string & utf8) {
639
639
  }
640
640
 
641
641
  uint32_t unicode_tolower(uint32_t cp) {
642
- auto it = unicode_map_lowercase.find(cp);
643
- return it == unicode_map_lowercase.end() ? cp : it->second;
642
+ // binary search
643
+ auto it = std::lower_bound(unicode_map_lowercase.begin(), unicode_map_lowercase.end(), cp,
644
+ [](const std::pair<uint32_t, uint32_t> & pair, uint32_t value) {
645
+ return pair.first < value;
646
+ });
647
+ if (it != unicode_map_lowercase.end() && it->first == cp) {
648
+ return it->second;
649
+ }
650
+ return cp; // Return the original code point if no lowercase mapping is found
644
651
  }
645
652
 
646
653
  std::vector<std::string> unicode_regex_split(const std::string & text, const std::vector<std::string> & regex_exprs) {
@@ -1 +1 @@
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,GA+JnCC,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,GAsKnCC,gCAAmB,CAACC,GAAG,CAAO,SAAS,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAJ,QAAA"}
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "convertJsonSchemaToGrammar", {
16
16
  return _grammar.convertJsonSchemaToGrammar;
17
17
  }
18
18
  });
19
+ exports.getCpuFeatures = getCpuFeatures;
19
20
  exports.initLlama = initLlama;
20
21
  exports.releaseAllLlama = releaseAllLlama;
21
22
  exports.setContextLimit = setContextLimit;
@@ -136,6 +137,9 @@ class LlamaContext {
136
137
  }
137
138
  }
138
139
  exports.LlamaContext = LlamaContext;
140
+ async function getCpuFeatures() {
141
+ return _NativeRNLlama.default.getCpuFeatures();
142
+ }
139
143
  async function setContextLimit(limit) {
140
144
  return _NativeRNLlama.default.setContextLimit(limit);
141
145
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeRNLlama","_interopRequireDefault","_grammar","_chat","obj","__esModule","default","EVENT_ON_TOKEN","EVENT_ON_MODEL_PROGRESS","EventEmitter","Platform","OS","NativeEventEmitter","RNLlama","DeviceEventEmitter","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","getFormattedChat","messages","_this$model","chat","formatChat","isChatTemplateSupported","undefined","completion","params","callback","finalPrompt","prompt","tokenListener","addListener","evt","tokenResult","Error","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","progressCallback","is_model_asset","isModelAsset","rest","modelProgressListener","event","progress","modelDetails","initContext","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_NativeRNLlama","_interopRequireDefault","_grammar","_chat","obj","__esModule","default","EVENT_ON_TOKEN","EVENT_ON_MODEL_PROGRESS","EventEmitter","Platform","OS","NativeEventEmitter","RNLlama","DeviceEventEmitter","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","getFormattedChat","messages","_this$model","chat","formatChat","isChatTemplateSupported","undefined","completion","params","callback","finalPrompt","prompt","tokenListener","addListener","evt","tokenResult","Error","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","getCpuFeatures","setContextLimit","limit","initLlama","_ref2","progressCallback","is_model_asset","isModelAsset","rest","modelProgressListener","event","progress","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;AA+JlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,SAAS,CAAC"}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"..\\..\\src","sources":["NativeRNLlama.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAsKlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,SAAS,CAAC"}
@@ -114,6 +114,9 @@ export class LlamaContext {
114
114
  return RNLlama.releaseContext(this.id);
115
115
  }
116
116
  }
117
+ export async function getCpuFeatures() {
118
+ return RNLlama.getCpuFeatures();
119
+ }
117
120
  export async function setContextLimit(limit) {
118
121
  return RNLlama.setContextLimit(limit);
119
122
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","RNLlama","SchemaGrammarConverter","convertJsonSchemaToGrammar","formatChat","EVENT_ON_TOKEN","EVENT_ON_MODEL_PROGRESS","EventEmitter","OS","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","getFormattedChat","messages","_this$model","chat","isChatTemplateSupported","undefined","completion","params","callback","finalPrompt","prompt","tokenListener","addListener","evt","tokenResult","Error","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","progressCallback","is_model_asset","isModelAsset","rest","modelProgressListener","event","progress","modelDetails","initContext","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","RNLlama","SchemaGrammarConverter","convertJsonSchemaToGrammar","formatChat","EVENT_ON_TOKEN","EVENT_ON_MODEL_PROGRESS","EventEmitter","OS","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","getFormattedChat","messages","_this$model","chat","isChatTemplateSupported","undefined","completion","params","callback","finalPrompt","prompt","tokenListener","addListener","evt","tokenResult","Error","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","getCpuFeatures","setContextLimit","limit","initLlama","_ref2","progressCallback","is_model_asset","isModelAsset","rest","modelProgressListener","event","progress","modelDetails","initContext","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}
@@ -94,6 +94,11 @@ export type NativeLlamaChatMessage = {
94
94
  role: string;
95
95
  content: string;
96
96
  };
97
+ export type NativeCPUFeatures = {
98
+ armv8: boolean;
99
+ i8mm: boolean;
100
+ dotprod: boolean;
101
+ };
97
102
  export interface Spec extends TurboModule {
98
103
  setContextLimit(limit: number): Promise<void>;
99
104
  initContext(params: NativeContextParams): Promise<NativeLlamaContext>;
@@ -103,6 +108,7 @@ export interface Spec extends TurboModule {
103
108
  stopCompletion(contextId: number): Promise<void>;
104
109
  tokenizeAsync(contextId: number, text: string): Promise<NativeTokenizeResult>;
105
110
  tokenizeSync(contextId: number, text: string): NativeTokenizeResult;
111
+ getCpuFeatures(): Promise<NativeCPUFeatures>;
106
112
  getFormattedChat(contextId: number, messages: NativeLlamaChatMessage[], chatTemplate?: string): Promise<string>;
107
113
  detokenize(contextId: number, tokens: number[]): Promise<string>;
108
114
  embedding(contextId: number, text: string): Promise<NativeEmbeddingResult>;
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import type { NativeContextParams, NativeLlamaContext, NativeCompletionParams, NativeCompletionTokenProb, NativeCompletionResult, NativeTokenizeResult, NativeEmbeddingResult, NativeSessionLoadResult } from './NativeRNLlama';
1
+ import type { NativeContextParams, NativeLlamaContext, NativeCompletionParams, NativeCompletionTokenProb, NativeCompletionResult, NativeTokenizeResult, NativeEmbeddingResult, NativeSessionLoadResult, NativeCPUFeatures } from './NativeRNLlama';
2
2
  import { SchemaGrammarConverter, convertJsonSchemaToGrammar } from './grammar';
3
3
  import type { RNLlamaOAICompatibleMessage } from './chat';
4
4
  export { SchemaGrammarConverter, convertJsonSchemaToGrammar };
@@ -48,6 +48,7 @@ export declare class LlamaContext {
48
48
  bench(pp: number, tg: number, pl: number, nr: number): Promise<BenchResult>;
49
49
  release(): Promise<void>;
50
50
  }
51
+ export declare function getCpuFeatures(): Promise<NativeCPUFeatures>;
51
52
  export declare function setContextLimit(limit: number): Promise<void>;
52
53
  export declare function initLlama({ model, is_model_asset: isModelAsset, ...rest }: ContextParams, progressCallback?: (progress: number) => void): Promise<LlamaContext>;
53
54
  export declare function releaseAllLlama(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cui-llama.rn",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "Fork of llama.rn for ChatterUI",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -118,6 +118,12 @@ export type NativeLlamaChatMessage = {
118
118
  content: string
119
119
  }
120
120
 
121
+ export type NativeCPUFeatures = {
122
+ armv8: boolean
123
+ i8mm: boolean
124
+ dotprod: boolean
125
+ }
126
+
121
127
  export interface Spec extends TurboModule {
122
128
  setContextLimit(limit: number): Promise<void>
123
129
  initContext(params: NativeContextParams): Promise<NativeLlamaContext>
@@ -138,6 +144,7 @@ export interface Spec extends TurboModule {
138
144
  stopCompletion(contextId: number): Promise<void>
139
145
  tokenizeAsync(contextId: number, text: string): Promise<NativeTokenizeResult>
140
146
  tokenizeSync(contextId: number, text: string): NativeTokenizeResult
147
+ getCpuFeatures() : Promise<NativeCPUFeatures>
141
148
  getFormattedChat(
142
149
  contextId: number,
143
150
  messages: NativeLlamaChatMessage[],
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ import type {
10
10
  NativeTokenizeResult,
11
11
  NativeEmbeddingResult,
12
12
  NativeSessionLoadResult,
13
+ NativeCPUFeatures,
13
14
  } from './NativeRNLlama'
14
15
  import { SchemaGrammarConverter, convertJsonSchemaToGrammar } from './grammar'
15
16
  import type { RNLlamaOAICompatibleMessage } from './chat'
@@ -190,6 +191,10 @@ export class LlamaContext {
190
191
  }
191
192
  }
192
193
 
194
+ export async function getCpuFeatures() : Promise<NativeCPUFeatures> {
195
+ return RNLlama.getCpuFeatures()
196
+ }
197
+
193
198
  export async function setContextLimit(limit: number): Promise<void> {
194
199
  return RNLlama.setContextLimit(limit)
195
200
  }