react-native-executorch 0.8.2 → 0.8.4

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 (52) hide show
  1. package/android/src/main/java/com/swmansion/rnexecutorch/ETInstallerUnavailable.kt +27 -0
  2. package/android/src/main/java/com/swmansion/rnexecutorch/RnExecutorchPackage.kt +12 -1
  3. package/common/rnexecutorch/host_objects/ModelHostObject.h +12 -1
  4. package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.cpp +6 -0
  5. package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.h +3 -0
  6. package/common/rnexecutorch/models/llm/LLM.cpp +31 -3
  7. package/common/rnexecutorch/models/llm/LLM.h +2 -0
  8. package/common/rnexecutorch/models/text_to_image/TextToImage.cpp +2 -0
  9. package/common/rnexecutorch/models/text_to_image/TextToImage.h +2 -0
  10. package/common/rnexecutorch/models/voice_activity_detection/VoiceActivityDetection.cpp +6 -0
  11. package/common/rnexecutorch/models/voice_activity_detection/VoiceActivityDetection.h +5 -0
  12. package/common/runner/base_llm_runner.cpp +8 -6
  13. package/common/runner/base_llm_runner.h +8 -4
  14. package/common/runner/encoders/vision_encoder.cpp +12 -4
  15. package/common/runner/irunner.h +15 -0
  16. package/common/runner/multimodal_decoder_runner.h +3 -2
  17. package/common/runner/multimodal_runner.cpp +4 -16
  18. package/common/runner/multimodal_runner.h +0 -4
  19. package/common/runner/sampler.cpp +32 -13
  20. package/common/runner/sampler.h +59 -1
  21. package/common/runner/text_decoder_runner.cpp +31 -3
  22. package/common/runner/text_decoder_runner.h +13 -46
  23. package/common/runner/text_runner.cpp +3 -26
  24. package/common/runner/text_runner.h +0 -4
  25. package/common/runner/text_token_generator.h +20 -18
  26. package/lib/module/constants/modelUrls.js +53 -10
  27. package/lib/module/constants/modelUrls.js.map +1 -1
  28. package/lib/module/controllers/LLMController.js +75 -22
  29. package/lib/module/controllers/LLMController.js.map +1 -1
  30. package/lib/module/hooks/natural_language_processing/useLLM.js +1 -0
  31. package/lib/module/hooks/natural_language_processing/useLLM.js.map +1 -1
  32. package/lib/module/index.js +11 -0
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/modules/natural_language_processing/LLMModule.js +1 -1
  35. package/lib/module/types/llm.js +4 -1
  36. package/lib/module/types/llm.js.map +1 -1
  37. package/lib/typescript/constants/modelUrls.d.ts +126 -0
  38. package/lib/typescript/constants/modelUrls.d.ts.map +1 -1
  39. package/lib/typescript/controllers/LLMController.d.ts +3 -1
  40. package/lib/typescript/controllers/LLMController.d.ts.map +1 -1
  41. package/lib/typescript/index.d.ts +7 -0
  42. package/lib/typescript/index.d.ts.map +1 -1
  43. package/lib/typescript/modules/natural_language_processing/LLMModule.d.ts +1 -1
  44. package/lib/typescript/types/llm.d.ts +21 -1
  45. package/lib/typescript/types/llm.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/src/constants/modelUrls.ts +45 -2
  48. package/src/controllers/LLMController.ts +84 -25
  49. package/src/hooks/natural_language_processing/useLLM.ts +1 -0
  50. package/src/index.ts +11 -0
  51. package/src/modules/natural_language_processing/LLMModule.ts +1 -1
  52. package/src/types/llm.ts +21 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LLMController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LLMController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,OAAO,EAEP,WAAW,EACZ,MAAM,cAAc,CAAC;AAMtB,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,OAAO,CAAC,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAiB;IAExC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,oBAAoB,CAAkC;gBAElD,EACV,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,oBAAoB,GACrB,EAAE;QACD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACxC,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAC7D,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;QAC7C,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;KACxD;IAkBD,IAAW,OAAO,YAEjB;IAED,IAAW,YAAY,YAEtB;IAED,IAAW,cAAc,cAExB;IAEY,IAAI,CAAC,EAChB,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,0BAA0B,GAC3B,EAAE;QACD,WAAW,EAAE,cAAc,CAAC;QAC5B,eAAe,EAAE,cAAc,CAAC;QAChC,qBAAqB,EAAE,cAAc,CAAC;QACtC,YAAY,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;QACxC,0BAA0B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;KACjE;IAmEM,gBAAgB,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAIvD,SAAS,CAAC,EACf,UAAU,EACV,WAAW,EACX,gBAAgB,GACjB,EAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC;IA4BD,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,mBAAmB;IAiBpB,MAAM;IAgBA,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAiCpE,SAAS;IAUT,sBAAsB,IAAI,MAAM;IAUhC,mBAAmB,IAAI,MAAM;IAU7B,kBAAkB,IAAI,MAAM;IAItB,QAAQ,CACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC;IAqCL,WAAW,CACtB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC,MAAM,CAAC;IA2EX,aAAa,CAAC,KAAK,EAAE,MAAM;IAQlC,OAAO,CAAC,iBAAiB;CA4B1B"}
