Skip to content

Commit 2cbd555

Browse files
Consolidate Gemma 4 E2B tokenizers and pin MLX multimodal to HF URLs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 29de012 commit 2cbd555

5 files changed

Lines changed: 14 additions & 17 deletions

File tree

‎packages/react-native-executorch/src/constants/modelUrls.ts‎

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,14 @@ const LLAMA3_2_1B_SPINQUANT_MODEL = `${URL_PREFIX}-llama-3.2/${PREVIOUS_VERSION_
1616
const LLAMA3_2_TOKENIZER = `${URL_PREFIX}-llama-3.2/${PREVIOUS_VERSION_TAG}/tokenizer.json`;
1717
const LLAMA3_2_TOKENIZER_CONFIG = `${URL_PREFIX}-llama-3.2/${PREVIOUS_VERSION_TAG}/tokenizer_config.json`;
1818

19-
// GEMMA 4 — separate HF repo; tokenizer files are duplicated per-backend
20-
// folder, so each variant references its own.
21-
const GEMMA4_E2B_PREFIX = `${URL_PREFIX}-gemma-4/resolve/main/e2b`;
19+
// GEMMA 4 — separate HF repo; tokenizer files live at the e2b root and are
20+
// shared by all backend variants.
21+
const GEMMA4_E2B_PREFIX = `${URL_PREFIX}-gemma-4/${PREVIOUS_VERSION_TAG}/e2b`;
2222
const GEMMA4_E2B_MLX_MODEL = `${GEMMA4_E2B_PREFIX}/mlx/gemma4_e2b_mlx_int4.pte`;
23-
const GEMMA4_E2B_MLX_TOKENIZER = `${GEMMA4_E2B_PREFIX}/mlx/tokenizer.json`;
24-
const GEMMA4_E2B_MLX_TOKENIZER_CONFIG = `${GEMMA4_E2B_PREFIX}/mlx/tokenizer_config.json`;
2523
const GEMMA4_E2B_XNNPACK_MODEL = `${GEMMA4_E2B_PREFIX}/xnnpack/gemma_4_e2b_xnnpack_8da4w.pte`;
26-
const GEMMA4_E2B_XNNPACK_TOKENIZER = `${GEMMA4_E2B_PREFIX}/xnnpack/tokenizer.json`;
27-
const GEMMA4_E2B_XNNPACK_TOKENIZER_CONFIG = `${GEMMA4_E2B_PREFIX}/xnnpack/tokenizer_config.json`;
2824
const GEMMA4_E2B_VULKAN_MODEL = `${GEMMA4_E2B_PREFIX}/vulkan/gemma_4_e2b_vulkan_8da4w.pte`;
29-
const GEMMA4_E2B_VULKAN_TOKENIZER = `${GEMMA4_E2B_PREFIX}/vulkan/tokenizer.json`;
30-
const GEMMA4_E2B_VULKAN_TOKENIZER_CONFIG = `${GEMMA4_E2B_PREFIX}/vulkan/tokenizer_config.json`;
25+
const GEMMA4_E2B_TOKENIZER = `${GEMMA4_E2B_PREFIX}/tokenizer.json`;
26+
const GEMMA4_E2B_TOKENIZER_CONFIG = `${GEMMA4_E2B_PREFIX}/tokenizer_config.json`;
3127

3228
/**
3329
* @category Models - LLM
@@ -138,18 +134,19 @@ export const QWEN3_0_6B_QUANTIZED = {
138134
} as const;
139135

140136
// GEMMA 4
141-
const GEMMA4_E2B_XNNPACK_MM = `${URL_PREFIX}-gemma-4-multimodal/${PREVIOUS_VERSION_TAG}/e2b/xnnpack/gemma_4_e2b_xnnpack_8da4w.pte`;
142137
const GEMMA4_E2B_VULKAN_MM = `${URL_PREFIX}-gemma-4-multimodal/${PREVIOUS_VERSION_TAG}/e2b/vulkan/gemma_4_e2b_vulkan_8da4w.pte`;
143138
const GEMMA4_TOKENIZER = `${URL_PREFIX}-gemma-4/${PREVIOUS_VERSION_TAG}/e2b/tokenizer.json`;
144139
const GEMMA4_TOKENIZER_CONFIG = `${URL_PREFIX}-gemma-4/${PREVIOUS_VERSION_TAG}/e2b/tokenizer_config.json`;
145140

141+
const GEMMA4_E2B_MLX_MM = `${URL_PREFIX}-gemma-4-multimodal/${PREVIOUS_VERSION_TAG}/e2b/mlx/gemma4_e2b_mlx_int4.pte`;
142+
146143
/**
147144
* @category Models - VLM
148145
*/
149146
export const GEMMA4_E2B_MM = {
150147
modelName: 'gemma4-e2b-multimodal',
151148
modelSource:
152-
Platform.OS === `android` ? GEMMA4_E2B_VULKAN_MM : GEMMA4_E2B_XNNPACK_MM,
149+
Platform.OS === `android` ? GEMMA4_E2B_VULKAN_MM : GEMMA4_E2B_MLX_MM,
153150
tokenizerSource: GEMMA4_TOKENIZER,
154151
tokenizerConfigSource: GEMMA4_TOKENIZER_CONFIG,
155152
capabilities: ['vision', 'audio'],
@@ -605,8 +602,8 @@ export const LFM2_VL_1_6B_QUANTIZED = LFM2_5_VL_1_6B_QUANTIZED;
605602
export const GEMMA4_E2B_MLX = {
606603
modelName: 'gemma-4-e2b-mlx',
607604
modelSource: GEMMA4_E2B_MLX_MODEL,
608-
tokenizerSource: GEMMA4_E2B_MLX_TOKENIZER,
609-
tokenizerConfigSource: GEMMA4_E2B_MLX_TOKENIZER_CONFIG,
605+
tokenizerSource: GEMMA4_E2B_TOKENIZER,
606+
tokenizerConfigSource: GEMMA4_E2B_TOKENIZER_CONFIG,
610607
} as const;
611608

612609
/**
@@ -615,8 +612,8 @@ export const GEMMA4_E2B_MLX = {
615612
export const GEMMA4_E2B_XNNPACK = {
616613
modelName: 'gemma-4-e2b-xnnpack',
617614
modelSource: GEMMA4_E2B_XNNPACK_MODEL,
618-
tokenizerSource: GEMMA4_E2B_XNNPACK_TOKENIZER,
619-
tokenizerConfigSource: GEMMA4_E2B_XNNPACK_TOKENIZER_CONFIG,
615+
tokenizerSource: GEMMA4_E2B_TOKENIZER,
616+
tokenizerConfigSource: GEMMA4_E2B_TOKENIZER_CONFIG,
620617
} as const;
621618

622619
/**
@@ -625,8 +622,8 @@ export const GEMMA4_E2B_XNNPACK = {
625622
export const GEMMA4_E2B_VULKAN = {
626623
modelName: 'gemma-4-e2b-vulkan',
627624
modelSource: GEMMA4_E2B_VULKAN_MODEL,
628-
tokenizerSource: GEMMA4_E2B_VULKAN_TOKENIZER,
629-
tokenizerConfigSource: GEMMA4_E2B_VULKAN_TOKENIZER_CONFIG,
625+
tokenizerSource: GEMMA4_E2B_TOKENIZER,
626+
tokenizerConfigSource: GEMMA4_E2B_TOKENIZER_CONFIG,
630627
} as const;
631628

632629
/**
Binary file not shown.

0 commit comments

Comments
 (0)