react-native-executorch
Version:
An easy way to run AI models in React Native with ExecuTorch
1,139 lines (1,024 loc) • 39.5 kB
JavaScript
;
import { Platform } from 'react-native';
import { URL_PREFIX, VERSION_TAG } from './versions';
// LLMs
// LLAMA 3.2
const LLAMA3_2_3B_MODEL = `${URL_PREFIX}-llama-3.2/${VERSION_TAG}/llama-3.2-3B/original/llama3_2_3B_bf16.pte`;
const LLAMA3_2_3B_QLORA_MODEL = `${URL_PREFIX}-llama-3.2/${VERSION_TAG}/llama-3.2-3B/QLoRA/llama3_2-3B_qat_lora.pte`;
const LLAMA3_2_3B_SPINQUANT_MODEL = `${URL_PREFIX}-llama-3.2/${VERSION_TAG}/llama-3.2-3B/spinquant/llama3_2_3B_spinquant.pte`;
const LLAMA3_2_1B_MODEL = `${URL_PREFIX}-llama-3.2/${VERSION_TAG}/llama-3.2-1B/original/llama3_2_bf16.pte`;
const LLAMA3_2_1B_QLORA_MODEL = `${URL_PREFIX}-llama-3.2/${VERSION_TAG}/llama-3.2-1B/QLoRA/llama3_2_qat_lora.pte`;
const LLAMA3_2_1B_SPINQUANT_MODEL = `${URL_PREFIX}-llama-3.2/${VERSION_TAG}/llama-3.2-1B/spinquant/llama3_2_spinquant.pte`;
const LLAMA3_2_TOKENIZER = `${URL_PREFIX}-llama-3.2/${VERSION_TAG}/tokenizer.json`;
const LLAMA3_2_TOKENIZER_CONFIG = `${URL_PREFIX}-llama-3.2/${VERSION_TAG}/tokenizer_config.json`;
/**
* @category Models - LLM
*/
export const LLAMA3_2_3B = {
modelName: 'llama-3.2-3b',
modelSource: LLAMA3_2_3B_MODEL,
tokenizerSource: LLAMA3_2_TOKENIZER,
tokenizerConfigSource: LLAMA3_2_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const LLAMA3_2_3B_QLORA = {
modelName: 'llama-3.2-3b-qlora',
modelSource: LLAMA3_2_3B_QLORA_MODEL,
tokenizerSource: LLAMA3_2_TOKENIZER,
tokenizerConfigSource: LLAMA3_2_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const LLAMA3_2_3B_SPINQUANT = {
modelName: 'llama-3.2-3b-spinquant',
modelSource: LLAMA3_2_3B_SPINQUANT_MODEL,
tokenizerSource: LLAMA3_2_TOKENIZER,
tokenizerConfigSource: LLAMA3_2_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const LLAMA3_2_1B = {
modelName: 'llama-3.2-1b',
modelSource: LLAMA3_2_1B_MODEL,
tokenizerSource: LLAMA3_2_TOKENIZER,
tokenizerConfigSource: LLAMA3_2_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const LLAMA3_2_1B_QLORA = {
modelName: 'llama-3.2-1b-qlora',
modelSource: LLAMA3_2_1B_QLORA_MODEL,
tokenizerSource: LLAMA3_2_TOKENIZER,
tokenizerConfigSource: LLAMA3_2_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const LLAMA3_2_1B_SPINQUANT = {
modelName: 'llama-3.2-1b-spinquant',
modelSource: LLAMA3_2_1B_SPINQUANT_MODEL,
tokenizerSource: LLAMA3_2_TOKENIZER,
tokenizerConfigSource: LLAMA3_2_TOKENIZER_CONFIG
};
// QWEN 3
const QWEN3_0_6B_MODEL = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/qwen-3-0.6B/original/qwen3_0_6b_bf16.pte`;
const QWEN3_0_6B_QUANTIZED_MODEL = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/qwen-3-0.6B/quantized/qwen3_0_6b_8da4w.pte`;
const QWEN3_1_7B_MODEL = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/qwen-3-1.7B/original/qwen3_1_7b_bf16.pte`;
const QWEN3_1_7B_QUANTIZED_MODEL = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/qwen-3-1.7B/quantized/qwen3_1_7b_8da4w.pte`;
const QWEN3_4B_MODEL = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/qwen-3-4B/original/qwen3_4b_bf16.pte`;
const QWEN3_4B_QUANTIZED_MODEL = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/qwen-3-4B/quantized/qwen3_4b_8da4w.pte`;
const QWEN3_TOKENIZER = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/tokenizer.json`;
const QWEN3_TOKENIZER_CONFIG = `${URL_PREFIX}-qwen-3/${VERSION_TAG}/tokenizer_config.json`;
/**
* @category Models - LLM
*/
export const QWEN3_0_6B = {
modelName: 'qwen3-0.6b',
modelSource: QWEN3_0_6B_MODEL,
tokenizerSource: QWEN3_TOKENIZER,
tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN3_0_6B_QUANTIZED = {
modelName: 'qwen3-0.6b-quantized',
modelSource: QWEN3_0_6B_QUANTIZED_MODEL,
tokenizerSource: QWEN3_TOKENIZER,
tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN3_1_7B = {
modelName: 'qwen3-1.7b',
modelSource: QWEN3_1_7B_MODEL,
tokenizerSource: QWEN3_TOKENIZER,
tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN3_1_7B_QUANTIZED = {
modelName: 'qwen3-1.7b-quantized',
modelSource: QWEN3_1_7B_QUANTIZED_MODEL,
tokenizerSource: QWEN3_TOKENIZER,
tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN3_4B = {
modelName: 'qwen3-4b',
modelSource: QWEN3_4B_MODEL,
tokenizerSource: QWEN3_TOKENIZER,
tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN3_4B_QUANTIZED = {
modelName: 'qwen3-4b-quantized',
modelSource: QWEN3_4B_QUANTIZED_MODEL,
tokenizerSource: QWEN3_TOKENIZER,
tokenizerConfigSource: QWEN3_TOKENIZER_CONFIG
};
// HAMMER 2.1
const HAMMER2_1_0_5B_MODEL = `${URL_PREFIX}-hammer-2.1/${VERSION_TAG}/hammer-2.1-0.5B/original/hammer2_1_0_5B_bf16.pte`;
const HAMMER2_1_0_5B_QUANTIZED_MODEL = `${URL_PREFIX}-hammer-2.1/${VERSION_TAG}/hammer-2.1-0.5B/quantized/hammer2_1_0_5B_8da4w.pte`;
const HAMMER2_1_1_5B_MODEL = `${URL_PREFIX}-hammer-2.1/${VERSION_TAG}/hammer-2.1-1.5B/original/hammer2_1_1_5B_bf16.pte`;
const HAMMER2_1_1_5B_QUANTIZED_MODEL = `${URL_PREFIX}-hammer-2.1/${VERSION_TAG}/hammer-2.1-1.5B/quantized/hammer2_1_1_5B_8da4w.pte`;
const HAMMER2_1_3B_MODEL = `${URL_PREFIX}-hammer-2.1/${VERSION_TAG}/hammer-2.1-3B/original/hammer2_1_3B_bf16.pte`;
const HAMMER2_1_3B_QUANTIZED_MODEL = `${URL_PREFIX}-hammer-2.1/${VERSION_TAG}/hammer-2.1-3B/quantized/hammer2_1_3B_8da4w.pte`;
const HAMMER2_1_TOKENIZER = `${URL_PREFIX}-hammer-2.1/${VERSION_TAG}/tokenizer.json`;
const HAMMER2_1_TOKENIZER_CONFIG = `${URL_PREFIX}-hammer-2.1/${VERSION_TAG}/tokenizer_config.json`;
/**
* @category Models - LLM
*/
export const HAMMER2_1_0_5B = {
modelName: 'hammer2.1-0.5b',
modelSource: HAMMER2_1_0_5B_MODEL,
tokenizerSource: HAMMER2_1_TOKENIZER,
tokenizerConfigSource: HAMMER2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const HAMMER2_1_0_5B_QUANTIZED = {
modelName: 'hammer2.1-0.5b-quantized',
modelSource: HAMMER2_1_0_5B_QUANTIZED_MODEL,
tokenizerSource: HAMMER2_1_TOKENIZER,
tokenizerConfigSource: HAMMER2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const HAMMER2_1_1_5B = {
modelName: 'hammer2.1-1.5b',
modelSource: HAMMER2_1_1_5B_MODEL,
tokenizerSource: HAMMER2_1_TOKENIZER,
tokenizerConfigSource: HAMMER2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const HAMMER2_1_1_5B_QUANTIZED = {
modelName: 'hammer2.1-1.5b-quantized',
modelSource: HAMMER2_1_1_5B_QUANTIZED_MODEL,
tokenizerSource: HAMMER2_1_TOKENIZER,
tokenizerConfigSource: HAMMER2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const HAMMER2_1_3B = {
modelName: 'hammer2.1-3b',
modelSource: HAMMER2_1_3B_MODEL,
tokenizerSource: HAMMER2_1_TOKENIZER,
tokenizerConfigSource: HAMMER2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const HAMMER2_1_3B_QUANTIZED = {
modelName: 'hammer2.1-3b-quantized',
modelSource: HAMMER2_1_3B_QUANTIZED_MODEL,
tokenizerSource: HAMMER2_1_TOKENIZER,
tokenizerConfigSource: HAMMER2_1_TOKENIZER_CONFIG
};
// SMOLLM2
const SMOLLM2_1_135M_MODEL = `${URL_PREFIX}-smolLm-2/${VERSION_TAG}/smolLm-2-135M/original/smolLm2_135M_bf16.pte`;
const SMOLLM2_1_135M_QUANTIZED_MODEL = `${URL_PREFIX}-smolLm-2/${VERSION_TAG}/smolLm-2-135M/quantized/smolLm2_135M_8da4w.pte`;
const SMOLLM2_1_360M_MODEL = `${URL_PREFIX}-smolLm-2/${VERSION_TAG}/smolLm-2-360M/original/smolLm2_360M_bf16.pte`;
const SMOLLM2_1_360M_QUANTIZED_MODEL = `${URL_PREFIX}-smolLm-2/${VERSION_TAG}/smolLm-2-360M/quantized/smolLm2_360M_8da4w.pte`;
const SMOLLM2_1_1_7B_MODEL = `${URL_PREFIX}-smolLm-2/${VERSION_TAG}/smolLm-2-1.7B/original/smolLm2_1_7B_bf16.pte`;
const SMOLLM2_1_1_7B_QUANTIZED_MODEL = `${URL_PREFIX}-smolLm-2/${VERSION_TAG}/smolLm-2-1.7B/quantized/smolLm2_1_7B_8da4w.pte`;
const SMOLLM2_1_TOKENIZER = `${URL_PREFIX}-smolLm-2/${VERSION_TAG}/tokenizer.json`;
const SMOLLM2_1_TOKENIZER_CONFIG = `${URL_PREFIX}-smolLm-2/${VERSION_TAG}/tokenizer_config.json`;
/**
* @category Models - LLM
*/
export const SMOLLM2_1_135M = {
modelName: 'smollm2.1-135m',
modelSource: SMOLLM2_1_135M_MODEL,
tokenizerSource: SMOLLM2_1_TOKENIZER,
tokenizerConfigSource: SMOLLM2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const SMOLLM2_1_135M_QUANTIZED = {
modelName: 'smollm2.1-135m-quantized',
modelSource: SMOLLM2_1_135M_QUANTIZED_MODEL,
tokenizerSource: SMOLLM2_1_TOKENIZER,
tokenizerConfigSource: SMOLLM2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const SMOLLM2_1_360M = {
modelName: 'smollm2.1-360m',
modelSource: SMOLLM2_1_360M_MODEL,
tokenizerSource: SMOLLM2_1_TOKENIZER,
tokenizerConfigSource: SMOLLM2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const SMOLLM2_1_360M_QUANTIZED = {
modelName: 'smollm2.1-360m-quantized',
modelSource: SMOLLM2_1_360M_QUANTIZED_MODEL,
tokenizerSource: SMOLLM2_1_TOKENIZER,
tokenizerConfigSource: SMOLLM2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const SMOLLM2_1_1_7B = {
modelName: 'smollm2.1-1.7b',
modelSource: SMOLLM2_1_1_7B_MODEL,
tokenizerSource: SMOLLM2_1_TOKENIZER,
tokenizerConfigSource: SMOLLM2_1_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const SMOLLM2_1_1_7B_QUANTIZED = {
modelName: 'smollm2.1-1.7b-quantized',
modelSource: SMOLLM2_1_1_7B_QUANTIZED_MODEL,
tokenizerSource: SMOLLM2_1_TOKENIZER,
tokenizerConfigSource: SMOLLM2_1_TOKENIZER_CONFIG
};
// QWEN 2.5
const QWEN2_5_0_5B_MODEL = `${URL_PREFIX}-qwen-2.5/${VERSION_TAG}/qwen-2.5-0.5B/original/qwen2_5_0_5b_bf16.pte`;
const QWEN2_5_0_5B_QUANTIZED_MODEL = `${URL_PREFIX}-qwen-2.5/${VERSION_TAG}/qwen-2.5-0.5B/quantized/qwen2_5_0_5b_8da4w.pte`;
const QWEN2_5_1_5B_MODEL = `${URL_PREFIX}-qwen-2.5/${VERSION_TAG}/qwen-2.5-1.5B/original/qwen2_5_1_5b_bf16.pte`;
const QWEN2_5_1_5B_QUANTIZED_MODEL = `${URL_PREFIX}-qwen-2.5/${VERSION_TAG}/qwen-2.5-1.5B/quantized/qwen2_5_1_5b_8da4w.pte`;
const QWEN2_5_3B_MODEL = `${URL_PREFIX}-qwen-2.5/${VERSION_TAG}/qwen-2.5-3B/original/qwen2_5_3b_bf16.pte`;
const QWEN2_5_3B_QUANTIZED_MODEL = `${URL_PREFIX}-qwen-2.5/${VERSION_TAG}/qwen-2.5-3B/quantized/qwen2_5_3b_8da4w.pte`;
const QWEN2_5_TOKENIZER = `${URL_PREFIX}-qwen-2.5/${VERSION_TAG}/tokenizer.json`;
const QWEN2_5_TOKENIZER_CONFIG = `${URL_PREFIX}-qwen-2.5/${VERSION_TAG}/tokenizer_config.json`;
/**
* @category Models - LLM
*/
export const QWEN2_5_0_5B = {
modelName: 'qwen2.5-0.5b',
modelSource: QWEN2_5_0_5B_MODEL,
tokenizerSource: QWEN2_5_TOKENIZER,
tokenizerConfigSource: QWEN2_5_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN2_5_0_5B_QUANTIZED = {
modelName: 'qwen2.5-0.5b-quantized',
modelSource: QWEN2_5_0_5B_QUANTIZED_MODEL,
tokenizerSource: QWEN2_5_TOKENIZER,
tokenizerConfigSource: QWEN2_5_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN2_5_1_5B = {
modelName: 'qwen2.5-1.5b',
modelSource: QWEN2_5_1_5B_MODEL,
tokenizerSource: QWEN2_5_TOKENIZER,
tokenizerConfigSource: QWEN2_5_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN2_5_1_5B_QUANTIZED = {
modelName: 'qwen2.5-1.5b-quantized',
modelSource: QWEN2_5_1_5B_QUANTIZED_MODEL,
tokenizerSource: QWEN2_5_TOKENIZER,
tokenizerConfigSource: QWEN2_5_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN2_5_3B = {
modelName: 'qwen2.5-3b',
modelSource: QWEN2_5_3B_MODEL,
tokenizerSource: QWEN2_5_TOKENIZER,
tokenizerConfigSource: QWEN2_5_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const QWEN2_5_3B_QUANTIZED = {
modelName: 'qwen2.5-3b-quantized',
modelSource: QWEN2_5_3B_QUANTIZED_MODEL,
tokenizerSource: QWEN2_5_TOKENIZER,
tokenizerConfigSource: QWEN2_5_TOKENIZER_CONFIG
};
// PHI 4
const PHI_4_MINI_4B_MODEL = `${URL_PREFIX}-phi-4-mini/${VERSION_TAG}/original/phi-4-mini_bf16.pte`;
const PHI_4_MINI_4B_QUANTIZED_MODEL = `${URL_PREFIX}-phi-4-mini/${VERSION_TAG}/quantized/phi-4-mini_8da4w.pte`;
const PHI_4_MINI_TOKENIZER = `${URL_PREFIX}-phi-4-mini/${VERSION_TAG}/tokenizer.json`;
const PHI_4_MINI_TOKENIZER_CONFIG = `${URL_PREFIX}-phi-4-mini/${VERSION_TAG}/tokenizer_config.json`;
/**
* @category Models - LLM
*/
export const PHI_4_MINI_4B = {
modelName: 'phi-4-mini-4b',
modelSource: PHI_4_MINI_4B_MODEL,
tokenizerSource: PHI_4_MINI_TOKENIZER,
tokenizerConfigSource: PHI_4_MINI_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const PHI_4_MINI_4B_QUANTIZED = {
modelName: 'phi-4-mini-4b-quantized',
modelSource: PHI_4_MINI_4B_QUANTIZED_MODEL,
tokenizerSource: PHI_4_MINI_TOKENIZER,
tokenizerConfigSource: PHI_4_MINI_TOKENIZER_CONFIG
};
// LFM2.5-1.2B-Instruct
const LFM2_5_1_2B_INSTRUCT_MODEL = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-1.2B-instruct/original/lfm2_5_1_2b_fp16.pte`;
const LFM2_5_1_2B_INSTRUCT_QUANTIZED_MODEL = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-1.2B-instruct/quantized/lfm2_5_1_2b_8da4w.pte`;
const LFM2_5_1_2B_TOKENIZER = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-1.2B-instruct/tokenizer.json`;
const LFM2_5_1_2B_TOKENIZER_CONFIG = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-1.2B-instruct/tokenizer_config.json`;
/**
* @category Models - LLM
*/
export const LFM2_5_1_2B_INSTRUCT = {
modelName: 'lfm2.5-1.2b-instruct',
modelSource: LFM2_5_1_2B_INSTRUCT_MODEL,
tokenizerSource: LFM2_5_1_2B_TOKENIZER,
tokenizerConfigSource: LFM2_5_1_2B_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const LFM2_5_1_2B_INSTRUCT_QUANTIZED = {
modelName: 'lfm2.5-1.2b-instruct-quantized',
modelSource: LFM2_5_1_2B_INSTRUCT_QUANTIZED_MODEL,
tokenizerSource: LFM2_5_1_2B_TOKENIZER,
tokenizerConfigSource: LFM2_5_1_2B_TOKENIZER_CONFIG
};
// LFM2.5-350M
const LFM2_5_350M_MODEL = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-350M/xnnpack/lfm2_5_350m_xnnpack_fp16.pte`;
const LFM2_5_350M_QUANTIZED_MODEL = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-350M/xnnpack/lfm2_5_350m_xnnpack_8w4da.pte`;
const LFM2_5_350M_TOKENIZER = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-350M/tokenizer.json`;
const LFM2_5_350M_TOKENIZER_CONFIG = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-350M/tokenizer_config.json`;
/**
* @category Models - LLM
*/
export const LFM2_5_350M = {
modelName: 'lfm2.5-350m',
modelSource: LFM2_5_350M_MODEL,
tokenizerSource: LFM2_5_350M_TOKENIZER,
tokenizerConfigSource: LFM2_5_350M_TOKENIZER_CONFIG
};
/**
* @category Models - LLM
*/
export const LFM2_5_350M_QUANTIZED = {
modelName: 'lfm2.5-350m-quantized',
modelSource: LFM2_5_350M_QUANTIZED_MODEL,
tokenizerSource: LFM2_5_350M_TOKENIZER,
tokenizerConfigSource: LFM2_5_350M_TOKENIZER_CONFIG
};
// LFM2.5-VL-1.6B
const LFM2_VL_1_6B_QUANTIZED_MODEL = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-VL-1.6B/quantized/lfm2_5_vl_1_6b_8da4w_xnnpack.pte`;
const LFM2_VL_TOKENIZER = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-VL-1.6B/tokenizer.json`;
const LFM2_VL_TOKENIZER_CONFIG = `${URL_PREFIX}-lfm-2.5/${VERSION_TAG}/lfm2.5-VL-1.6B/tokenizer_config.json`;
/**
* @category Models - VLM
*/
export const LFM2_VL_1_6B_QUANTIZED = {
modelName: 'lfm2.5-vl-1.6b-quantized',
capabilities: ['vision'],
modelSource: LFM2_VL_1_6B_QUANTIZED_MODEL,
tokenizerSource: LFM2_VL_TOKENIZER,
tokenizerConfigSource: LFM2_VL_TOKENIZER_CONFIG
};
// Classification
const EFFICIENTNET_V2_S_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-efficientnet-v2-s/${VERSION_TAG}/coreml/efficientnet_v2_s_coreml_fp32.pte` : `${URL_PREFIX}-efficientnet-v2-s/${VERSION_TAG}/xnnpack/efficientnet_v2_s_xnnpack_fp32.pte`;
const EFFICIENTNET_V2_S_QUANTIZED_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-efficientnet-v2-s/${VERSION_TAG}/coreml/efficientnet_v2_s_coreml_fp16.pte` : `${URL_PREFIX}-efficientnet-v2-s/${VERSION_TAG}/xnnpack/efficientnet_v2_s_xnnpack_int8.pte`;
/**
* @category Models - Classification
*/
export const EFFICIENTNET_V2_S = {
modelName: 'efficientnet-v2-s',
modelSource: EFFICIENTNET_V2_S_MODEL
};
/**
* @category Models - Classification
*/
export const EFFICIENTNET_V2_S_QUANTIZED = {
modelName: 'efficientnet-v2-s-quantized',
modelSource: EFFICIENTNET_V2_S_QUANTIZED_MODEL
};
// Object detection
const SSDLITE_320_MOBILENET_V3_LARGE_MODEL = Platform.OS === 'ios' ? `${URL_PREFIX}-ssdlite320-mobilenet-v3-large/${VERSION_TAG}/coreml/ssdlite320_mobilenet_v3_large_coreml_fp16.pte` : `${URL_PREFIX}-ssdlite320-mobilenet-v3-large/${VERSION_TAG}/xnnpack/ssdlite320_mobilenet_v3_large_xnnpack_fp32.pte`;
const RF_DETR_NANO_MODEL = `${URL_PREFIX}-rfdetr-nano-detector/${VERSION_TAG}/rfdetr_detector.pte`;
/**
* @category Models - Object Detection
*/
export const SSDLITE_320_MOBILENET_V3_LARGE = {
modelName: 'ssdlite-320-mobilenet-v3-large',
modelSource: SSDLITE_320_MOBILENET_V3_LARGE_MODEL
};
/**
* @category Models - Object Detection
*/
export const RF_DETR_NANO = {
modelName: 'rf-detr-nano',
modelSource: RF_DETR_NANO_MODEL
};
// YOLO26 Object Detection
const YOLO26N_DETECTION_MODEL = `${URL_PREFIX}-yolo26/${VERSION_TAG}/yolo26n/xnnpack/yolo26n.pte`;
const YOLO26S_DETECTION_MODEL = `${URL_PREFIX}-yolo26/${VERSION_TAG}/yolo26s/xnnpack/yolo26s.pte`;
const YOLO26M_DETECTION_MODEL = `${URL_PREFIX}-yolo26/${VERSION_TAG}/yolo26m/xnnpack/yolo26m.pte`;
const YOLO26L_DETECTION_MODEL = `${URL_PREFIX}-yolo26/${VERSION_TAG}/yolo26l/xnnpack/yolo26l.pte`;
const YOLO26X_DETECTION_MODEL = `${URL_PREFIX}-yolo26/${VERSION_TAG}/yolo26x/xnnpack/yolo26x.pte`;
/**
* @category Models - Object Detection
*/
export const YOLO26N = {
modelName: 'yolo26n',
modelSource: YOLO26N_DETECTION_MODEL
};
/**
* @category Models - Object Detection
*/
export const YOLO26S = {
modelName: 'yolo26s',
modelSource: YOLO26S_DETECTION_MODEL
};
/**
* @category Models - Object Detection
*/
export const YOLO26M = {
modelName: 'yolo26m',
modelSource: YOLO26M_DETECTION_MODEL
};
/**
* @category Models - Object Detection
*/
export const YOLO26L = {
modelName: 'yolo26l',
modelSource: YOLO26L_DETECTION_MODEL
};
/**
* @category Models - Object Detection
*/
export const YOLO26X = {
modelName: 'yolo26x',
modelSource: YOLO26X_DETECTION_MODEL
};
// Style transfer
const STYLE_TRANSFER_CANDY_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-style-transfer-candy/${VERSION_TAG}/coreml/style_transfer_candy_coreml_fp32.pte` : `${URL_PREFIX}-style-transfer-candy/${VERSION_TAG}/xnnpack/style_transfer_candy_xnnpack_fp32.pte`;
const STYLE_TRANSFER_CANDY_QUANTIZED_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-style-transfer-candy/${VERSION_TAG}/coreml/style_transfer_candy_coreml_fp16.pte` : `${URL_PREFIX}-style-transfer-candy/${VERSION_TAG}/xnnpack/style_transfer_candy_xnnpack_int8.pte`;
const STYLE_TRANSFER_MOSAIC_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-style-transfer-mosaic/${VERSION_TAG}/coreml/style_transfer_mosaic_coreml_fp32.pte` : `${URL_PREFIX}-style-transfer-mosaic/${VERSION_TAG}/xnnpack/style_transfer_mosaic_xnnpack_fp32.pte`;
const STYLE_TRANSFER_MOSAIC_QUANTIZED_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-style-transfer-mosaic/${VERSION_TAG}/coreml/style_transfer_mosaic_coreml_fp16.pte` : `${URL_PREFIX}-style-transfer-mosaic/${VERSION_TAG}/xnnpack/style_transfer_mosaic_xnnpack_int8.pte`;
const STYLE_TRANSFER_RAIN_PRINCESS_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-style-transfer-rain-princess/${VERSION_TAG}/coreml/style_transfer_rain_princess_coreml_fp32.pte` : `${URL_PREFIX}-style-transfer-rain-princess/${VERSION_TAG}/xnnpack/style_transfer_rain_princess_xnnpack_fp32.pte`;
const STYLE_TRANSFER_RAIN_PRINCESS_QUANTIZED_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-style-transfer-rain-princess/${VERSION_TAG}/coreml/style_transfer_rain_princess_coreml_fp16.pte` : `${URL_PREFIX}-style-transfer-rain-princess/${VERSION_TAG}/xnnpack/style_transfer_rain_princess_xnnpack_int8.pte`;
const STYLE_TRANSFER_UDNIE_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-style-transfer-udnie/${VERSION_TAG}/coreml/style_transfer_udnie_coreml_fp32.pte` : `${URL_PREFIX}-style-transfer-udnie/${VERSION_TAG}/xnnpack/style_transfer_udnie_xnnpack_fp32.pte`;
const STYLE_TRANSFER_UDNIE_QUANTIZED_MODEL = Platform.OS === `ios` ? `${URL_PREFIX}-style-transfer-udnie/${VERSION_TAG}/coreml/style_transfer_udnie_coreml_fp16.pte` : `${URL_PREFIX}-style-transfer-udnie/${VERSION_TAG}/xnnpack/style_transfer_udnie_xnnpack_int8.pte`;
/**
* @category Models - Style Transfer
*/
export const STYLE_TRANSFER_CANDY = {
modelName: 'style-transfer-candy',
modelSource: STYLE_TRANSFER_CANDY_MODEL
};
/**
* @category Models - Style Transfer
*/
export const STYLE_TRANSFER_CANDY_QUANTIZED = {
modelName: 'style-transfer-candy-quantized',
modelSource: STYLE_TRANSFER_CANDY_QUANTIZED_MODEL
};
/**
* @category Models - Style Transfer
*/
export const STYLE_TRANSFER_MOSAIC = {
modelName: 'style-transfer-mosaic',
modelSource: STYLE_TRANSFER_MOSAIC_MODEL
};
/**
* @category Models - Style Transfer
*/
export const STYLE_TRANSFER_MOSAIC_QUANTIZED = {
modelName: 'style-transfer-mosaic-quantized',
modelSource: STYLE_TRANSFER_MOSAIC_QUANTIZED_MODEL
};
/**
* @category Models - Style Transfer
*/
export const STYLE_TRANSFER_RAIN_PRINCESS = {
modelName: 'style-transfer-rain-princess',
modelSource: STYLE_TRANSFER_RAIN_PRINCESS_MODEL
};
/**
* @category Models - Style Transfer
*/
export const STYLE_TRANSFER_RAIN_PRINCESS_QUANTIZED = {
modelName: 'style-transfer-rain-princess-quantized',
modelSource: STYLE_TRANSFER_RAIN_PRINCESS_QUANTIZED_MODEL
};
/**
* @category Models - Style Transfer
*/
export const STYLE_TRANSFER_UDNIE = {
modelName: 'style-transfer-udnie',
modelSource: STYLE_TRANSFER_UDNIE_MODEL
};
/**
* @category Models - Style Transfer
*/
export const STYLE_TRANSFER_UDNIE_QUANTIZED = {
modelName: 'style-transfer-udnie-quantized',
modelSource: STYLE_TRANSFER_UDNIE_QUANTIZED_MODEL
};
// S2T
const WHISPER_TINY_EN_TOKENIZER = `${URL_PREFIX}-whisper-tiny.en/${VERSION_TAG}/tokenizer.json`;
const WHISPER_TINY_EN_MODEL = `${URL_PREFIX}-whisper-tiny.en/${VERSION_TAG}/xnnpack/whisper_tiny_en_xnnpack.pte`;
const WHISPER_TINY_EN_QUANTIZED_TOKENIZER = `${URL_PREFIX}-whisper-tiny-quantized.en/${VERSION_TAG}/tokenizer.json`;
const WHISPER_TINY_EN_QUANTIZED_MODEL = `${URL_PREFIX}-whisper-tiny-quantized.en/${VERSION_TAG}/xnnpack/whisper_tiny_en_quantized_xnnpack.pte`;
const WHISPER_BASE_EN_TOKENIZER = `${URL_PREFIX}-whisper-base.en/${VERSION_TAG}/tokenizer.json`;
const WHISPER_BASE_EN_MODEL = `${URL_PREFIX}-whisper-base.en/${VERSION_TAG}/xnnpack/whisper_base_en_xnnpack.pte`;
const WHISPER_BASE_EN_QUANTIZED_TOKENIZER = `${URL_PREFIX}-whisper-base-quantized.en/${VERSION_TAG}/tokenizer.json`;
const WHISPER_BASE_EN_QUANTIZED_MODEL = `${URL_PREFIX}-whisper-base-quantized.en/${VERSION_TAG}/xnnpack/whisper_base_en_quantized_xnnpack.pte`;
const WHISPER_SMALL_EN_TOKENIZER = `${URL_PREFIX}-whisper-small.en/${VERSION_TAG}/tokenizer.json`;
const WHISPER_SMALL_EN_MODEL = `${URL_PREFIX}-whisper-small.en/${VERSION_TAG}/xnnpack/whisper_small_en_xnnpack.pte`;
const WHISPER_SMALL_EN_QUANTIZED_TOKENIZER = `${URL_PREFIX}-whisper-small-quantized.en/${VERSION_TAG}/tokenizer.json`;
const WHISPER_SMALL_EN_QUANTIZED_MODEL = `${URL_PREFIX}-whisper-small-quantized.en/${VERSION_TAG}/xnnpack/whisper_small_en_quantized_xnnpack.pte`;
const WHISPER_TINY_TOKENIZER = `${URL_PREFIX}-whisper-tiny/${VERSION_TAG}/tokenizer.json`;
const WHISPER_TINY_MODEL = `${URL_PREFIX}-whisper-tiny/${VERSION_TAG}/xnnpack/whisper_tiny_xnnpack.pte`;
const WHISPER_BASE_TOKENIZER = `${URL_PREFIX}-whisper-base/${VERSION_TAG}/tokenizer.json`;
const WHISPER_BASE_MODEL = `${URL_PREFIX}-whisper-base/${VERSION_TAG}/xnnpack/whisper_base_xnnpack.pte`;
const WHISPER_SMALL_TOKENIZER = `${URL_PREFIX}-whisper-small/${VERSION_TAG}/tokenizer.json`;
const WHISPER_SMALL_MODEL = `${URL_PREFIX}-whisper-small/${VERSION_TAG}/xnnpack/whisper_small_xnnpack.pte`;
/**
* @category Models - Speech To Text
*/
export const WHISPER_TINY_EN = {
modelName: 'whisper-tiny-en',
isMultilingual: false,
modelSource: WHISPER_TINY_EN_MODEL,
tokenizerSource: WHISPER_TINY_EN_TOKENIZER
};
/**
* @category Models - Speech To Text
*/
export const WHISPER_TINY_EN_QUANTIZED = {
modelName: 'whisper-tiny-en-quantized',
isMultilingual: false,
modelSource: WHISPER_TINY_EN_QUANTIZED_MODEL,
tokenizerSource: WHISPER_TINY_EN_QUANTIZED_TOKENIZER
};
/**
* @category Models - Speech To Text
*/
export const WHISPER_BASE_EN = {
modelName: 'whisper-base-en',
isMultilingual: false,
modelSource: WHISPER_BASE_EN_MODEL,
tokenizerSource: WHISPER_BASE_EN_TOKENIZER
};
/**
* @category Models - Speech To Text
*/
export const WHISPER_BASE_EN_QUANTIZED = {
modelName: 'whisper-base-en-quantized',
isMultilingual: false,
modelSource: WHISPER_BASE_EN_QUANTIZED_MODEL,
tokenizerSource: WHISPER_BASE_EN_QUANTIZED_TOKENIZER
};
/**
* @category Models - Speech To Text
*/
export const WHISPER_SMALL_EN = {
modelName: 'whisper-small-en',
isMultilingual: false,
modelSource: WHISPER_SMALL_EN_MODEL,
tokenizerSource: WHISPER_SMALL_EN_TOKENIZER
};
/**
* @category Models - Speech To Text
*/
export const WHISPER_SMALL_EN_QUANTIZED = {
modelName: 'whisper-small-en-quantized',
isMultilingual: false,
modelSource: WHISPER_SMALL_EN_QUANTIZED_MODEL,
tokenizerSource: WHISPER_SMALL_EN_QUANTIZED_TOKENIZER
};
/**
* @category Models - Speech To Text
*/
export const WHISPER_TINY = {
modelName: 'whisper-tiny',
isMultilingual: true,
modelSource: WHISPER_TINY_MODEL,
tokenizerSource: WHISPER_TINY_TOKENIZER
};
/**
* @category Models - Speech To Text
*/
export const WHISPER_BASE = {
modelName: 'whisper-base',
isMultilingual: true,
modelSource: WHISPER_BASE_MODEL,
tokenizerSource: WHISPER_BASE_TOKENIZER
};
/**
* @category Models - Speech To Text
*/
export const WHISPER_SMALL = {
modelName: 'whisper-small',
isMultilingual: true,
modelSource: WHISPER_SMALL_MODEL,
tokenizerSource: WHISPER_SMALL_TOKENIZER
};
// Semantic Segmentation
const DEEPLAB_V3_RESNET50_MODEL = `${URL_PREFIX}-deeplab-v3/${VERSION_TAG}/deeplab-v3-resnet50/xnnpack/deeplabv3_resnet50_xnnpack_fp32.pte`;
const DEEPLAB_V3_RESNET101_MODEL = `${URL_PREFIX}-deeplab-v3/${VERSION_TAG}/deeplab-v3-resnet101/xnnpack/deeplabv3_resnet101_xnnpack_fp32.pte`;
const DEEPLAB_V3_MOBILENET_V3_LARGE_MODEL = `${URL_PREFIX}-deeplab-v3/${VERSION_TAG}/deeplab-v3-mobilenet-v3-large/xnnpack/deeplabv3_mobilenet_v3_large_xnnpack_fp32.pte`;
const LRASPP_MOBILENET_V3_LARGE_MODEL = `${URL_PREFIX}-lraspp/${VERSION_TAG}/xnnpack/lraspp_mobilenet_v3_large_xnnpack_fp32.pte`;
const FCN_RESNET50_MODEL = `${URL_PREFIX}-fcn/${VERSION_TAG}/fcn-resnet50/xnnpack/fcn_resnet50_xnnpack_fp32.pte`;
const FCN_RESNET101_MODEL = `${URL_PREFIX}-fcn/${VERSION_TAG}/fcn-resnet101/xnnpack/fcn_resnet101_xnnpack_fp32.pte`;
const DEEPLAB_V3_RESNET50_QUANTIZED_MODEL = `${URL_PREFIX}-deeplab-v3/${VERSION_TAG}/deeplab-v3-resnet50/xnnpack/deeplabv3_resnet50_xnnpack_int8.pte`;
const DEEPLAB_V3_RESNET101_QUANTIZED_MODEL = `${URL_PREFIX}-deeplab-v3/${VERSION_TAG}/deeplab-v3-resnet101/xnnpack/deeplabv3_resnet101_xnnpack_int8.pte`;
const DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED_MODEL = `${URL_PREFIX}-deeplab-v3/${VERSION_TAG}/deeplab-v3-mobilenet-v3-large/xnnpack/deeplabv3_mobilenet_v3_large_xnnpack_int8.pte`;
const LRASPP_MOBILENET_V3_LARGE_QUANTIZED_MODEL = `${URL_PREFIX}-lraspp/${VERSION_TAG}/xnnpack/lraspp_mobilenet_v3_large_xnnpack_int8.pte`;
const FCN_RESNET50_QUANTIZED_MODEL = `${URL_PREFIX}-fcn/${VERSION_TAG}/fcn-resnet50/xnnpack/fcn_resnet50_xnnpack_int8.pte`;
const FCN_RESNET101_QUANTIZED_MODEL = `${URL_PREFIX}-fcn/${VERSION_TAG}/fcn-resnet101/xnnpack/fcn_resnet101_xnnpack_int8.pte`;
/**
* @category Models - Semantic Segmentation
*/
export const DEEPLAB_V3_RESNET50 = {
modelName: 'deeplab-v3-resnet50',
modelSource: DEEPLAB_V3_RESNET50_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const DEEPLAB_V3_RESNET101 = {
modelName: 'deeplab-v3-resnet101',
modelSource: DEEPLAB_V3_RESNET101_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const DEEPLAB_V3_MOBILENET_V3_LARGE = {
modelName: 'deeplab-v3-mobilenet-v3-large',
modelSource: DEEPLAB_V3_MOBILENET_V3_LARGE_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const LRASPP_MOBILENET_V3_LARGE = {
modelName: 'lraspp-mobilenet-v3-large',
modelSource: LRASPP_MOBILENET_V3_LARGE_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const FCN_RESNET50 = {
modelName: 'fcn-resnet50',
modelSource: FCN_RESNET50_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const FCN_RESNET101 = {
modelName: 'fcn-resnet101',
modelSource: FCN_RESNET101_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const DEEPLAB_V3_RESNET50_QUANTIZED = {
modelName: 'deeplab-v3-resnet50-quantized',
modelSource: DEEPLAB_V3_RESNET50_QUANTIZED_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const DEEPLAB_V3_RESNET101_QUANTIZED = {
modelName: 'deeplab-v3-resnet101-quantized',
modelSource: DEEPLAB_V3_RESNET101_QUANTIZED_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED = {
modelName: 'deeplab-v3-mobilenet-v3-large-quantized',
modelSource: DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const LRASPP_MOBILENET_V3_LARGE_QUANTIZED = {
modelName: 'lraspp-mobilenet-v3-large-quantized',
modelSource: LRASPP_MOBILENET_V3_LARGE_QUANTIZED_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const FCN_RESNET50_QUANTIZED = {
modelName: 'fcn-resnet50-quantized',
modelSource: FCN_RESNET50_QUANTIZED_MODEL
};
/**
* @category Models - Semantic Segmentation
*/
export const FCN_RESNET101_QUANTIZED = {
modelName: 'fcn-resnet101-quantized',
modelSource: FCN_RESNET101_QUANTIZED_MODEL
};
const SELFIE_SEGMENTATION_MODEL = `${URL_PREFIX}-selfie-segmentation/${VERSION_TAG}/xnnpack/selfie-segmentation.pte`;
/**
* @category Models - Semantic Segmentation
*/
export const SELFIE_SEGMENTATION = {
modelName: 'selfie-segmentation',
modelSource: SELFIE_SEGMENTATION_MODEL
};
/**
* @category Models - Instance Segmentation
*/
const YOLO26N_SEG_MODEL = `${URL_PREFIX}-yolo26-seg/${VERSION_TAG}/yolo26n-seg/xnnpack/yolo26n-seg.pte`;
const YOLO26S_SEG_MODEL = `${URL_PREFIX}-yolo26-seg/${VERSION_TAG}/yolo26s-seg/xnnpack/yolo26s-seg.pte`;
const YOLO26M_SEG_MODEL = `${URL_PREFIX}-yolo26-seg/${VERSION_TAG}/yolo26m-seg/xnnpack/yolo26m-seg.pte`;
const YOLO26L_SEG_MODEL = `${URL_PREFIX}-yolo26-seg/${VERSION_TAG}/yolo26l-seg/xnnpack/yolo26l-seg.pte`;
const YOLO26X_SEG_MODEL = `${URL_PREFIX}-yolo26-seg/${VERSION_TAG}/yolo26x-seg/xnnpack/yolo26x-seg.pte`;
const RF_DETR_NANO_SEG_MODEL = `${URL_PREFIX}-rfdetr-nano-segmentation/${VERSION_TAG}/rfdetr_segmentation.pte`;
/**
* @category Models - Instance Segmentation
*/
export const YOLO26N_SEG = {
modelName: 'yolo26n-seg',
modelSource: YOLO26N_SEG_MODEL
};
/**
* @category Models - Instance Segmentation
*/
export const YOLO26S_SEG = {
modelName: 'yolo26s-seg',
modelSource: YOLO26S_SEG_MODEL
};
/**
* @category Models - Instance Segmentation
*/
export const YOLO26M_SEG = {
modelName: 'yolo26m-seg',
modelSource: YOLO26M_SEG_MODEL
};
/**
* @category Models - Instance Segmentation
*/
export const YOLO26L_SEG = {
modelName: 'yolo26l-seg',
modelSource: YOLO26L_SEG_MODEL
};
/**
* @category Models - Instance Segmentation
*/
export const YOLO26X_SEG = {
modelName: 'yolo26x-seg',
modelSource: YOLO26X_SEG_MODEL
};
/**
* @category Models - Instance Segmentation
*/
export const RF_DETR_NANO_SEG = {
modelName: 'rfdetr-nano-seg',
modelSource: RF_DETR_NANO_SEG_MODEL
};
// Image Embeddings
const CLIP_VIT_BASE_PATCH32_IMAGE_MODEL = `${URL_PREFIX}-clip-vit-base-patch32/${VERSION_TAG}/xnnpack/clip_vit_base_patch32_vision_xnnpack_fp32.pte`;
const CLIP_VIT_BASE_PATCH32_IMAGE_QUANTIZED_MODEL = `${URL_PREFIX}-clip-vit-base-patch32/${VERSION_TAG}/xnnpack/clip_vit_base_patch32_vision_xnnpack_int8.pte`;
/**
* @category Models - Image Embeddings
*/
export const CLIP_VIT_BASE_PATCH32_IMAGE = {
modelName: 'clip-vit-base-patch32-image',
modelSource: CLIP_VIT_BASE_PATCH32_IMAGE_MODEL
};
/**
* @category Models - Image Embeddings
*/
export const CLIP_VIT_BASE_PATCH32_IMAGE_QUANTIZED = {
modelName: 'clip-vit-base-patch32-image-quantized',
modelSource: CLIP_VIT_BASE_PATCH32_IMAGE_QUANTIZED_MODEL
};
// Text Embeddings
const ALL_MINILM_L6_V2_MODEL = `${URL_PREFIX}-all-MiniLM-L6-v2/${VERSION_TAG}/all-MiniLM-L6-v2_xnnpack.pte`;
const ALL_MINILM_L6_V2_TOKENIZER = `${URL_PREFIX}-all-MiniLM-L6-v2/${VERSION_TAG}/tokenizer.json`;
const ALL_MPNET_BASE_V2_MODEL = `${URL_PREFIX}-all-mpnet-base-v2/${VERSION_TAG}/all-mpnet-base-v2_xnnpack.pte`;
const ALL_MPNET_BASE_V2_TOKENIZER = `${URL_PREFIX}-all-mpnet-base-v2/${VERSION_TAG}/tokenizer.json`;
const MULTI_QA_MINILM_L6_COS_V1_MODEL = `${URL_PREFIX}-multi-qa-MiniLM-L6-cos-v1/${VERSION_TAG}/multi-qa-MiniLM-L6-cos-v1_xnnpack.pte`;
const MULTI_QA_MINILM_L6_COS_V1_TOKENIZER = `${URL_PREFIX}-multi-qa-MiniLM-L6-cos-v1/${VERSION_TAG}/tokenizer.json`;
const MULTI_QA_MPNET_BASE_DOT_V1_MODEL = `${URL_PREFIX}-multi-qa-mpnet-base-dot-v1/${VERSION_TAG}/multi-qa-mpnet-base-dot-v1_xnnpack.pte`;
const MULTI_QA_MPNET_BASE_DOT_V1_TOKENIZER = `${URL_PREFIX}-multi-qa-mpnet-base-dot-v1/${VERSION_TAG}/tokenizer.json`;
const CLIP_VIT_BASE_PATCH32_TEXT_MODEL = `${URL_PREFIX}-clip-vit-base-patch32/${VERSION_TAG}/xnnpack/clip_vit_base_patch32_text_xnnpack_fp32.pte`;
const CLIP_VIT_BASE_PATCH32_TEXT_TOKENIZER = `${URL_PREFIX}-clip-vit-base-patch32/${VERSION_TAG}/tokenizer.json`;
/**
* @category Models - Text Embeddings
*/
export const ALL_MINILM_L6_V2 = {
modelName: 'all-minilm-l6-v2',
modelSource: ALL_MINILM_L6_V2_MODEL,
tokenizerSource: ALL_MINILM_L6_V2_TOKENIZER
};
/**
* @category Models - Text Embeddings
*/
export const ALL_MPNET_BASE_V2 = {
modelName: 'all-mpnet-base-v2',
modelSource: ALL_MPNET_BASE_V2_MODEL,
tokenizerSource: ALL_MPNET_BASE_V2_TOKENIZER
};
/**
* @category Models - Text Embeddings
*/
export const MULTI_QA_MINILM_L6_COS_V1 = {
modelName: 'multi-qa-minilm-l6-cos-v1',
modelSource: MULTI_QA_MINILM_L6_COS_V1_MODEL,
tokenizerSource: MULTI_QA_MINILM_L6_COS_V1_TOKENIZER
};
/**
* @category Models - Text Embeddings
*/
export const MULTI_QA_MPNET_BASE_DOT_V1 = {
modelName: 'multi-qa-mpnet-base-dot-v1',
modelSource: MULTI_QA_MPNET_BASE_DOT_V1_MODEL,
tokenizerSource: MULTI_QA_MPNET_BASE_DOT_V1_TOKENIZER
};
/**
* @category Models - Text Embeddings
*/
export const CLIP_VIT_BASE_PATCH32_TEXT = {
modelName: 'clip-vit-base-patch32-text',
modelSource: CLIP_VIT_BASE_PATCH32_TEXT_MODEL,
tokenizerSource: CLIP_VIT_BASE_PATCH32_TEXT_TOKENIZER
};
// Image generation
/**
* @category Models - Image Generation
*/
export const BK_SDM_TINY_VPRED_512 = {
modelName: 'bk-sdm-tiny-vpred-512',
schedulerSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/scheduler/scheduler_config.json`,
tokenizerSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/tokenizer/tokenizer.json`,
encoderSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/text_encoder/model.pte`,
unetSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/unet/model.pte`,
decoderSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/vae/model.pte`
};
/**
* @category Models - Image Generation
*/
export const BK_SDM_TINY_VPRED_256 = {
modelName: 'bk-sdm-tiny-vpred-256',
schedulerSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/scheduler/scheduler_config.json`,
tokenizerSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/tokenizer/tokenizer.json`,
encoderSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/text_encoder/model.pte`,
unetSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/unet/model.256.pte`,
decoderSource: `${URL_PREFIX}-bk-sdm-tiny/${VERSION_TAG}/vae/model.256.pte`
};
// Voice Activity Detection
const FSMN_VAD_MODEL = `${URL_PREFIX}-fsmn-vad/${VERSION_TAG}/xnnpack/fsmn-vad_xnnpack.pte`;
/**
* @category Models - Voice Activity Detection
*/
export const FSMN_VAD = {
modelName: 'fsmn-vad',
modelSource: FSMN_VAD_MODEL
};
/**
* Registry of all available model configurations.
*
* Use this to discover and enumerate all models shipped with the library.
* @example
* ```ts
* import { MODEL_REGISTRY } from 'react-native-executorch';
*
* // List all model names
* const names = Object.values(MODEL_REGISTRY).map(m => m.modelName);
*
* // Find models by name substring
* const whisperModels = Object.values(MODEL_REGISTRY)
* .filter(m => m.modelName.includes('whisper'));
* ```
* @category Utils
*/
export const MODEL_REGISTRY = {
ALL_MODELS: {
LLAMA3_2_3B,
LLAMA3_2_3B_QLORA,
LLAMA3_2_3B_SPINQUANT,
LLAMA3_2_1B,
LLAMA3_2_1B_QLORA,
LLAMA3_2_1B_SPINQUANT,
QWEN3_0_6B,
QWEN3_0_6B_QUANTIZED,
QWEN3_1_7B,
QWEN3_1_7B_QUANTIZED,
QWEN3_4B,
QWEN3_4B_QUANTIZED,
HAMMER2_1_0_5B,
HAMMER2_1_0_5B_QUANTIZED,
HAMMER2_1_1_5B,
HAMMER2_1_1_5B_QUANTIZED,
HAMMER2_1_3B,
HAMMER2_1_3B_QUANTIZED,
SMOLLM2_1_135M,
SMOLLM2_1_135M_QUANTIZED,
SMOLLM2_1_360M,
SMOLLM2_1_360M_QUANTIZED,
SMOLLM2_1_1_7B,
SMOLLM2_1_1_7B_QUANTIZED,
QWEN2_5_0_5B,
QWEN2_5_0_5B_QUANTIZED,
QWEN2_5_1_5B,
QWEN2_5_1_5B_QUANTIZED,
QWEN2_5_3B,
QWEN2_5_3B_QUANTIZED,
PHI_4_MINI_4B,
PHI_4_MINI_4B_QUANTIZED,
LFM2_5_350M,
LFM2_5_350M_QUANTIZED,
LFM2_5_1_2B_INSTRUCT,
LFM2_5_1_2B_INSTRUCT_QUANTIZED,
LFM2_VL_1_6B_QUANTIZED,
EFFICIENTNET_V2_S,
EFFICIENTNET_V2_S_QUANTIZED,
SSDLITE_320_MOBILENET_V3_LARGE,
RF_DETR_NANO,
STYLE_TRANSFER_CANDY,
STYLE_TRANSFER_CANDY_QUANTIZED,
STYLE_TRANSFER_MOSAIC,
STYLE_TRANSFER_MOSAIC_QUANTIZED,
STYLE_TRANSFER_RAIN_PRINCESS,
STYLE_TRANSFER_RAIN_PRINCESS_QUANTIZED,
STYLE_TRANSFER_UDNIE,
STYLE_TRANSFER_UDNIE_QUANTIZED,
WHISPER_TINY_EN,
WHISPER_TINY_EN_QUANTIZED,
WHISPER_BASE_EN,
WHISPER_BASE_EN_QUANTIZED,
WHISPER_SMALL_EN,
WHISPER_SMALL_EN_QUANTIZED,
WHISPER_TINY,
WHISPER_BASE,
WHISPER_SMALL,
DEEPLAB_V3_RESNET50,
DEEPLAB_V3_RESNET101,
DEEPLAB_V3_MOBILENET_V3_LARGE,
LRASPP_MOBILENET_V3_LARGE,
FCN_RESNET50,
FCN_RESNET101,
DEEPLAB_V3_RESNET50_QUANTIZED,
DEEPLAB_V3_RESNET101_QUANTIZED,
DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED,
LRASPP_MOBILENET_V3_LARGE_QUANTIZED,
FCN_RESNET50_QUANTIZED,
FCN_RESNET101_QUANTIZED,
SELFIE_SEGMENTATION,
YOLO26N_SEG,
YOLO26S_SEG,
YOLO26M_SEG,
YOLO26L_SEG,
YOLO26X_SEG,
RF_DETR_NANO_SEG,
CLIP_VIT_BASE_PATCH32_IMAGE,
CLIP_VIT_BASE_PATCH32_IMAGE_QUANTIZED,
ALL_MINILM_L6_V2,
ALL_MPNET_BASE_V2,
MULTI_QA_MINILM_L6_COS_V1,
MULTI_QA_MPNET_BASE_DOT_V1,
CLIP_VIT_BASE_PATCH32_TEXT,
BK_SDM_TINY_VPRED_512,
BK_SDM_TINY_VPRED_256,
FSMN_VAD
}
};
const urlToModelName = new Map();
for (const config of Object.values(MODEL_REGISTRY.ALL_MODELS)) {
const modelName = config.modelName;
for (const [key, value] of Object.entries(config)) {
if (key !== 'modelName' && typeof value === 'string') {
urlToModelName.set(value, modelName);
}
}
}
/**
* Looks up the model name for a given source URL.
* @param url - The source URL to look up.
* @returns The model name if found, otherwise undefined.
*/
export function getModelNameForUrl(url) {
return urlToModelName.get(url);
}
//# sourceMappingURL=modelUrls.js.map