1
+ {"version":3,"file":"LLMController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LLMController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,OAAO,EAEP,WAAW,EACZ,MAAM,cAAc,CAAC;AAMtB,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,OAAO,CAAC,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAiB;IAExC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,oBAAoB,CAAkC;gBAElD,EACV,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,oBAAoB,GACrB,EAAE;QACD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACxC,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAC7D,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;QAC7C,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;KACxD;IAkBD,IAAW,OAAO,YAEjB;IAED,IAAW,YAAY,YAEtB;IAED,IAAW,cAAc,cAExB;IAEY,IAAI,CAAC,EAChB,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,GAC3B,EAAE;QACD,WAAW,EAAE,cAAc,CAAC;QAC5B,eAAe,EAAE,cAAc,CAAC;QAChC,qBAAqB,EAAE,cAAc,CAAC;QACtC,YAAY,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;QACxC,uBAAuB,CAAC,EAAE,gBAAgB,CAAC;QAC3C,0BAA0B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;KACjE;IAyEM,gBAAgB,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAIvD,SAAS,CAAC,EACf,UAAU,EACV,WAAW,EACX,gBAAgB,GACjB,EAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC;IAaD,OAAO,CAAC,qBAAqB;IA6C7B,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,mBAAmB;IAiBpB,MAAM;IAgBA,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAiCpE,SAAS;IAUT,sBAAsB,IAAI,MAAM;IAUhC,mBAAmB,IAAI,MAAM;IAU7B,kBAAkB,IAAI,MAAM;IAItB,QAAQ,CACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC;IAqCL,WAAW,CACtB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC,MAAM,CAAC;IA+DX,aAAa,CAAC,KAAK,EAAE,MAAM;IAQlC,OAAO,CAAC,iBAAiB;CA4B1B"}
@@ -39,6 +39,13 @@ declare global {
39
39
  var loadVerticalOCR: (detectorSource: string, recognizer: string, symbols: string, independentCharacters?: boolean) => Promise<any>;
40
40
  var __rne_isEmulator: boolean;
41
41
  }
42
+ /**
43
+ * Whether the native ExecuTorch runtime is available on this device.
44
+ * Returns `false` when native libraries cannot be loaded (e.g. 32-bit Android
45
+ * devices where only arm64-v8a binaries are shipped).
46
+ * @category Utilities - General
47
+ */
48
+ export declare const isAvailable: boolean;
42
49
  export * from './hooks/computer_vision/useClassification';
43
50
  export * from './hooks/computer_vision/useObjectDetection';
44
51
  export * from './hooks/computer_vision/useStyleTransfer';
@@ -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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"}
@@ -67,7 +67,7 @@ export declare class LLMModule {
67
67
  * It doesn't manage conversation context. It is intended for users that need access to the model itself without any wrapper.
68
68
  * If you want a simple chat with model the consider using `sendMessage`
69
69
  * @param input - Raw input string containing the prompt and conversation history.
70
- * @param imagePaths - Optional array of local image paths for multimodal inference.
70
+ * @param imagePaths - Optional array of local image paths for multimodal inference. Each entry may be either `file:///absolute/path` or `/absolute/path` — the controller normalizes the path before passing it to native code.
71
71
  * @returns The generated response as a string.
72
72
  */
73
73
  forward(input: string, imagePaths?: string[]): Promise<string>;
@@ -46,6 +46,13 @@ export interface LLMProps {
46
46
  * Example: `['vision']` enables `sendMessage(text, { imagePath })`.
47
47
  */
48
48
  capabilities?: readonly LLMCapability[];
49
+ /**
50
+ * Recommended default generation settings, typically copied from the
51
+ * upstream `generation_config.json` or the model card. Applied automatically
52
+ * after the native module loads and before any user `configure()` call,
53
+ * so callers only need to override the values they want to change.
54
+ */
55
+ generationConfig?: GenerationConfig;
49
56
  };
50
57
  /**
51
58
  * Boolean that can prevent automatic model loading (and downloading the data if you load it for the first time) after running the hook.
@@ -189,6 +196,10 @@ export interface LLMConfig {
189
196
  * `temperature` - Scales output logits by the inverse of temperature. Controls the randomness / creativity of text generation.
190
197
  *
191
198
  * `topp` - Only samples from the smallest set of tokens whose cumulative probability exceeds topp.
199
+ *
200
+ * `minP` - Minimum probability threshold: tokens with prob < minP * max_prob are excluded. 0 disables filtering.
201
+ *
202
+ * `repetitionPenalty` - Multiplicative penalty applied to logits of recently generated tokens. Values > 1 discourage repetition. 1 disables the penalty.
192
203
  */
193
204
  generationConfig?: GenerationConfig;
194
205
  }
@@ -209,6 +220,8 @@ export interface Message {
209
220
  /**
210
221
  * Optional local file path to media (image, audio, etc.).
211
222
  * Only valid on `user` messages.
223
+ * Either `file:///absolute/path` or `/absolute/path` is accepted; the
224
+ * controller normalizes the path before passing it to native code.
212
225
  */
213
226
  mediaPath?: string;
214
227
  }
@@ -257,13 +270,20 @@ export interface ToolsConfig {
257
270
  * Object configuring generation settings.
258
271
  * @category Types
259
272
  * @property {number} [temperature] - Scales output logits by the inverse of temperature. Controls the randomness / creativity of text generation.
260
- * @property {number} [topp] - Only samples from the smallest set of tokens whose cumulative probability exceeds topp.
273
+ * @property {number} [topP] - Only samples from the smallest set of tokens whose cumulative probability exceeds topP.
274
+ * @property {number} [topp] - **Deprecated.** Use `topP` instead.
275
+ * @property {number} [minP] - Minimum probability threshold: tokens with prob < minP * max_prob are excluded. 0 disables filtering.
276
+ * @property {number} [repetitionPenalty] - Multiplicative penalty applied to logits of recently generated tokens. Values > 1 discourage repetition. 1 disables the penalty.
261
277
  * @property {number} [outputTokenBatchSize] - Soft upper limit on the number of tokens in each token batch (in certain cases there can be more tokens in given batch, i.e. when the batch would end with special emoji join character).
262
278
  * @property {number} [batchTimeInterval] - Upper limit on the time interval between consecutive token batches.
263
279
  */
264
280
  export interface GenerationConfig {
265
281
  temperature?: number;
282
+ topP?: number;
283
+ /** @deprecated Use `topP` instead. */
266
284
  topp?: number;
285
+ minP?: number;
286
+ repetitionPenalty?: number;
267
287
  outputTokenBatchSize?: number;
268
288
  batchTimeInterval?: number;
269
289
  }
@@ -1 +1 @@
1
- {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/types/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/types/llm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-executorch",
3
- "version": "0.8.2",
3
+ "version": "0.8.4",
4
4
  "description": "An easy way to run AI models in React Native with ExecuTorch",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/module/index.js",
@@ -83,6 +83,14 @@ const QWEN3_4B_QUANTIZED_MODEL = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/qwen-3-4B/
83
83
  const QWEN3_TOKENIZER = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/tokenizer.json`;
84
84
  const QWEN3_TOKENIZER_CONFIG = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/tokenizer_config.json`;
85
85
 
86
+ // Qwen3's published generation_config.json recommends temperature=0.6 and
87
+ // top_p=0.95. We propagate those to every Qwen3 preset so model quality is
88
+ // reasonable out of the box; users can override via `configure()`.
89
+ const QWEN3_GENERATION_CONFIG = {
90
+ temperature: 0.6,
91
+ topP: 0.95,
92
+ } as const;
93
+
86
94
  /**
87
95
  * @category Models - LLM
88
96
  */
@@ -91,6 +99,7 @@ export const QWEN3_0_6B = {
91
99
  modelSource: QWEN3_0_6B_MODEL,
92
100
  tokenizerSource: QWEN3_TOKENIZER,
93
101
  tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG,
102
+ generationConfig: QWEN3_GENERATION_CONFIG,
94
103
  } as const;
95
104
 
96
105
  /**
@@ -101,6 +110,7 @@ export const QWEN3_0_6B_QUANTIZED = {
101
110
  modelSource: QWEN3_0_6B_QUANTIZED_MODEL,
102
111
  tokenizerSource: QWEN3_TOKENIZER,
103
112
  tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG,
113
+ generationConfig: QWEN3_GENERATION_CONFIG,
104
114
  } as const;
105
115
 
106
116
  /**
@@ -111,6 +121,7 @@ export const QWEN3_1_7B = {
111
121
  modelSource: QWEN3_1_7B_MODEL,
112
122
  tokenizerSource: QWEN3_TOKENIZER,
113
123
  tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG,
124
+ generationConfig: QWEN3_GENERATION_CONFIG,
114
125
  } as const;
115
126
 
116
127
  /**
@@ -121,6 +132,7 @@ export const QWEN3_1_7B_QUANTIZED = {
121
132
  modelSource: QWEN3_1_7B_QUANTIZED_MODEL,
122
133
  tokenizerSource: QWEN3_TOKENIZER,
123
134
  tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG,
135
+ generationConfig: QWEN3_GENERATION_CONFIG,
124
136
  } as const;
125
137
 
126
138
  /**
@@ -131,6 +143,7 @@ export const QWEN3_4B = {
131
143
  modelSource: QWEN3_4B_MODEL,
132
144
  tokenizerSource: QWEN3_TOKENIZER,
133
145
  tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG,
146
+ generationConfig: QWEN3_GENERATION_CONFIG,
134
147
  } as const;
135
148
 
136
149
  /**
@@ -141,6 +154,7 @@ export const QWEN3_4B_QUANTIZED = {
141
154
  modelSource: QWEN3_4B_QUANTIZED_MODEL,
142
155
  tokenizerSource: QWEN3_TOKENIZER,
143
156
  tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG,
157
+ generationConfig: QWEN3_GENERATION_CONFIG,
144
158
  } as const;
145
159
 
146
160
  // HAMMER 2.1
@@ -444,25 +458,52 @@ const LFM2_VL_450M_TOKENIZER_CONFIG = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2
444
458
  /**
445
459
  * @category Models - VLM
446
460
  */
447
- export const LFM2_VL_1_6B_QUANTIZED = {
461
+ // LiquidAI's LFM2-VL model card recommends the following sampling settings.
462
+ // Without them the model often produces generic / repetitive responses.
463
+ const LFM2_5_VL_GENERATION_CONFIG = {
464
+ temperature: 0.1,
465
+ minP: 0.15,
466
+ repetitionPenalty: 1.05,
467
+ } as const;
468
+
469
+ /**
470
+ * @category Models - VLM
471
+ */
472
+ export const LFM2_5_VL_1_6B_QUANTIZED = {
448
473
  modelName: 'lfm2.5-vl-1.6b-quantized',
449
474
  capabilities: ['vision'],
450
475
  modelSource: LFM2_VL_1_6B_QUANTIZED_MODEL,
451
476
  tokenizerSource: LFM2_VL_1_6B_TOKENIZER,
452
477
  tokenizerConfigSource: LFM2_VL_1_6B_TOKENIZER_CONFIG,
478
+ generationConfig: LFM2_5_VL_GENERATION_CONFIG,
453
479
  } as const;
454
480
 
455
481
  /**
456
482
  * @category Models - VLM
457
483
  */
458
- export const LFM2_VL_450M_QUANTIZED = {
484
+ export const LFM2_5_VL_450M_QUANTIZED = {
459
485
  modelName: 'lfm2.5-vl-450m-quantized',
460
486
  capabilities: ['vision'],
461
487
  modelSource: LFM2_VL_450M_QUANTIZED_MODEL,
462
488
  tokenizerSource: LFM2_VL_450M_TOKENIZER,
463
489
  tokenizerConfigSource: LFM2_VL_450M_TOKENIZER_CONFIG,
490
+ generationConfig: LFM2_5_VL_GENERATION_CONFIG,
464
491
  } as const;
465
492
 
493
+ /**
494
+ * @deprecated Use `LFM2_5_VL_1_6B_QUANTIZED` instead — the model is from the
495
+ * LFM2.5 family. This alias will be removed in a future major release.
496
+ * @category Models - VLM
497
+ */
498
+ export const LFM2_VL_1_6B_QUANTIZED = LFM2_5_VL_1_6B_QUANTIZED;
499
+
500
+ /**
501
+ * @deprecated Use `LFM2_5_VL_450M_QUANTIZED` instead — the model is from the
502
+ * LFM2.5 family. This alias will be removed in a future major release.
503
+ * @category Models - VLM
504
+ */
505
+ export const LFM2_VL_450M_QUANTIZED = LFM2_5_VL_450M_QUANTIZED;
506
+
466
507
  // Classification
467
508
  const EFFICIENTNET_V2_S_MODEL =
468
509
  Platform.OS === `ios`
@@ -1121,6 +1162,8 @@ export const MODEL_REGISTRY = {
1121
1162
  LFM2_5_350M_QUANTIZED,
1122
1163
  LFM2_5_1_2B_INSTRUCT,
1123
1164
  LFM2_5_1_2B_INSTRUCT_QUANTIZED,
1165
+ LFM2_5_VL_1_6B_QUANTIZED,
1166
+ LFM2_5_VL_450M_QUANTIZED,
1124
1167
  LFM2_VL_1_6B_QUANTIZED,
1125
1168
  LFM2_VL_450M_QUANTIZED,
1126
1169
  EFFICIENTNET_V2_S,
@@ -76,12 +76,14 @@ export class LLMController {
76
76
  tokenizerSource,
77
77
  tokenizerConfigSource,
78
78
  capabilities,
79
+ defaultGenerationConfig,
79
80
  onDownloadProgressCallback,
80
81
  }: {
81
82
  modelSource: ResourceSource;
82
83
  tokenizerSource: ResourceSource;
83
84
  tokenizerConfigSource: ResourceSource;
84
85
  capabilities?: readonly LLMCapability[];
86
+ defaultGenerationConfig?: GenerationConfig;
85
87
  onDownloadProgressCallback?: (downloadProgress: number) => void;
86
88
  }) {
87
89
  // reset inner state when loading new model
@@ -130,6 +132,12 @@ export class LLMController {
130
132
  tokenizerPath,
131
133
  capabilities ?? []
132
134
  );
135
+ if (defaultGenerationConfig) {
136
+ // Apply model-specific recommended sampling defaults before flipping
137
+ // isReady so callers that react to it see the right config on first
138
+ // send. User-provided `configure()` calls still override these.
139
+ this.applyGenerationConfig(defaultGenerationConfig);
140
+ }
133
141
  this.isReadyCallback(true);
134
142
  this.onToken = (data: string) => {
135
143
  if (!data) {
@@ -166,28 +174,58 @@ export class LLMController {
166
174
  this.chatConfig = { ...DEFAULT_CHAT_CONFIG, ...chatConfig };
167
175
  this.toolsConfig = toolsConfig;
168
176
 
169
- if (generationConfig?.outputTokenBatchSize) {
177
+ if (generationConfig) {
178
+ this.applyGenerationConfig(generationConfig);
179
+ }
180
+
181
+ // reset inner state when loading new configuration
182
+ this.messageHistoryCallback(this.chatConfig.initialMessageHistory);
183
+ this.isGeneratingCallback(false);
184
+ }
185
+
186
+ private applyGenerationConfig(generationConfig: GenerationConfig) {
187
+ if (generationConfig.outputTokenBatchSize) {
170
188
  this.nativeModule.setCountInterval(generationConfig.outputTokenBatchSize);
171
189
  }
172
- if (generationConfig?.batchTimeInterval) {
190
+ if (generationConfig.batchTimeInterval) {
173
191
  this.nativeModule.setTimeInterval(generationConfig.batchTimeInterval);
174
192
  }
175
- if (generationConfig?.temperature) {
193
+ if (generationConfig.temperature !== undefined) {
176
194
  this.nativeModule.setTemperature(generationConfig.temperature);
177
195
  }
178
- if (generationConfig?.topp) {
179
- if (generationConfig.topp < 0 || generationConfig.topp > 1) {
196
+ // `topp` is the legacy spelling kept for backwards compatibility — `topP`
197
+ // wins when both are set so callers migrating to the new name don't get
198
+ // surprised by stale values. Reading the deprecated alias is intentional.
199
+ const topP = generationConfig.topP ?? generationConfig.topp;
200
+ if (topP !== undefined) {
201
+ if (topP < 0 || topP > 1) {
180
202
  throw new RnExecutorchError(
181
203
  RnExecutorchErrorCode.InvalidConfig,
182
204
  'Top P has to be in range [0, 1]'
183
205
  );
184
206
  }
185
- this.nativeModule.setTopp(generationConfig.topp);
207
+ this.nativeModule.setTopp(topP);
208
+ }
209
+ if (generationConfig.minP !== undefined) {
210
+ if (generationConfig.minP < 0 || generationConfig.minP > 1) {
211
+ throw new RnExecutorchError(
212
+ RnExecutorchErrorCode.InvalidConfig,
213
+ 'Min P has to be in range [0, 1]'
214
+ );
215
+ }
216
+ this.nativeModule.setMinP(generationConfig.minP);
217
+ }
218
+ if (generationConfig.repetitionPenalty !== undefined) {
219
+ if (generationConfig.repetitionPenalty < 0) {
220
+ throw new RnExecutorchError(
221
+ RnExecutorchErrorCode.InvalidConfig,
222
+ 'Repetition penalty must be non-negative'
223
+ );
224
+ }
225
+ this.nativeModule.setRepetitionPenalty(
226
+ generationConfig.repetitionPenalty
227
+ );
186
228
  }
187
-
188
- // reset inner state when loading new configuration
189
- this.messageHistoryCallback(this.chatConfig.initialMessageHistory);
190
- this.isGeneratingCallback(false);
191
229
  }
192
230
 
193
231
  private getImageToken(): string {
@@ -254,7 +292,7 @@ export class LLMController {
254
292
  imagePaths && imagePaths.length > 0
255
293
  ? await this.nativeModule.generateMultimodal(
256
294
  input,
257
- imagePaths,
295
+ imagePaths.map(normalizeImagePath),
258
296
  this.getImageToken(),
259
297
  this.onToken
260
298
  )
@@ -354,18 +392,6 @@ export class LLMController {
354
392
  const updatedHistory = [...this._messageHistory, newMessage];
355
393
  this.messageHistoryCallback(updatedHistory);
356
394
 
357
- const historyForTemplate = updatedHistory.map((m) =>
358
- m.mediaPath
359
- ? {
360
- ...m,
361
- content: [
362
- { type: 'image' },
363
- { type: 'text', text: m.content },
364
- ] as any,
365
- }
366
- : m
367
- );
368
-
369
395
  const visualTokenCount = this.nativeModule.getVisualTokenCount();
370
396
  const countTokensCallback = (messages: Message[]) => {
371
397
  const rendered = this.applyChatTemplate(
@@ -383,7 +409,7 @@ export class LLMController {
383
409
  const messageHistoryWithPrompt =
384
410
  this.chatConfig.contextStrategy.buildContext(
385
411
  this.chatConfig.systemPrompt,
386
- historyForTemplate,
412
+ updatedHistory,
387
413
  maxContextLength,
388
414
  countTokensCallback
389
415
  );
@@ -448,7 +474,7 @@ export class LLMController {
448
474
  );
449
475
 
450
476
  const result = template.render({
451
- messages,
477
+ messages: messagesForChatTemplate(messages),
452
478
  tools,
453
479
  ...templateFlags,
454
480
  ...specialTokens,
@@ -456,3 +482,36 @@ export class LLMController {
456
482
  return result;
457
483
  }
458
484
  }
485
+
486
+ /**
487
+ * The native multimodal pipeline expects image paths to be `file://` URIs.
488
+ * `ResourceFetcher.fetch` and most platform file APIs return raw filesystem
489
+ * paths without that prefix, so callers routinely pass either form. Accept
490
+ * both and normalize to the prefixed form here.
491
+ * @param path - Local image path, either with or without the `file://` prefix.
492
+ * @returns The same path with a `file://` prefix.
493
+ */
494
+ function normalizeImagePath(path: string): string {
495
+ return path.startsWith('file://') ? path : `file://${path}`;
496
+ }
497
+
498
+ /**
499
+ * Multimodal chat templates expect message content for image-bearing turns
500
+ * to be an array of content parts with an `image` part as a placeholder.
501
+ * Callers of `LLMController.generate` and `LLMController.sendMessage` pass
502
+ * messages with a plain string `content` plus an optional `mediaPath`; this
503
+ * helper rewrites them into the structured form that the template engine
504
+ * understands.
505
+ * @param messages - Messages to prepare for the chat template engine.
506
+ * @returns Messages with image-bearing turns rewritten to structured content.
507
+ */
508
+ function messagesForChatTemplate(messages: Message[]): any[] {
509
+ return messages.map((m) =>
510
+ m.mediaPath && typeof m.content === 'string'
511
+ ? {
512
+ ...m,
513
+ content: [{ type: 'image' }, { type: 'text', text: m.content }],
514
+ }
515
+ : m
516
+ );
517
+ }
@@ -62,6 +62,7 @@ export function useLLM({
62
62
  tokenizerSource: model.tokenizerSource,
63
63
  tokenizerConfigSource: model.tokenizerConfigSource!,
64
64
  capabilities: model.capabilities,
65
+ defaultGenerationConfig: model.generationConfig,
65
66
  onDownloadProgressCallback: setDownloadProgress,
66
67
  });
67
68
  } catch (e) {
package/src/index.ts CHANGED
@@ -134,9 +134,20 @@ if (
134
134
  `Failed to install react-native-executorch: The native module could not be found.`
135
135
  );
136
136
  }
137
+ // install() returns false when the native library is intentionally unavailable
138
+ // (e.g. ETInstallerUnavailable on unsupported ABIs). In that case, JSI
139
+ // bindings are not injected and globals remain unset.
137
140
  ETInstallerNativeModule.install();
138
141
  }
139
142
 
143
+ /**
144
+ * Whether the native ExecuTorch runtime is available on this device.
145
+ * Returns `false` when native libraries cannot be loaded (e.g. 32-bit Android
146
+ * devices where only arm64-v8a binaries are shipped).
147
+ * @category Utilities - General
148
+ */
149
+ export const isAvailable = typeof global.loadExecutorchModule === 'function';
150
+
140
151
  // hooks
141
152
  export * from './hooks/computer_vision/useClassification';
142
153
  export * from './hooks/computer_vision/useObjectDetection';
@@ -139,7 +139,7 @@ export class LLMModule {
139
139
  * It doesn't manage conversation context. It is intended for users that need access to the model itself without any wrapper.
140
140
  * If you want a simple chat with model the consider using `sendMessage`
141
141
  * @param input - Raw input string containing the prompt and conversation history.
142
- * @param imagePaths - Optional array of local image paths for multimodal inference.
142
+ * @param imagePaths - Optional array of local image paths for multimodal inference. Each entry may be either `file:///absolute/path` or `/absolute/path` — the controller normalizes the path before passing it to native code.
143
143
  * @returns The generated response as a string.
144
144
  */
145
145
  async forward(input: string, imagePaths?: string[]): Promise<string> {
package/src/types/llm.ts CHANGED
@@ -87,6 +87,13 @@ export interface LLMProps {
87
87
  * Example: `['vision']` enables `sendMessage(text, { imagePath })`.
88
88
  */
89
89
  capabilities?: readonly LLMCapability[];
90
+ /**
91
+ * Recommended default generation settings, typically copied from the
92
+ * upstream `generation_config.json` or the model card. Applied automatically
93
+ * after the native module loads and before any user `configure()` call,
94
+ * so callers only need to override the values they want to change.
95
+ */
96
+ generationConfig?: GenerationConfig;
90
97
  };
91
98
  /**
92
99
  * Boolean that can prevent automatic model loading (and downloading the data if you load it for the first time) after running the hook.
@@ -248,6 +255,10 @@ export interface LLMConfig {
248
255
  * `temperature` - Scales output logits by the inverse of temperature. Controls the randomness / creativity of text generation.
249
256
  *
250
257
  * `topp` - Only samples from the smallest set of tokens whose cumulative probability exceeds topp.
258
+ *
259
+ * `minP` - Minimum probability threshold: tokens with prob < minP * max_prob are excluded. 0 disables filtering.
260
+ *
261
+ * `repetitionPenalty` - Multiplicative penalty applied to logits of recently generated tokens. Values > 1 discourage repetition. 1 disables the penalty.
251
262
  */
252
263
  generationConfig?: GenerationConfig;
253
264
  }
@@ -270,6 +281,8 @@ export interface Message {
270
281
  /**
271
282
  * Optional local file path to media (image, audio, etc.).
272
283
  * Only valid on `user` messages.
284
+ * Either `file:///absolute/path` or `/absolute/path` is accepted; the
285
+ * controller normalizes the path before passing it to native code.
273
286
  */
274
287
  mediaPath?: string;
275
288
  }
@@ -323,13 +336,20 @@ export interface ToolsConfig {
323
336
  * Object configuring generation settings.
324
337
  * @category Types
325
338
  * @property {number} [temperature] - Scales output logits by the inverse of temperature. Controls the randomness / creativity of text generation.
326
- * @property {number} [topp] - Only samples from the smallest set of tokens whose cumulative probability exceeds topp.
339
+ * @property {number} [topP] - Only samples from the smallest set of tokens whose cumulative probability exceeds topP.
340
+ * @property {number} [topp] - **Deprecated.** Use `topP` instead.
341
+ * @property {number} [minP] - Minimum probability threshold: tokens with prob < minP * max_prob are excluded. 0 disables filtering.
342
+ * @property {number} [repetitionPenalty] - Multiplicative penalty applied to logits of recently generated tokens. Values > 1 discourage repetition. 1 disables the penalty.
327
343
  * @property {number} [outputTokenBatchSize] - Soft upper limit on the number of tokens in each token batch (in certain cases there can be more tokens in given batch, i.e. when the batch would end with special emoji join character).
328
344
  * @property {number} [batchTimeInterval] - Upper limit on the time interval between consecutive token batches.
329
345
  */
330
346
  export interface GenerationConfig {
331
347
  temperature?: number;
348
+ topP?: number;
349
+ /** @deprecated Use `topP` instead. */
332
350
  topp?: number;
351
+ minP?: number;
352
+ repetitionPenalty?: number;
333
353
  outputTokenBatchSize?: number;
334
354
  batchTimeInterval?: number;
335
355
  }