react-native-executorch 0.10.1 → 0.11.0-nightly-c8f44f6-20260910

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/models.ts CHANGED
@@ -172,11 +172,12 @@ function family<V extends Record<string, { readonly DEFAULT: unknown }>>(
172
172
  }
173
173
 
174
174
  const BASE_URL = 'https://huggingface.co/software-mansion/react-native-executorch';
175
- // Every model in this release resolves through NEXT_VERSION_TAG. The
176
- // previous-release constant is reintroduced by the post-release bump (RELEASE.md
177
- // step 10) for the models that do not get re-exported next cycle; it is absent
178
- // rather than unused because noUnusedLocals rejects a constant nothing reads.
179
- const NEXT_VERSION_TAG = 'resolve/v0.10.0';
175
+ // Every model currently resolves through VERSION_TAG, the latest published
176
+ // stable tag. `NEXT_VERSION_TAG = 'resolve/v0.11.0'` gets declared next to this
177
+ // one by the first model re-exported for 0.11, and each such model's URL moves
178
+ // over to it; the constant is absent until then rather than declared and unused,
179
+ // because noUnusedLocals rejects a constant nothing reads.
180
+ const VERSION_TAG = 'resolve/v0.10.0';
180
181
 
181
182
  // =============================================================================
182
183
  // Classification
@@ -188,15 +189,15 @@ const EFFICIENTNET_V2_S_OPTS = {
188
189
  labels: IMAGENET1K_LABELS,
189
190
  };
190
191
  const EFFICIENTNET_V2_S_XNNPACK_INT8: ClassifierModel<ImageNet1KLabel> = {
191
- modelPath: `${BASE_URL}-efficientnet-v2-s/${NEXT_VERSION_TAG}/xnnpack/efficientnet_v2_s_xnnpack_int8.pte`,
192
+ modelPath: `${BASE_URL}-efficientnet-v2-s/${VERSION_TAG}/xnnpack/efficientnet_v2_s_xnnpack_int8.pte`,
192
193
  modelOpts: EFFICIENTNET_V2_S_OPTS,
193
194
  };
194
195
  const EFFICIENTNET_V2_S_XNNPACK_FP32: ClassifierModel<ImageNet1KLabel> = {
195
- modelPath: `${BASE_URL}-efficientnet-v2-s/${NEXT_VERSION_TAG}/xnnpack/efficientnet_v2_s_xnnpack_fp32.pte`,
196
+ modelPath: `${BASE_URL}-efficientnet-v2-s/${VERSION_TAG}/xnnpack/efficientnet_v2_s_xnnpack_fp32.pte`,
196
197
  modelOpts: EFFICIENTNET_V2_S_OPTS,
197
198
  };
198
199
  const EFFICIENTNET_V2_S_COREML_FP16: ClassifierModel<ImageNet1KLabel> = {
199
- modelPath: `${BASE_URL}-efficientnet-v2-s/${NEXT_VERSION_TAG}/coreml/efficientnet_v2_s_coreml_fp16.pte`,
200
+ modelPath: `${BASE_URL}-efficientnet-v2-s/${VERSION_TAG}/coreml/efficientnet_v2_s_coreml_fp16.pte`,
200
201
  modelOpts: EFFICIENTNET_V2_S_OPTS,
201
202
  };
202
203
 
@@ -211,51 +212,51 @@ const STYLE_TRANSFER_OPTS = {
211
212
  outInterpolation: 'lanczos' as const,
212
213
  };
213
214
  const STYLE_TRANSFER_CANDY_XNNPACK_FP32: StyleTransferModel = {
214
- modelPath: `${BASE_URL}-style-transfer-candy/${NEXT_VERSION_TAG}/xnnpack/style_transfer_candy_xnnpack_fp32.pte`,
215
+ modelPath: `${BASE_URL}-style-transfer-candy/${VERSION_TAG}/xnnpack/style_transfer_candy_xnnpack_fp32.pte`,
215
216
  modelOpts: STYLE_TRANSFER_OPTS,
216
217
  };
217
218
  const STYLE_TRANSFER_CANDY_XNNPACK_INT8: StyleTransferModel = {
218
- modelPath: `${BASE_URL}-style-transfer-candy/${NEXT_VERSION_TAG}/xnnpack/style_transfer_candy_xnnpack_int8.pte`,
219
+ modelPath: `${BASE_URL}-style-transfer-candy/${VERSION_TAG}/xnnpack/style_transfer_candy_xnnpack_int8.pte`,
219
220
  modelOpts: STYLE_TRANSFER_OPTS,
220
221
  };
221
222
  const STYLE_TRANSFER_CANDY_COREML_FP16: StyleTransferModel = {
222
- modelPath: `${BASE_URL}-style-transfer-candy/${NEXT_VERSION_TAG}/coreml/style_transfer_candy_coreml_fp16.pte`,
223
+ modelPath: `${BASE_URL}-style-transfer-candy/${VERSION_TAG}/coreml/style_transfer_candy_coreml_fp16.pte`,
223
224
  modelOpts: STYLE_TRANSFER_OPTS,
224
225
  };
225
226
  const STYLE_TRANSFER_MOSAIC_XNNPACK_FP32: StyleTransferModel = {
226
- modelPath: `${BASE_URL}-style-transfer-mosaic/${NEXT_VERSION_TAG}/xnnpack/style_transfer_mosaic_xnnpack_fp32.pte`,
227
+ modelPath: `${BASE_URL}-style-transfer-mosaic/${VERSION_TAG}/xnnpack/style_transfer_mosaic_xnnpack_fp32.pte`,
227
228
  modelOpts: STYLE_TRANSFER_OPTS,
228
229
  };
229
230
  const STYLE_TRANSFER_MOSAIC_XNNPACK_INT8: StyleTransferModel = {
230
- modelPath: `${BASE_URL}-style-transfer-mosaic/${NEXT_VERSION_TAG}/xnnpack/style_transfer_mosaic_xnnpack_int8.pte`,
231
+ modelPath: `${BASE_URL}-style-transfer-mosaic/${VERSION_TAG}/xnnpack/style_transfer_mosaic_xnnpack_int8.pte`,
231
232
  modelOpts: STYLE_TRANSFER_OPTS,
232
233
  };
233
234
  const STYLE_TRANSFER_MOSAIC_COREML_FP16: StyleTransferModel = {
234
- modelPath: `${BASE_URL}-style-transfer-mosaic/${NEXT_VERSION_TAG}/coreml/style_transfer_mosaic_coreml_fp16.pte`,
235
+ modelPath: `${BASE_URL}-style-transfer-mosaic/${VERSION_TAG}/coreml/style_transfer_mosaic_coreml_fp16.pte`,
235
236
  modelOpts: STYLE_TRANSFER_OPTS,
236
237
  };
237
238
  const STYLE_TRANSFER_RAIN_PRINCESS_XNNPACK_FP32: StyleTransferModel = {
238
- modelPath: `${BASE_URL}-style-transfer-rain-princess/${NEXT_VERSION_TAG}/xnnpack/style_transfer_rain_princess_xnnpack_fp32.pte`,
239
+ modelPath: `${BASE_URL}-style-transfer-rain-princess/${VERSION_TAG}/xnnpack/style_transfer_rain_princess_xnnpack_fp32.pte`,
239
240
  modelOpts: STYLE_TRANSFER_OPTS,
240
241
  };
241
242
  const STYLE_TRANSFER_RAIN_PRINCESS_XNNPACK_INT8: StyleTransferModel = {
242
- modelPath: `${BASE_URL}-style-transfer-rain-princess/${NEXT_VERSION_TAG}/xnnpack/style_transfer_rain_princess_xnnpack_int8.pte`,
243
+ modelPath: `${BASE_URL}-style-transfer-rain-princess/${VERSION_TAG}/xnnpack/style_transfer_rain_princess_xnnpack_int8.pte`,
243
244
  modelOpts: STYLE_TRANSFER_OPTS,
244
245
  };
245
246
  const STYLE_TRANSFER_RAIN_PRINCESS_COREML_FP16: StyleTransferModel = {
246
- modelPath: `${BASE_URL}-style-transfer-rain-princess/${NEXT_VERSION_TAG}/coreml/style_transfer_rain_princess_coreml_fp16.pte`,
247
+ modelPath: `${BASE_URL}-style-transfer-rain-princess/${VERSION_TAG}/coreml/style_transfer_rain_princess_coreml_fp16.pte`,
247
248
  modelOpts: STYLE_TRANSFER_OPTS,
248
249
  };
249
250
  const STYLE_TRANSFER_UDNIE_XNNPACK_FP32: StyleTransferModel = {
250
- modelPath: `${BASE_URL}-style-transfer-udnie/${NEXT_VERSION_TAG}/xnnpack/style_transfer_udnie_xnnpack_fp32.pte`,
251
+ modelPath: `${BASE_URL}-style-transfer-udnie/${VERSION_TAG}/xnnpack/style_transfer_udnie_xnnpack_fp32.pte`,
251
252
  modelOpts: STYLE_TRANSFER_OPTS,
252
253
  };
253
254
  const STYLE_TRANSFER_UDNIE_XNNPACK_INT8: StyleTransferModel = {
254
- modelPath: `${BASE_URL}-style-transfer-udnie/${NEXT_VERSION_TAG}/xnnpack/style_transfer_udnie_xnnpack_int8.pte`,
255
+ modelPath: `${BASE_URL}-style-transfer-udnie/${VERSION_TAG}/xnnpack/style_transfer_udnie_xnnpack_int8.pte`,
255
256
  modelOpts: STYLE_TRANSFER_OPTS,
256
257
  };
257
258
  const STYLE_TRANSFER_UDNIE_COREML_FP16: StyleTransferModel = {
258
- modelPath: `${BASE_URL}-style-transfer-udnie/${NEXT_VERSION_TAG}/coreml/style_transfer_udnie_coreml_fp16.pte`,
259
+ modelPath: `${BASE_URL}-style-transfer-udnie/${VERSION_TAG}/coreml/style_transfer_udnie_coreml_fp16.pte`,
259
260
  modelOpts: STYLE_TRANSFER_OPTS,
260
261
  };
261
262
 
@@ -263,7 +264,7 @@ const STYLE_TRANSFER_UDNIE_COREML_FP16: StyleTransferModel = {
263
264
  // Semantic Segmentation
264
265
  // =============================================================================
265
266
  const SELFIE_SEGMENTATION_XNNPACK_FP32: SemanticSegmenterModel<'background' | 'person'> = {
266
- modelPath: `${BASE_URL}-selfie-segmentation/${NEXT_VERSION_TAG}/xnnpack/selfie_segmentation_xnnpack_fp32.pte`,
267
+ modelPath: `${BASE_URL}-selfie-segmentation/${VERSION_TAG}/xnnpack/selfie_segmentation_xnnpack_fp32.pte`,
267
268
  modelOpts: {
268
269
  labels: ['background', 'person'] as const,
269
270
  resizeMode: 'stretch',
@@ -273,16 +274,16 @@ const SELFIE_SEGMENTATION_XNNPACK_FP32: SemanticSegmenterModel<'background' | 'p
273
274
  },
274
275
  };
275
276
  const SELFIE_SEGMENTATION_COREML_FP16: SemanticSegmenterModel<'background' | 'person'> = {
276
- modelPath: `${BASE_URL}-selfie-segmentation/${NEXT_VERSION_TAG}/coreml/selfie_segmentation_coreml_fp16.pte`,
277
+ modelPath: `${BASE_URL}-selfie-segmentation/${VERSION_TAG}/coreml/selfie_segmentation_coreml_fp16.pte`,
277
278
  modelOpts: SELFIE_SEGMENTATION_XNNPACK_FP32.modelOpts,
278
279
  };
279
280
  const SELFIE_SEGMENTATION_LANDSCAPE_XNNPACK_FP32: SemanticSegmenterModel<'background' | 'person'> =
280
281
  {
281
- modelPath: `${BASE_URL}-selfie-segmentation/${NEXT_VERSION_TAG}/xnnpack/selfie_segmentation_landscape_xnnpack_fp32.pte`,
282
+ modelPath: `${BASE_URL}-selfie-segmentation/${VERSION_TAG}/xnnpack/selfie_segmentation_landscape_xnnpack_fp32.pte`,
282
283
  modelOpts: SELFIE_SEGMENTATION_XNNPACK_FP32.modelOpts,
283
284
  };
284
285
  const SELFIE_SEGMENTATION_LANDSCAPE_COREML_FP16: SemanticSegmenterModel<'background' | 'person'> = {
285
- modelPath: `${BASE_URL}-selfie-segmentation/${NEXT_VERSION_TAG}/coreml/selfie_segmentation_landscape_coreml_fp16.pte`,
286
+ modelPath: `${BASE_URL}-selfie-segmentation/${VERSION_TAG}/coreml/selfie_segmentation_landscape_coreml_fp16.pte`,
286
287
  modelOpts: SELFIE_SEGMENTATION_XNNPACK_FP32.modelOpts,
287
288
  };
288
289
 
@@ -294,15 +295,15 @@ const LRASPP_MOBILENET_V3_LARGE_OPTS = {
294
295
  normalizeOpts: IMAGENET_NORM,
295
296
  };
296
297
  const LRASPP_MOBILENET_V3_LARGE_XNNPACK_FP32: SemanticSegmenterModel<PascalVocLabel> = {
297
- modelPath: `${BASE_URL}-lraspp/${NEXT_VERSION_TAG}/xnnpack/lraspp_mobilenet_v3_large_xnnpack_fp32.pte`,
298
+ modelPath: `${BASE_URL}-lraspp/${VERSION_TAG}/xnnpack/lraspp_mobilenet_v3_large_xnnpack_fp32.pte`,
298
299
  modelOpts: LRASPP_MOBILENET_V3_LARGE_OPTS,
299
300
  };
300
301
  const LRASPP_MOBILENET_V3_LARGE_XNNPACK_INT8: SemanticSegmenterModel<PascalVocLabel> = {
301
- modelPath: `${BASE_URL}-lraspp/${NEXT_VERSION_TAG}/xnnpack/lraspp_mobilenet_v3_large_xnnpack_int8.pte`,
302
+ modelPath: `${BASE_URL}-lraspp/${VERSION_TAG}/xnnpack/lraspp_mobilenet_v3_large_xnnpack_int8.pte`,
302
303
  modelOpts: LRASPP_MOBILENET_V3_LARGE_OPTS,
303
304
  };
304
305
  const LRASPP_MOBILENET_V3_LARGE_COREML_FP16: SemanticSegmenterModel<PascalVocLabel> = {
305
- modelPath: `${BASE_URL}-lraspp/${NEXT_VERSION_TAG}/coreml/lraspp_mobilenet_v3_large_coreml_fp16.pte`,
306
+ modelPath: `${BASE_URL}-lraspp/${VERSION_TAG}/coreml/lraspp_mobilenet_v3_large_coreml_fp16.pte`,
306
307
  modelOpts: LRASPP_MOBILENET_V3_LARGE_OPTS,
307
308
  };
308
309
 
@@ -314,39 +315,39 @@ const DEEPLAB_V3_OPTS = {
314
315
  normalizeOpts: IMAGENET_NORM,
315
316
  };
316
317
  const DEEPLAB_V3_RESNET50_XNNPACK_FP32: SemanticSegmenterModel<PascalVocLabel> = {
317
- modelPath: `${BASE_URL}-deeplab-v3/${NEXT_VERSION_TAG}/xnnpack/deeplab_v3_resnet50_xnnpack_fp32.pte`,
318
+ modelPath: `${BASE_URL}-deeplab-v3/${VERSION_TAG}/xnnpack/deeplab_v3_resnet50_xnnpack_fp32.pte`,
318
319
  modelOpts: DEEPLAB_V3_OPTS,
319
320
  };
320
321
  const DEEPLAB_V3_RESNET50_XNNPACK_INT8: SemanticSegmenterModel<PascalVocLabel> = {
321
- modelPath: `${BASE_URL}-deeplab-v3/${NEXT_VERSION_TAG}/xnnpack/deeplab_v3_resnet50_xnnpack_int8.pte`,
322
+ modelPath: `${BASE_URL}-deeplab-v3/${VERSION_TAG}/xnnpack/deeplab_v3_resnet50_xnnpack_int8.pte`,
322
323
  modelOpts: DEEPLAB_V3_OPTS,
323
324
  };
324
325
  const DEEPLAB_V3_RESNET50_COREML_FP16: SemanticSegmenterModel<PascalVocLabel> = {
325
- modelPath: `${BASE_URL}-deeplab-v3/${NEXT_VERSION_TAG}/coreml/deeplab_v3_resnet50_coreml_fp16.pte`,
326
+ modelPath: `${BASE_URL}-deeplab-v3/${VERSION_TAG}/coreml/deeplab_v3_resnet50_coreml_fp16.pte`,
326
327
  modelOpts: DEEPLAB_V3_OPTS,
327
328
  };
328
329
  const DEEPLAB_V3_RESNET101_XNNPACK_FP32: SemanticSegmenterModel<PascalVocLabel> = {
329
- modelPath: `${BASE_URL}-deeplab-v3/${NEXT_VERSION_TAG}/xnnpack/deeplab_v3_resnet101_xnnpack_fp32.pte`,
330
+ modelPath: `${BASE_URL}-deeplab-v3/${VERSION_TAG}/xnnpack/deeplab_v3_resnet101_xnnpack_fp32.pte`,
330
331
  modelOpts: DEEPLAB_V3_OPTS,
331
332
  };
332
333
  const DEEPLAB_V3_RESNET101_XNNPACK_INT8: SemanticSegmenterModel<PascalVocLabel> = {
333
- modelPath: `${BASE_URL}-deeplab-v3/${NEXT_VERSION_TAG}/xnnpack/deeplab_v3_resnet101_xnnpack_int8.pte`,
334
+ modelPath: `${BASE_URL}-deeplab-v3/${VERSION_TAG}/xnnpack/deeplab_v3_resnet101_xnnpack_int8.pte`,
334
335
  modelOpts: DEEPLAB_V3_OPTS,
335
336
  };
336
337
  const DEEPLAB_V3_RESNET101_COREML_FP16: SemanticSegmenterModel<PascalVocLabel> = {
337
- modelPath: `${BASE_URL}-deeplab-v3/${NEXT_VERSION_TAG}/coreml/deeplab_v3_resnet101_coreml_fp16.pte`,
338
+ modelPath: `${BASE_URL}-deeplab-v3/${VERSION_TAG}/coreml/deeplab_v3_resnet101_coreml_fp16.pte`,
338
339
  modelOpts: DEEPLAB_V3_OPTS,
339
340
  };
340
341
  const DEEPLAB_V3_MOBILENET_V3_LARGE_XNNPACK_FP32: SemanticSegmenterModel<PascalVocLabel> = {
341
- modelPath: `${BASE_URL}-deeplab-v3/${NEXT_VERSION_TAG}/xnnpack/deeplab_v3_mobilenet_v3_large_xnnpack_fp32.pte`,
342
+ modelPath: `${BASE_URL}-deeplab-v3/${VERSION_TAG}/xnnpack/deeplab_v3_mobilenet_v3_large_xnnpack_fp32.pte`,
342
343
  modelOpts: DEEPLAB_V3_OPTS,
343
344
  };
344
345
  const DEEPLAB_V3_MOBILENET_V3_LARGE_XNNPACK_INT8: SemanticSegmenterModel<PascalVocLabel> = {
345
- modelPath: `${BASE_URL}-deeplab-v3/${NEXT_VERSION_TAG}/xnnpack/deeplab_v3_mobilenet_v3_large_xnnpack_int8.pte`,
346
+ modelPath: `${BASE_URL}-deeplab-v3/${VERSION_TAG}/xnnpack/deeplab_v3_mobilenet_v3_large_xnnpack_int8.pte`,
346
347
  modelOpts: DEEPLAB_V3_OPTS,
347
348
  };
348
349
  const DEEPLAB_V3_MOBILENET_V3_LARGE_COREML_FP16: SemanticSegmenterModel<PascalVocLabel> = {
349
- modelPath: `${BASE_URL}-deeplab-v3/${NEXT_VERSION_TAG}/coreml/deeplab_v3_mobilenet_v3_large_coreml_fp16.pte`,
350
+ modelPath: `${BASE_URL}-deeplab-v3/${VERSION_TAG}/coreml/deeplab_v3_mobilenet_v3_large_coreml_fp16.pte`,
350
351
  modelOpts: DEEPLAB_V3_OPTS,
351
352
  };
352
353
 
@@ -358,27 +359,27 @@ const FCN_OPTS = {
358
359
  normalizeOpts: IMAGENET_NORM,
359
360
  };
360
361
  const FCN_RESNET50_XNNPACK_FP32: SemanticSegmenterModel<PascalVocLabel> = {
361
- modelPath: `${BASE_URL}-fcn/${NEXT_VERSION_TAG}/xnnpack/fcn_resnet50_xnnpack_fp32.pte`,
362
+ modelPath: `${BASE_URL}-fcn/${VERSION_TAG}/xnnpack/fcn_resnet50_xnnpack_fp32.pte`,
362
363
  modelOpts: FCN_OPTS,
363
364
  };
364
365
  const FCN_RESNET50_XNNPACK_INT8: SemanticSegmenterModel<PascalVocLabel> = {
365
- modelPath: `${BASE_URL}-fcn/${NEXT_VERSION_TAG}/xnnpack/fcn_resnet50_xnnpack_int8.pte`,
366
+ modelPath: `${BASE_URL}-fcn/${VERSION_TAG}/xnnpack/fcn_resnet50_xnnpack_int8.pte`,
366
367
  modelOpts: FCN_OPTS,
367
368
  };
368
369
  const FCN_RESNET50_COREML_FP16: SemanticSegmenterModel<PascalVocLabel> = {
369
- modelPath: `${BASE_URL}-fcn/${NEXT_VERSION_TAG}/coreml/fcn_resnet50_coreml_fp16.pte`,
370
+ modelPath: `${BASE_URL}-fcn/${VERSION_TAG}/coreml/fcn_resnet50_coreml_fp16.pte`,
370
371
  modelOpts: FCN_OPTS,
371
372
  };
372
373
  const FCN_RESNET101_XNNPACK_FP32: SemanticSegmenterModel<PascalVocLabel> = {
373
- modelPath: `${BASE_URL}-fcn/${NEXT_VERSION_TAG}/xnnpack/fcn_resnet101_xnnpack_fp32.pte`,
374
+ modelPath: `${BASE_URL}-fcn/${VERSION_TAG}/xnnpack/fcn_resnet101_xnnpack_fp32.pte`,
374
375
  modelOpts: FCN_OPTS,
375
376
  };
376
377
  const FCN_RESNET101_XNNPACK_INT8: SemanticSegmenterModel<PascalVocLabel> = {
377
- modelPath: `${BASE_URL}-fcn/${NEXT_VERSION_TAG}/xnnpack/fcn_resnet101_xnnpack_int8.pte`,
378
+ modelPath: `${BASE_URL}-fcn/${VERSION_TAG}/xnnpack/fcn_resnet101_xnnpack_int8.pte`,
378
379
  modelOpts: FCN_OPTS,
379
380
  };
380
381
  const FCN_RESNET101_COREML_FP16: SemanticSegmenterModel<PascalVocLabel> = {
381
- modelPath: `${BASE_URL}-fcn/${NEXT_VERSION_TAG}/coreml/fcn_resnet101_coreml_fp16.pte`,
382
+ modelPath: `${BASE_URL}-fcn/${VERSION_TAG}/coreml/fcn_resnet101_coreml_fp16.pte`,
382
383
  modelOpts: FCN_OPTS,
383
384
  };
384
385
 
@@ -395,11 +396,11 @@ const SSDLITE320_MOBILENET_V3_LARGE_OPTS = {
395
396
  defaultIouThreshold: 0.55,
396
397
  };
397
398
  const SSDLITE320_MOBILENET_V3_LARGE_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClass> = {
398
- modelPath: `${BASE_URL}-ssdlite320-mobilenet-v3-large/${NEXT_VERSION_TAG}/xnnpack/ssdlite320_mobilenet_v3_large_xnnpack_fp32.pte`,
399
+ modelPath: `${BASE_URL}-ssdlite320-mobilenet-v3-large/${VERSION_TAG}/xnnpack/ssdlite320_mobilenet_v3_large_xnnpack_fp32.pte`,
399
400
  modelOpts: SSDLITE320_MOBILENET_V3_LARGE_OPTS,
400
401
  };
401
402
  const SSDLITE320_MOBILENET_V3_LARGE_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClass> = {
402
- modelPath: `${BASE_URL}-ssdlite320-mobilenet-v3-large/${NEXT_VERSION_TAG}/coreml/ssdlite320_mobilenet_v3_large_coreml_fp16.pte`,
403
+ modelPath: `${BASE_URL}-ssdlite320-mobilenet-v3-large/${VERSION_TAG}/coreml/ssdlite320_mobilenet_v3_large_coreml_fp16.pte`,
403
404
  modelOpts: SSDLITE320_MOBILENET_V3_LARGE_OPTS,
404
405
  };
405
406
 
@@ -413,11 +414,11 @@ const RFDETR_NANO_DETECTOR_OPTS = {
413
414
  defaultIouThreshold: 0.55,
414
415
  };
415
416
  const RFDETR_NANO_DETECTOR_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClass> = {
416
- modelPath: `${BASE_URL}-rfdetr-nano-detector/${NEXT_VERSION_TAG}/xnnpack/rfdetr_nano_xnnpack_fp32.pte`,
417
+ modelPath: `${BASE_URL}-rfdetr-nano-detector/${VERSION_TAG}/xnnpack/rfdetr_nano_xnnpack_fp32.pte`,
417
418
  modelOpts: RFDETR_NANO_DETECTOR_OPTS,
418
419
  };
419
420
  const RFDETR_NANO_DETECTOR_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClass> = {
420
- modelPath: `${BASE_URL}-rfdetr-nano-detector/${NEXT_VERSION_TAG}/coreml/rfdetr_nano_coreml_fp16.pte`,
421
+ modelPath: `${BASE_URL}-rfdetr-nano-detector/${VERSION_TAG}/coreml/rfdetr_nano_coreml_fp16.pte`,
421
422
  modelOpts: RFDETR_NANO_DETECTOR_OPTS,
422
423
  };
423
424
 
@@ -432,127 +433,127 @@ const YOLO26_DETECTOR_OPTS = {
432
433
  };
433
434
 
434
435
  const YOLO26_NANO_384_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
435
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/n/xnnpack/yolo26n_384_xnnpack_fp32.pte`,
436
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/n/xnnpack/yolo26n_384_xnnpack_fp32.pte`,
436
437
  modelOpts: YOLO26_DETECTOR_OPTS,
437
438
  };
438
439
  const YOLO26_NANO_384_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
439
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/n/coreml/yolo26n_384_coreml_fp16.pte`,
440
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/n/coreml/yolo26n_384_coreml_fp16.pte`,
440
441
  modelOpts: YOLO26_DETECTOR_OPTS,
441
442
  };
442
443
  const YOLO26_NANO_512_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
443
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/n/xnnpack/yolo26n_512_xnnpack_fp32.pte`,
444
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/n/xnnpack/yolo26n_512_xnnpack_fp32.pte`,
444
445
  modelOpts: YOLO26_DETECTOR_OPTS,
445
446
  };
446
447
  const YOLO26_NANO_512_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
447
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/n/coreml/yolo26n_512_coreml_fp16.pte`,
448
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/n/coreml/yolo26n_512_coreml_fp16.pte`,
448
449
  modelOpts: YOLO26_DETECTOR_OPTS,
449
450
  };
450
451
  const YOLO26_NANO_640_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
451
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/n/xnnpack/yolo26n_640_xnnpack_fp32.pte`,
452
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/n/xnnpack/yolo26n_640_xnnpack_fp32.pte`,
452
453
  modelOpts: YOLO26_DETECTOR_OPTS,
453
454
  };
454
455
  const YOLO26_NANO_640_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
455
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/n/coreml/yolo26n_640_coreml_fp16.pte`,
456
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/n/coreml/yolo26n_640_coreml_fp16.pte`,
456
457
  modelOpts: YOLO26_DETECTOR_OPTS,
457
458
  };
458
459
 
459
460
  const YOLO26_SMALL_384_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
460
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/s/xnnpack/yolo26s_384_xnnpack_fp32.pte`,
461
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/s/xnnpack/yolo26s_384_xnnpack_fp32.pte`,
461
462
  modelOpts: YOLO26_DETECTOR_OPTS,
462
463
  };
463
464
  const YOLO26_SMALL_384_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
464
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/s/coreml/yolo26s_384_coreml_fp16.pte`,
465
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/s/coreml/yolo26s_384_coreml_fp16.pte`,
465
466
  modelOpts: YOLO26_DETECTOR_OPTS,
466
467
  };
467
468
  const YOLO26_SMALL_512_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
468
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/s/xnnpack/yolo26s_512_xnnpack_fp32.pte`,
469
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/s/xnnpack/yolo26s_512_xnnpack_fp32.pte`,
469
470
  modelOpts: YOLO26_DETECTOR_OPTS,
470
471
  };
471
472
  const YOLO26_SMALL_512_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
472
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/s/coreml/yolo26s_512_coreml_fp16.pte`,
473
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/s/coreml/yolo26s_512_coreml_fp16.pte`,
473
474
  modelOpts: YOLO26_DETECTOR_OPTS,
474
475
  };
475
476
  const YOLO26_SMALL_640_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
476
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/s/xnnpack/yolo26s_640_xnnpack_fp32.pte`,
477
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/s/xnnpack/yolo26s_640_xnnpack_fp32.pte`,
477
478
  modelOpts: YOLO26_DETECTOR_OPTS,
478
479
  };
479
480
  const YOLO26_SMALL_640_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
480
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/s/coreml/yolo26s_640_coreml_fp16.pte`,
481
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/s/coreml/yolo26s_640_coreml_fp16.pte`,
481
482
  modelOpts: YOLO26_DETECTOR_OPTS,
482
483
  };
483
484
 
484
485
  const YOLO26_MEDIUM_384_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
485
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/m/xnnpack/yolo26m_384_xnnpack_fp32.pte`,
486
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/m/xnnpack/yolo26m_384_xnnpack_fp32.pte`,
486
487
  modelOpts: YOLO26_DETECTOR_OPTS,
487
488
  };
488
489
  const YOLO26_MEDIUM_384_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
489
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/m/coreml/yolo26m_384_coreml_fp16.pte`,
490
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/m/coreml/yolo26m_384_coreml_fp16.pte`,
490
491
  modelOpts: YOLO26_DETECTOR_OPTS,
491
492
  };
492
493
  const YOLO26_MEDIUM_512_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
493
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/m/xnnpack/yolo26m_512_xnnpack_fp32.pte`,
494
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/m/xnnpack/yolo26m_512_xnnpack_fp32.pte`,
494
495
  modelOpts: YOLO26_DETECTOR_OPTS,
495
496
  };
496
497
  const YOLO26_MEDIUM_512_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
497
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/m/coreml/yolo26m_512_coreml_fp16.pte`,
498
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/m/coreml/yolo26m_512_coreml_fp16.pte`,
498
499
  modelOpts: YOLO26_DETECTOR_OPTS,
499
500
  };
500
501
  const YOLO26_MEDIUM_640_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
501
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/m/xnnpack/yolo26m_640_xnnpack_fp32.pte`,
502
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/m/xnnpack/yolo26m_640_xnnpack_fp32.pte`,
502
503
  modelOpts: YOLO26_DETECTOR_OPTS,
503
504
  };
504
505
  const YOLO26_MEDIUM_640_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
505
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/m/coreml/yolo26m_640_coreml_fp16.pte`,
506
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/m/coreml/yolo26m_640_coreml_fp16.pte`,
506
507
  modelOpts: YOLO26_DETECTOR_OPTS,
507
508
  };
508
509
 
509
510
  const YOLO26_LARGE_384_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
510
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/l/xnnpack/yolo26l_384_xnnpack_fp32.pte`,
511
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/l/xnnpack/yolo26l_384_xnnpack_fp32.pte`,
511
512
  modelOpts: YOLO26_DETECTOR_OPTS,
512
513
  };
513
514
  const YOLO26_LARGE_384_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
514
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/l/coreml/yolo26l_384_coreml_fp16.pte`,
515
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/l/coreml/yolo26l_384_coreml_fp16.pte`,
515
516
  modelOpts: YOLO26_DETECTOR_OPTS,
516
517
  };
517
518
  const YOLO26_LARGE_512_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
518
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/l/xnnpack/yolo26l_512_xnnpack_fp32.pte`,
519
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/l/xnnpack/yolo26l_512_xnnpack_fp32.pte`,
519
520
  modelOpts: YOLO26_DETECTOR_OPTS,
520
521
  };
521
522
  const YOLO26_LARGE_512_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
522
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/l/coreml/yolo26l_512_coreml_fp16.pte`,
523
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/l/coreml/yolo26l_512_coreml_fp16.pte`,
523
524
  modelOpts: YOLO26_DETECTOR_OPTS,
524
525
  };
525
526
  const YOLO26_LARGE_640_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
526
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/l/xnnpack/yolo26l_640_xnnpack_fp32.pte`,
527
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/l/xnnpack/yolo26l_640_xnnpack_fp32.pte`,
527
528
  modelOpts: YOLO26_DETECTOR_OPTS,
528
529
  };
529
530
  const YOLO26_LARGE_640_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
530
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/l/coreml/yolo26l_640_coreml_fp16.pte`,
531
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/l/coreml/yolo26l_640_coreml_fp16.pte`,
531
532
  modelOpts: YOLO26_DETECTOR_OPTS,
532
533
  };
533
534
 
534
535
  const YOLO26_XLARGE_384_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
535
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/x/xnnpack/yolo26x_384_xnnpack_fp32.pte`,
536
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/x/xnnpack/yolo26x_384_xnnpack_fp32.pte`,
536
537
  modelOpts: YOLO26_DETECTOR_OPTS,
537
538
  };
538
539
  const YOLO26_XLARGE_384_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
539
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/x/coreml/yolo26x_384_coreml_fp16.pte`,
540
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/x/coreml/yolo26x_384_coreml_fp16.pte`,
540
541
  modelOpts: YOLO26_DETECTOR_OPTS,
541
542
  };
542
543
  const YOLO26_XLARGE_512_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
543
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/x/xnnpack/yolo26x_512_xnnpack_fp32.pte`,
544
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/x/xnnpack/yolo26x_512_xnnpack_fp32.pte`,
544
545
  modelOpts: YOLO26_DETECTOR_OPTS,
545
546
  };
546
547
  const YOLO26_XLARGE_512_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
547
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/x/coreml/yolo26x_512_coreml_fp16.pte`,
548
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/x/coreml/yolo26x_512_coreml_fp16.pte`,
548
549
  modelOpts: YOLO26_DETECTOR_OPTS,
549
550
  };
550
551
  const YOLO26_XLARGE_640_XNNPACK_FP32: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
551
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/x/xnnpack/yolo26x_640_xnnpack_fp32.pte`,
552
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/x/xnnpack/yolo26x_640_xnnpack_fp32.pte`,
552
553
  modelOpts: YOLO26_DETECTOR_OPTS,
553
554
  };
554
555
  const YOLO26_XLARGE_640_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo> = {
555
- modelPath: `${BASE_URL}-yolo26/${NEXT_VERSION_TAG}/x/coreml/yolo26x_640_coreml_fp16.pte`,
556
+ modelPath: `${BASE_URL}-yolo26/${VERSION_TAG}/x/coreml/yolo26x_640_coreml_fp16.pte`,
556
557
  modelOpts: YOLO26_DETECTOR_OPTS,
557
558
  };
558
559
 
@@ -560,7 +561,7 @@ const YOLO26_XLARGE_640_COREML_FP16: ObjectDetectorModel<'xyxy', CocoClassYolo>
560
561
  // Keypoint Detection
561
562
  // =============================================================================
562
563
  const BLAZEFACE_XNNPACK_FP32: KeypointDetectorModel<'xyxy', BlazeFaceLandmark> = {
563
- modelPath: `${BASE_URL}-blazeface/${NEXT_VERSION_TAG}/xnnpack/blazeface_xnnpack_fp32.pte`,
564
+ modelPath: `${BASE_URL}-blazeface/${VERSION_TAG}/xnnpack/blazeface_xnnpack_fp32.pte`,
564
565
  modelOpts: {
565
566
  boxFormat: 'xyxy',
566
567
  resizeMode: 'letterbox',
@@ -582,27 +583,27 @@ const YOLO26_POSE_OPTS = {
582
583
  landmarks: COCO_LANDMARKS,
583
584
  };
584
585
  const YOLO26_POSE_384_XNNPACK_FP32: KeypointDetectorModel<'xyxy', CocoLandmark> = {
585
- modelPath: `${BASE_URL}-yolo26-pose/${NEXT_VERSION_TAG}/xnnpack/yolo26n_pose_384_xnnpack_fp32.pte`,
586
+ modelPath: `${BASE_URL}-yolo26-pose/${VERSION_TAG}/xnnpack/yolo26n_pose_384_xnnpack_fp32.pte`,
586
587
  modelOpts: YOLO26_POSE_OPTS,
587
588
  };
588
589
  const YOLO26_POSE_384_COREML_FP16: KeypointDetectorModel<'xyxy', CocoLandmark> = {
589
- modelPath: `${BASE_URL}-yolo26-pose/${NEXT_VERSION_TAG}/coreml/yolo26n_pose_384_coreml_fp16.pte`,
590
+ modelPath: `${BASE_URL}-yolo26-pose/${VERSION_TAG}/coreml/yolo26n_pose_384_coreml_fp16.pte`,
590
591
  modelOpts: YOLO26_POSE_OPTS,
591
592
  };
592
593
  const YOLO26_POSE_512_XNNPACK_FP32: KeypointDetectorModel<'xyxy', CocoLandmark> = {
593
- modelPath: `${BASE_URL}-yolo26-pose/${NEXT_VERSION_TAG}/xnnpack/yolo26n_pose_512_xnnpack_fp32.pte`,
594
+ modelPath: `${BASE_URL}-yolo26-pose/${VERSION_TAG}/xnnpack/yolo26n_pose_512_xnnpack_fp32.pte`,
594
595
  modelOpts: YOLO26_POSE_OPTS,
595
596
  };
596
597
  const YOLO26_POSE_512_COREML_FP16: KeypointDetectorModel<'xyxy', CocoLandmark> = {
597
- modelPath: `${BASE_URL}-yolo26-pose/${NEXT_VERSION_TAG}/coreml/yolo26n_pose_512_coreml_fp16.pte`,
598
+ modelPath: `${BASE_URL}-yolo26-pose/${VERSION_TAG}/coreml/yolo26n_pose_512_coreml_fp16.pte`,
598
599
  modelOpts: YOLO26_POSE_OPTS,
599
600
  };
600
601
  const YOLO26_POSE_640_XNNPACK_FP32: KeypointDetectorModel<'xyxy', CocoLandmark> = {
601
- modelPath: `${BASE_URL}-yolo26-pose/${NEXT_VERSION_TAG}/xnnpack/yolo26n_pose_640_xnnpack_fp32.pte`,
602
+ modelPath: `${BASE_URL}-yolo26-pose/${VERSION_TAG}/xnnpack/yolo26n_pose_640_xnnpack_fp32.pte`,
602
603
  modelOpts: YOLO26_POSE_OPTS,
603
604
  };
604
605
  const YOLO26_POSE_640_COREML_FP16: KeypointDetectorModel<'xyxy', CocoLandmark> = {
605
- modelPath: `${BASE_URL}-yolo26-pose/${NEXT_VERSION_TAG}/coreml/yolo26n_pose_640_coreml_fp16.pte`,
606
+ modelPath: `${BASE_URL}-yolo26-pose/${VERSION_TAG}/coreml/yolo26n_pose_640_coreml_fp16.pte`,
606
607
  modelOpts: YOLO26_POSE_OPTS,
607
608
  };
608
609
 
@@ -616,11 +617,11 @@ const RFDETR_KEYPOINT_OPTS = {
616
617
  landmarks: COCO_LANDMARKS,
617
618
  };
618
619
  const RFDETR_KEYPOINT_XNNPACK_FP32: KeypointDetectorModel<'xyxy', CocoLandmark> = {
619
- modelPath: `${BASE_URL}-rfdetr-keypoint/${NEXT_VERSION_TAG}/xnnpack/rfdetr_keypoint_preview_xnnpack_fp32.pte`,
620
+ modelPath: `${BASE_URL}-rfdetr-keypoint/${VERSION_TAG}/xnnpack/rfdetr_keypoint_preview_xnnpack_fp32.pte`,
620
621
  modelOpts: RFDETR_KEYPOINT_OPTS,
621
622
  };
622
623
  const RFDETR_KEYPOINT_COREML_FP16: KeypointDetectorModel<'xyxy', CocoLandmark> = {
623
- modelPath: `${BASE_URL}-rfdetr-keypoint/${NEXT_VERSION_TAG}/coreml/rfdetr_keypoint_preview_coreml_fp16.pte`,
624
+ modelPath: `${BASE_URL}-rfdetr-keypoint/${VERSION_TAG}/coreml/rfdetr_keypoint_preview_coreml_fp16.pte`,
624
625
  modelOpts: RFDETR_KEYPOINT_OPTS,
625
626
  };
626
627
 
@@ -638,19 +639,19 @@ const FASTSAM_OPTS = {
638
639
  defaultMaskThreshold: 0.5,
639
640
  };
640
641
  const FASTSAM_S_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', 'object'> = {
641
- modelPath: `${BASE_URL}-fast-sam/${NEXT_VERSION_TAG}/s/xnnpack/fast_sam_s_xnnpack_fp32.pte`,
642
+ modelPath: `${BASE_URL}-fast-sam/${VERSION_TAG}/s/xnnpack/fast_sam_s_xnnpack_fp32.pte`,
642
643
  modelOpts: FASTSAM_OPTS,
643
644
  };
644
645
  const FASTSAM_S_COREML_FP16: InstanceSegmenterModel<'xyxy', 'object'> = {
645
- modelPath: `${BASE_URL}-fast-sam/${NEXT_VERSION_TAG}/s/coreml/fast_sam_s_coreml_fp16.pte`,
646
+ modelPath: `${BASE_URL}-fast-sam/${VERSION_TAG}/s/coreml/fast_sam_s_coreml_fp16.pte`,
646
647
  modelOpts: FASTSAM_OPTS,
647
648
  };
648
649
  const FASTSAM_X_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', 'object'> = {
649
- modelPath: `${BASE_URL}-fast-sam/${NEXT_VERSION_TAG}/x/xnnpack/fast_sam_x_xnnpack_fp32.pte`,
650
+ modelPath: `${BASE_URL}-fast-sam/${VERSION_TAG}/x/xnnpack/fast_sam_x_xnnpack_fp32.pte`,
650
651
  modelOpts: FASTSAM_OPTS,
651
652
  };
652
653
  const FASTSAM_X_COREML_FP16: InstanceSegmenterModel<'xyxy', 'object'> = {
653
- modelPath: `${BASE_URL}-fast-sam/${NEXT_VERSION_TAG}/x/coreml/fast_sam_x_coreml_fp16.pte`,
654
+ modelPath: `${BASE_URL}-fast-sam/${VERSION_TAG}/x/coreml/fast_sam_x_coreml_fp16.pte`,
654
655
  modelOpts: FASTSAM_OPTS,
655
656
  };
656
657
 
@@ -665,11 +666,11 @@ const RFDETR_NANO_SEG_OPTS = {
665
666
  defaultMaskThreshold: 0.5,
666
667
  };
667
668
  const RFDETR_NANO_SEG_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClass> = {
668
- modelPath: `${BASE_URL}-rfdetr-nano-segmentation/${NEXT_VERSION_TAG}/coreml/rfdetr_nano_coreml_fp16.pte`,
669
+ modelPath: `${BASE_URL}-rfdetr-nano-segmentation/${VERSION_TAG}/coreml/rfdetr_nano_coreml_fp16.pte`,
669
670
  modelOpts: RFDETR_NANO_SEG_OPTS,
670
671
  };
671
672
  const RFDETR_NANO_SEG_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClass> = {
672
- modelPath: `${BASE_URL}-rfdetr-nano-segmentation/${NEXT_VERSION_TAG}/xnnpack/rfdetr_nano_xnnpack_fp32.pte`,
673
+ modelPath: `${BASE_URL}-rfdetr-nano-segmentation/${VERSION_TAG}/xnnpack/rfdetr_nano_xnnpack_fp32.pte`,
673
674
  modelOpts: RFDETR_NANO_SEG_OPTS,
674
675
  };
675
676
 
@@ -685,127 +686,127 @@ const YOLO26_SEG_OPTS = {
685
686
  };
686
687
 
687
688
  const YOLO26_NANO_SEG_384_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
688
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/n/xnnpack/yolo26_seg_n_384_xnnpack_fp32.pte`,
689
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/n/xnnpack/yolo26_seg_n_384_xnnpack_fp32.pte`,
689
690
  modelOpts: YOLO26_SEG_OPTS,
690
691
  };
691
692
  const YOLO26_NANO_SEG_384_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
692
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/n/coreml/yolo26_seg_n_384_coreml_fp16.pte`,
693
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/n/coreml/yolo26_seg_n_384_coreml_fp16.pte`,
693
694
  modelOpts: YOLO26_SEG_OPTS,
694
695
  };
695
696
  const YOLO26_NANO_SEG_512_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
696
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/n/xnnpack/yolo26_seg_n_512_xnnpack_fp32.pte`,
697
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/n/xnnpack/yolo26_seg_n_512_xnnpack_fp32.pte`,
697
698
  modelOpts: YOLO26_SEG_OPTS,
698
699
  };
699
700
  const YOLO26_NANO_SEG_512_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
700
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/n/coreml/yolo26_seg_n_512_coreml_fp16.pte`,
701
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/n/coreml/yolo26_seg_n_512_coreml_fp16.pte`,
701
702
  modelOpts: YOLO26_SEG_OPTS,
702
703
  };
703
704
  const YOLO26_NANO_SEG_640_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
704
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/n/xnnpack/yolo26_seg_n_640_xnnpack_fp32.pte`,
705
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/n/xnnpack/yolo26_seg_n_640_xnnpack_fp32.pte`,
705
706
  modelOpts: YOLO26_SEG_OPTS,
706
707
  };
707
708
  const YOLO26_NANO_SEG_640_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
708
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/n/coreml/yolo26_seg_n_640_coreml_fp16.pte`,
709
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/n/coreml/yolo26_seg_n_640_coreml_fp16.pte`,
709
710
  modelOpts: YOLO26_SEG_OPTS,
710
711
  };
711
712
 
712
713
  const YOLO26_SMALL_SEG_384_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
713
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/s/xnnpack/yolo26_seg_s_384_xnnpack_fp32.pte`,
714
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/s/xnnpack/yolo26_seg_s_384_xnnpack_fp32.pte`,
714
715
  modelOpts: YOLO26_SEG_OPTS,
715
716
  };
716
717
  const YOLO26_SMALL_SEG_384_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
717
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/s/coreml/yolo26_seg_s_384_coreml_fp16.pte`,
718
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/s/coreml/yolo26_seg_s_384_coreml_fp16.pte`,
718
719
  modelOpts: YOLO26_SEG_OPTS,
719
720
  };
720
721
  const YOLO26_SMALL_SEG_512_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
721
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/s/xnnpack/yolo26_seg_s_512_xnnpack_fp32.pte`,
722
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/s/xnnpack/yolo26_seg_s_512_xnnpack_fp32.pte`,
722
723
  modelOpts: YOLO26_SEG_OPTS,
723
724
  };
724
725
  const YOLO26_SMALL_SEG_512_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
725
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/s/coreml/yolo26_seg_s_512_coreml_fp16.pte`,
726
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/s/coreml/yolo26_seg_s_512_coreml_fp16.pte`,
726
727
  modelOpts: YOLO26_SEG_OPTS,
727
728
  };
728
729
  const YOLO26_SMALL_SEG_640_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
729
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/s/xnnpack/yolo26_seg_s_640_xnnpack_fp32.pte`,
730
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/s/xnnpack/yolo26_seg_s_640_xnnpack_fp32.pte`,
730
731
  modelOpts: YOLO26_SEG_OPTS,
731
732
  };
732
733
  const YOLO26_SMALL_SEG_640_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
733
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/s/coreml/yolo26_seg_s_640_coreml_fp16.pte`,
734
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/s/coreml/yolo26_seg_s_640_coreml_fp16.pte`,
734
735
  modelOpts: YOLO26_SEG_OPTS,
735
736
  };
736
737
 
737
738
  const YOLO26_MEDIUM_SEG_384_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
738
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/m/xnnpack/yolo26_seg_m_384_xnnpack_fp32.pte`,
739
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/m/xnnpack/yolo26_seg_m_384_xnnpack_fp32.pte`,
739
740
  modelOpts: YOLO26_SEG_OPTS,
740
741
  };
741
742
  const YOLO26_MEDIUM_SEG_384_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
742
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/m/coreml/yolo26_seg_m_384_coreml_fp16.pte`,
743
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/m/coreml/yolo26_seg_m_384_coreml_fp16.pte`,
743
744
  modelOpts: YOLO26_SEG_OPTS,
744
745
  };
745
746
  const YOLO26_MEDIUM_SEG_512_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
746
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/m/xnnpack/yolo26_seg_m_512_xnnpack_fp32.pte`,
747
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/m/xnnpack/yolo26_seg_m_512_xnnpack_fp32.pte`,
747
748
  modelOpts: YOLO26_SEG_OPTS,
748
749
  };
749
750
  const YOLO26_MEDIUM_SEG_512_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
750
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/m/coreml/yolo26_seg_m_512_coreml_fp16.pte`,
751
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/m/coreml/yolo26_seg_m_512_coreml_fp16.pte`,
751
752
  modelOpts: YOLO26_SEG_OPTS,
752
753
  };
753
754
  const YOLO26_MEDIUM_SEG_640_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
754
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/m/xnnpack/yolo26_seg_m_640_xnnpack_fp32.pte`,
755
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/m/xnnpack/yolo26_seg_m_640_xnnpack_fp32.pte`,
755
756
  modelOpts: YOLO26_SEG_OPTS,
756
757
  };
757
758
  const YOLO26_MEDIUM_SEG_640_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
758
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/m/coreml/yolo26_seg_m_640_coreml_fp16.pte`,
759
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/m/coreml/yolo26_seg_m_640_coreml_fp16.pte`,
759
760
  modelOpts: YOLO26_SEG_OPTS,
760
761
  };
761
762
 
762
763
  const YOLO26_LARGE_SEG_384_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
763
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/l/xnnpack/yolo26_seg_l_384_xnnpack_fp32.pte`,
764
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/l/xnnpack/yolo26_seg_l_384_xnnpack_fp32.pte`,
764
765
  modelOpts: YOLO26_SEG_OPTS,
765
766
  };
766
767
  const YOLO26_LARGE_SEG_384_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
767
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/l/coreml/yolo26_seg_l_384_coreml_fp16.pte`,
768
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/l/coreml/yolo26_seg_l_384_coreml_fp16.pte`,
768
769
  modelOpts: YOLO26_SEG_OPTS,
769
770
  };
770
771
  const YOLO26_LARGE_SEG_512_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
771
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/l/xnnpack/yolo26_seg_l_512_xnnpack_fp32.pte`,
772
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/l/xnnpack/yolo26_seg_l_512_xnnpack_fp32.pte`,
772
773
  modelOpts: YOLO26_SEG_OPTS,
773
774
  };
774
775
  const YOLO26_LARGE_SEG_512_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
775
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/l/coreml/yolo26_seg_l_512_coreml_fp16.pte`,
776
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/l/coreml/yolo26_seg_l_512_coreml_fp16.pte`,
776
777
  modelOpts: YOLO26_SEG_OPTS,
777
778
  };
778
779
  const YOLO26_LARGE_SEG_640_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
779
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/l/xnnpack/yolo26_seg_l_640_xnnpack_fp32.pte`,
780
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/l/xnnpack/yolo26_seg_l_640_xnnpack_fp32.pte`,
780
781
  modelOpts: YOLO26_SEG_OPTS,
781
782
  };
782
783
  const YOLO26_LARGE_SEG_640_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
783
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/l/coreml/yolo26_seg_l_640_coreml_fp16.pte`,
784
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/l/coreml/yolo26_seg_l_640_coreml_fp16.pte`,
784
785
  modelOpts: YOLO26_SEG_OPTS,
785
786
  };
786
787
 
787
788
  const YOLO26_XLARGE_SEG_384_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
788
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/x/xnnpack/yolo26_seg_x_384_xnnpack_fp32.pte`,
789
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/x/xnnpack/yolo26_seg_x_384_xnnpack_fp32.pte`,
789
790
  modelOpts: YOLO26_SEG_OPTS,
790
791
  };
791
792
  const YOLO26_XLARGE_SEG_384_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
792
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/x/coreml/yolo26_seg_x_384_coreml_fp16.pte`,
793
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/x/coreml/yolo26_seg_x_384_coreml_fp16.pte`,
793
794
  modelOpts: YOLO26_SEG_OPTS,
794
795
  };
795
796
  const YOLO26_XLARGE_SEG_512_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
796
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/x/xnnpack/yolo26_seg_x_512_xnnpack_fp32.pte`,
797
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/x/xnnpack/yolo26_seg_x_512_xnnpack_fp32.pte`,
797
798
  modelOpts: YOLO26_SEG_OPTS,
798
799
  };
799
800
  const YOLO26_XLARGE_SEG_512_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
800
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/x/coreml/yolo26_seg_x_512_coreml_fp16.pte`,
801
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/x/coreml/yolo26_seg_x_512_coreml_fp16.pte`,
801
802
  modelOpts: YOLO26_SEG_OPTS,
802
803
  };
803
804
  const YOLO26_XLARGE_SEG_640_XNNPACK_FP32: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
804
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/x/xnnpack/yolo26_seg_x_640_xnnpack_fp32.pte`,
805
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/x/xnnpack/yolo26_seg_x_640_xnnpack_fp32.pte`,
805
806
  modelOpts: YOLO26_SEG_OPTS,
806
807
  };
807
808
  const YOLO26_XLARGE_SEG_640_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClassYolo> = {
808
- modelPath: `${BASE_URL}-yolo26-seg/${NEXT_VERSION_TAG}/x/coreml/yolo26_seg_x_640_coreml_fp16.pte`,
809
+ modelPath: `${BASE_URL}-yolo26-seg/${VERSION_TAG}/x/coreml/yolo26_seg_x_640_coreml_fp16.pte`,
809
810
  modelOpts: YOLO26_SEG_OPTS,
810
811
  };
811
812
 
@@ -813,109 +814,109 @@ const YOLO26_XLARGE_SEG_640_COREML_FP16: InstanceSegmenterModel<'xyxy', CocoClas
813
814
  // Text Embeddings
814
815
  // =============================================================================
815
816
  const ALL_MINILM_L6_V2_EMBEDDINGS: TextEmbedderModel = {
816
- modelPath: `${BASE_URL}-all-MiniLM-L6-v2/${NEXT_VERSION_TAG}/xnnpack/all_minilm_l6_v2_xnnpack_fp32.pte`,
817
- tokenizerPath: `${BASE_URL}-all-MiniLM-L6-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
817
+ modelPath: `${BASE_URL}-all-MiniLM-L6-v2/${VERSION_TAG}/xnnpack/all_minilm_l6_v2_xnnpack_fp32.pte`,
818
+ tokenizerPath: `${BASE_URL}-all-MiniLM-L6-v2/${VERSION_TAG}/tokenizer.json`,
818
819
  };
819
820
  const ALL_MINILM_L6_V2_COREML_FP16: TextEmbedderModel = {
820
- modelPath: `${BASE_URL}-all-MiniLM-L6-v2/${NEXT_VERSION_TAG}/coreml/all_minilm_l6_v2_coreml_fp16.pte`,
821
- tokenizerPath: `${BASE_URL}-all-MiniLM-L6-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
821
+ modelPath: `${BASE_URL}-all-MiniLM-L6-v2/${VERSION_TAG}/coreml/all_minilm_l6_v2_coreml_fp16.pte`,
822
+ tokenizerPath: `${BASE_URL}-all-MiniLM-L6-v2/${VERSION_TAG}/tokenizer.json`,
822
823
  };
823
824
  const ALL_MINILM_L6_V2_VULKAN_FP16: TextEmbedderModel = {
824
- modelPath: `${BASE_URL}-all-MiniLM-L6-v2/${NEXT_VERSION_TAG}/vulkan/all_minilm_l6_v2_vulkan_fp16.pte`,
825
- tokenizerPath: `${BASE_URL}-all-MiniLM-L6-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
825
+ modelPath: `${BASE_URL}-all-MiniLM-L6-v2/${VERSION_TAG}/vulkan/all_minilm_l6_v2_vulkan_fp16.pte`,
826
+ tokenizerPath: `${BASE_URL}-all-MiniLM-L6-v2/${VERSION_TAG}/tokenizer.json`,
826
827
  };
827
828
  const ALL_MPNET_BASE_V2_EMBEDDINGS: TextEmbedderModel = {
828
- modelPath: `${BASE_URL}-all-mpnet-base-v2/${NEXT_VERSION_TAG}/xnnpack/all_mpnet_base_v2_xnnpack_fp32.pte`,
829
- tokenizerPath: `${BASE_URL}-all-mpnet-base-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
829
+ modelPath: `${BASE_URL}-all-mpnet-base-v2/${VERSION_TAG}/xnnpack/all_mpnet_base_v2_xnnpack_fp32.pte`,
830
+ tokenizerPath: `${BASE_URL}-all-mpnet-base-v2/${VERSION_TAG}/tokenizer.json`,
830
831
  };
831
832
  const ALL_MPNET_BASE_V2_VULKAN_INT8: TextEmbedderModel = {
832
- modelPath: `${BASE_URL}-all-mpnet-base-v2/${NEXT_VERSION_TAG}/vulkan/all_mpnet_base_v2_vulkan_int8.pte`,
833
- tokenizerPath: `${BASE_URL}-all-mpnet-base-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
833
+ modelPath: `${BASE_URL}-all-mpnet-base-v2/${VERSION_TAG}/vulkan/all_mpnet_base_v2_vulkan_int8.pte`,
834
+ tokenizerPath: `${BASE_URL}-all-mpnet-base-v2/${VERSION_TAG}/tokenizer.json`,
834
835
  };
835
836
  const ALL_MPNET_BASE_V2_VULKAN_FP16: TextEmbedderModel = {
836
- modelPath: `${BASE_URL}-all-mpnet-base-v2/${NEXT_VERSION_TAG}/vulkan/all_mpnet_base_v2_vulkan_fp16.pte`,
837
- tokenizerPath: `${BASE_URL}-all-mpnet-base-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
837
+ modelPath: `${BASE_URL}-all-mpnet-base-v2/${VERSION_TAG}/vulkan/all_mpnet_base_v2_vulkan_fp16.pte`,
838
+ tokenizerPath: `${BASE_URL}-all-mpnet-base-v2/${VERSION_TAG}/tokenizer.json`,
838
839
  };
839
840
  const MULTI_QA_MINILM_L6_COS_V1_EMBEDDINGS: TextEmbedderModel = {
840
- modelPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${NEXT_VERSION_TAG}/xnnpack/multi_qa_minilm_l6_cos_v1_xnnpack_fp32.pte`,
841
- tokenizerPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${NEXT_VERSION_TAG}/tokenizer.json`,
841
+ modelPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${VERSION_TAG}/xnnpack/multi_qa_minilm_l6_cos_v1_xnnpack_fp32.pte`,
842
+ tokenizerPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${VERSION_TAG}/tokenizer.json`,
842
843
  };
843
844
  const MULTI_QA_MINILM_L6_COS_V1_COREML_FP16: TextEmbedderModel = {
844
- modelPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${NEXT_VERSION_TAG}/coreml/multi_qa_minilm_l6_cos_v1_coreml_fp16.pte`,
845
- tokenizerPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${NEXT_VERSION_TAG}/tokenizer.json`,
845
+ modelPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${VERSION_TAG}/coreml/multi_qa_minilm_l6_cos_v1_coreml_fp16.pte`,
846
+ tokenizerPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${VERSION_TAG}/tokenizer.json`,
846
847
  };
847
848
  const MULTI_QA_MINILM_L6_COS_V1_VULKAN_FP16: TextEmbedderModel = {
848
- modelPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${NEXT_VERSION_TAG}/vulkan/multi_qa_minilm_l6_cos_v1_vulkan_fp16.pte`,
849
- tokenizerPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${NEXT_VERSION_TAG}/tokenizer.json`,
849
+ modelPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${VERSION_TAG}/vulkan/multi_qa_minilm_l6_cos_v1_vulkan_fp16.pte`,
850
+ tokenizerPath: `${BASE_URL}-multi-qa-MiniLM-L6-cos-v1/${VERSION_TAG}/tokenizer.json`,
850
851
  };
851
852
  const MULTI_QA_MPNET_BASE_DOT_V1_EMBEDDINGS: TextEmbedderModel = {
852
- modelPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${NEXT_VERSION_TAG}/xnnpack/multi_qa_mpnet_base_dot_v1_xnnpack_fp32.pte`,
853
- tokenizerPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${NEXT_VERSION_TAG}/tokenizer.json`,
853
+ modelPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${VERSION_TAG}/xnnpack/multi_qa_mpnet_base_dot_v1_xnnpack_fp32.pte`,
854
+ tokenizerPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${VERSION_TAG}/tokenizer.json`,
854
855
  };
855
856
  const MULTI_QA_MPNET_BASE_DOT_V1_VULKAN_INT8: TextEmbedderModel = {
856
- modelPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${NEXT_VERSION_TAG}/vulkan/multi_qa_mpnet_base_dot_v1_vulkan_int8.pte`,
857
- tokenizerPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${NEXT_VERSION_TAG}/tokenizer.json`,
857
+ modelPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${VERSION_TAG}/vulkan/multi_qa_mpnet_base_dot_v1_vulkan_int8.pte`,
858
+ tokenizerPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${VERSION_TAG}/tokenizer.json`,
858
859
  };
859
860
  const MULTI_QA_MPNET_BASE_DOT_V1_VULKAN_FP16: TextEmbedderModel = {
860
- modelPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${NEXT_VERSION_TAG}/vulkan/multi_qa_mpnet_base_dot_v1_vulkan_fp16.pte`,
861
- tokenizerPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${NEXT_VERSION_TAG}/tokenizer.json`,
861
+ modelPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${VERSION_TAG}/vulkan/multi_qa_mpnet_base_dot_v1_vulkan_fp16.pte`,
862
+ tokenizerPath: `${BASE_URL}-multi-qa-mpnet-base-dot-v1/${VERSION_TAG}/tokenizer.json`,
862
863
  };
863
864
  const PARAPHRASE_MULTILINGUAL_MINILM_L12_V2_EMBEDDINGS: TextEmbedderModel = {
864
- modelPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${NEXT_VERSION_TAG}/xnnpack/paraphrase_multilingual_minilm_l12_v2_xnnpack_8da4w.pte`,
865
- tokenizerPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
865
+ modelPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${VERSION_TAG}/xnnpack/paraphrase_multilingual_minilm_l12_v2_xnnpack_8da4w.pte`,
866
+ tokenizerPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${VERSION_TAG}/tokenizer.json`,
866
867
  };
867
868
  const PARAPHRASE_MULTILINGUAL_MINILM_L12_V2_XNNPACK_FP32: TextEmbedderModel = {
868
- modelPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${NEXT_VERSION_TAG}/xnnpack/paraphrase_multilingual_minilm_l12_v2_xnnpack_fp32.pte`,
869
- tokenizerPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
869
+ modelPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${VERSION_TAG}/xnnpack/paraphrase_multilingual_minilm_l12_v2_xnnpack_fp32.pte`,
870
+ tokenizerPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${VERSION_TAG}/tokenizer.json`,
870
871
  };
871
872
  const PARAPHRASE_MULTILINGUAL_MINILM_L12_V2_COREML_FP16: TextEmbedderModel = {
872
- modelPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${NEXT_VERSION_TAG}/coreml/paraphrase_multilingual_minilm_l12_v2_coreml_fp16.pte`,
873
- tokenizerPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
873
+ modelPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${VERSION_TAG}/coreml/paraphrase_multilingual_minilm_l12_v2_coreml_fp16.pte`,
874
+ tokenizerPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${VERSION_TAG}/tokenizer.json`,
874
875
  };
875
876
  const PARAPHRASE_MULTILINGUAL_MINILM_L12_V2_VULKAN_FP16: TextEmbedderModel = {
876
- modelPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${NEXT_VERSION_TAG}/vulkan/paraphrase_multilingual_minilm_l12_v2_vulkan_fp16.pte`,
877
- tokenizerPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
877
+ modelPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${VERSION_TAG}/vulkan/paraphrase_multilingual_minilm_l12_v2_vulkan_fp16.pte`,
878
+ tokenizerPath: `${BASE_URL}-paraphrase-multilingual-MiniLM-L12-v2/${VERSION_TAG}/tokenizer.json`,
878
879
  };
879
880
  const DISTILUSE_BASE_MULTILINGUAL_CASED_V2_EMBEDDINGS: TextEmbedderModel = {
880
- modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/xnnpack/distiluse_base_multilingual_cased_v2_xnnpack_8da4w.pte`,
881
- tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
881
+ modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/xnnpack/distiluse_base_multilingual_cased_v2_xnnpack_8da4w.pte`,
882
+ tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/tokenizer.json`,
882
883
  };
883
884
  const DISTILUSE_BASE_MULTILINGUAL_CASED_V2_XNNPACK_FP32: TextEmbedderModel = {
884
- modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/xnnpack/distiluse_base_multilingual_cased_v2_xnnpack_fp32.pte`,
885
- tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
885
+ modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/xnnpack/distiluse_base_multilingual_cased_v2_xnnpack_fp32.pte`,
886
+ tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/tokenizer.json`,
886
887
  };
887
888
  const DISTILUSE_BASE_MULTILINGUAL_CASED_V2_COREML_FP16: TextEmbedderModel = {
888
- modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/coreml/distiluse_base_multilingual_cased_v2_coreml_fp16.pte`,
889
- tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
889
+ modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/coreml/distiluse_base_multilingual_cased_v2_coreml_fp16.pte`,
890
+ tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/tokenizer.json`,
890
891
  };
891
892
  const DISTILUSE_BASE_MULTILINGUAL_CASED_V2_MLX_INT8: TextEmbedderModel = {
892
- modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/mlx/distiluse_base_multilingual_cased_v2_mlx_int8.pte`,
893
- tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
893
+ modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/mlx/distiluse_base_multilingual_cased_v2_mlx_int8.pte`,
894
+ tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/tokenizer.json`,
894
895
  };
895
896
  const DISTILUSE_BASE_MULTILINGUAL_CASED_V2_VULKAN_FP16: TextEmbedderModel = {
896
- modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/vulkan/distiluse_base_multilingual_cased_v2_vulkan_fp16.pte`,
897
- tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${NEXT_VERSION_TAG}/tokenizer.json`,
897
+ modelPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/vulkan/distiluse_base_multilingual_cased_v2_vulkan_fp16.pte`,
898
+ tokenizerPath: `${BASE_URL}-distiluse-base-multilingual-cased-v2/${VERSION_TAG}/tokenizer.json`,
898
899
  };
899
900
  const CLIP_VIT_BASE_PATCH32_TEXT_EMBEDDINGS: TextEmbedderModel = {
900
- modelPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/xnnpack/clip_vit_base_patch32_text_xnnpack_fp32.pte`,
901
- tokenizerPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/tokenizer.json`,
901
+ modelPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/xnnpack/clip_vit_base_patch32_text_xnnpack_fp32.pte`,
902
+ tokenizerPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/tokenizer.json`,
902
903
  };
903
904
  const CLIP_VIT_BASE_PATCH32_TEXT_COREML_FP16: TextEmbedderModel = {
904
- modelPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/coreml/clip_vit_base_patch32_text_coreml_fp16.pte`,
905
- tokenizerPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/tokenizer.json`,
905
+ modelPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/coreml/clip_vit_base_patch32_text_coreml_fp16.pte`,
906
+ tokenizerPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/tokenizer.json`,
906
907
  };
907
908
  const CLIP_VIT_BASE_PATCH32_TEXT_VULKAN_FP16: TextEmbedderModel = {
908
- modelPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/vulkan/clip_vit_base_patch32_text_vulkan_fp16.pte`,
909
- tokenizerPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/tokenizer.json`,
909
+ modelPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/vulkan/clip_vit_base_patch32_text_vulkan_fp16.pte`,
910
+ tokenizerPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/tokenizer.json`,
910
911
  };
911
912
  const LFM2_5_EMBEDDING_350M_EMBEDDINGS: TextEmbedderModel = {
912
- modelPath: `${BASE_URL}-lfm2.5-embedding-350m/${NEXT_VERSION_TAG}/xnnpack/lfm_2_5_embedding_350m_xnnpack_8da4w.pte`,
913
- tokenizerPath: `${BASE_URL}-lfm2.5-embedding-350m/${NEXT_VERSION_TAG}/tokenizer.json`,
913
+ modelPath: `${BASE_URL}-lfm2.5-embedding-350m/${VERSION_TAG}/xnnpack/lfm_2_5_embedding_350m_xnnpack_8da4w.pte`,
914
+ tokenizerPath: `${BASE_URL}-lfm2.5-embedding-350m/${VERSION_TAG}/tokenizer.json`,
914
915
  defaultPrompt: 'query: ',
915
916
  };
916
917
  const LFM2_5_EMBEDDING_350M_MLX_INT4: TextEmbedderModel = {
917
- modelPath: `${BASE_URL}-lfm2.5-embedding-350m/${NEXT_VERSION_TAG}/mlx/lfm_2_5_embedding_350m_mlx_int4.pte`,
918
- tokenizerPath: `${BASE_URL}-lfm2.5-embedding-350m/${NEXT_VERSION_TAG}/tokenizer.json`,
918
+ modelPath: `${BASE_URL}-lfm2.5-embedding-350m/${VERSION_TAG}/mlx/lfm_2_5_embedding_350m_mlx_int4.pte`,
919
+ tokenizerPath: `${BASE_URL}-lfm2.5-embedding-350m/${VERSION_TAG}/tokenizer.json`,
919
920
  defaultPrompt: 'query: ',
920
921
  };
921
922
 
@@ -928,19 +929,19 @@ const CLIP_IMAGE_EMBEDDINGS_OPTS = {
928
929
  normalizeOpts: { alpha: 1 / 255.0, beta: 0.0 },
929
930
  };
930
931
  const CLIP_VIT_BASE_PATCH32_IMAGE_XNNPACK_FP32: ImageEmbedderModel = {
931
- modelPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/xnnpack/clip_vit_base_patch32_image_xnnpack_fp32.pte`,
932
+ modelPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/xnnpack/clip_vit_base_patch32_image_xnnpack_fp32.pte`,
932
933
  modelOpts: CLIP_IMAGE_EMBEDDINGS_OPTS,
933
934
  };
934
935
  const CLIP_VIT_BASE_PATCH32_IMAGE_COREML_FP16: ImageEmbedderModel = {
935
- modelPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/coreml/clip_vit_base_patch32_image_coreml_fp16.pte`,
936
+ modelPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/coreml/clip_vit_base_patch32_image_coreml_fp16.pte`,
936
937
  modelOpts: CLIP_IMAGE_EMBEDDINGS_OPTS,
937
938
  };
938
939
  const CLIP_VIT_BASE_PATCH32_IMAGE_MLX_INT8: ImageEmbedderModel = {
939
- modelPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/mlx/clip_vit_base_patch32_image_mlx_int8.pte`,
940
+ modelPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/mlx/clip_vit_base_patch32_image_mlx_int8.pte`,
940
941
  modelOpts: CLIP_IMAGE_EMBEDDINGS_OPTS,
941
942
  };
942
943
  const CLIP_VIT_BASE_PATCH32_IMAGE_VULKAN_FP16: ImageEmbedderModel = {
943
- modelPath: `${BASE_URL}-clip-vit-base-patch32/${NEXT_VERSION_TAG}/vulkan/clip_vit_base_patch32_image_vulkan_fp16.pte`,
944
+ modelPath: `${BASE_URL}-clip-vit-base-patch32/${VERSION_TAG}/vulkan/clip_vit_base_patch32_image_vulkan_fp16.pte`,
944
945
  modelOpts: CLIP_IMAGE_EMBEDDINGS_OPTS,
945
946
  };
946
947
 
@@ -948,7 +949,7 @@ const CLIP_VIT_BASE_PATCH32_IMAGE_VULKAN_FP16: ImageEmbedderModel = {
948
949
  // Voice Activity Detection
949
950
  // =============================================================================
950
951
  const FSMN_VAD_XNNPACK_FP32: FsmnVadModel = {
951
- modelPath: `${BASE_URL}-fsmn-vad/${NEXT_VERSION_TAG}/xnnpack/fsmn_vad_xnnpack_fp32.pte`,
952
+ modelPath: `${BASE_URL}-fsmn-vad/${VERSION_TAG}/xnnpack/fsmn_vad_xnnpack_fp32.pte`,
952
953
  defaultOptions: {
953
954
  speechThreshold: 0.6,
954
955
  minSpeechDurationMs: 250,
@@ -962,229 +963,229 @@ const FSMN_VAD_XNNPACK_FP32: FsmnVadModel = {
962
963
  // Speech-To-Text
963
964
  // =============================================================================
964
965
  const WHISPER_TINY_EN_XNNPACK_FP32: WhisperSttModel<'en'> = {
965
- modelPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/xnnpack/whisper_tiny_en_xnnpack_fp32.pte`,
966
- tokenizerPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/tokenizer.json`,
966
+ modelPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/xnnpack/whisper_tiny_en_xnnpack_fp32.pte`,
967
+ tokenizerPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/tokenizer.json`,
967
968
  supportedLanguages: ['en'],
968
969
  vadModel: FSMN_VAD_XNNPACK_FP32,
969
970
  };
970
971
  const WHISPER_TINY_EN_XNNPACK_INT8: WhisperSttModel<'en'> = {
971
- modelPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/xnnpack/whisper_tiny_en_xnnpack_int8.pte`,
972
- tokenizerPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/tokenizer.json`,
972
+ modelPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/xnnpack/whisper_tiny_en_xnnpack_int8.pte`,
973
+ tokenizerPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/tokenizer.json`,
973
974
  supportedLanguages: ['en'],
974
975
  vadModel: FSMN_VAD_XNNPACK_FP32,
975
976
  };
976
977
  const WHISPER_TINY_EN_COREML_FP16: WhisperSttModel<'en'> = {
977
- modelPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/coreml/whisper_tiny_en_coreml_fp16.pte`,
978
- tokenizerPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/tokenizer.json`,
978
+ modelPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/coreml/whisper_tiny_en_coreml_fp16.pte`,
979
+ tokenizerPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/tokenizer.json`,
979
980
  supportedLanguages: ['en'],
980
981
  vadModel: FSMN_VAD_XNNPACK_FP32,
981
982
  };
982
983
  const WHISPER_TINY_EN_MLX_BF16: WhisperSttModel<'en'> = {
983
- modelPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/mlx/whisper_tiny_en_mlx_bf16.pte`,
984
- tokenizerPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/tokenizer.json`,
984
+ modelPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/mlx/whisper_tiny_en_mlx_bf16.pte`,
985
+ tokenizerPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/tokenizer.json`,
985
986
  supportedLanguages: ['en'],
986
987
  vadModel: FSMN_VAD_XNNPACK_FP32,
987
988
  };
988
989
  const WHISPER_TINY_EN_MLX_INT8: WhisperSttModel<'en'> = {
989
- modelPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/mlx/whisper_tiny_en_mlx_int8.pte`,
990
- tokenizerPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/tokenizer.json`,
990
+ modelPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/mlx/whisper_tiny_en_mlx_int8.pte`,
991
+ tokenizerPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/tokenizer.json`,
991
992
  supportedLanguages: ['en'],
992
993
  vadModel: FSMN_VAD_XNNPACK_FP32,
993
994
  };
994
995
  const WHISPER_TINY_EN_VULKAN_FP16: WhisperSttModel<'en'> = {
995
- modelPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/vulkan/whisper_tiny_en_vulkan_fp16.pte`,
996
- tokenizerPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/tokenizer.json`,
996
+ modelPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/vulkan/whisper_tiny_en_vulkan_fp16.pte`,
997
+ tokenizerPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/tokenizer.json`,
997
998
  supportedLanguages: ['en'],
998
999
  vadModel: FSMN_VAD_XNNPACK_FP32,
999
1000
  };
1000
1001
  const WHISPER_TINY_EN_VULKAN_INT8: WhisperSttModel<'en'> = {
1001
- modelPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/vulkan/whisper_tiny_en_vulkan_int8.pte`,
1002
- tokenizerPath: `${BASE_URL}-whisper-tiny.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1002
+ modelPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/vulkan/whisper_tiny_en_vulkan_int8.pte`,
1003
+ tokenizerPath: `${BASE_URL}-whisper-tiny.en/${VERSION_TAG}/tokenizer.json`,
1003
1004
  supportedLanguages: ['en'],
1004
1005
  vadModel: FSMN_VAD_XNNPACK_FP32,
1005
1006
  };
1006
1007
 
1007
1008
  const WHISPER_TINY_XNNPACK_FP32: WhisperSttModel = {
1008
- modelPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/xnnpack/whisper_tiny_xnnpack_fp32.pte`,
1009
- tokenizerPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/tokenizer.json`,
1009
+ modelPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/xnnpack/whisper_tiny_xnnpack_fp32.pte`,
1010
+ tokenizerPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/tokenizer.json`,
1010
1011
  supportedLanguages: WHISPER_LANGUAGES,
1011
1012
  vadModel: FSMN_VAD_XNNPACK_FP32,
1012
1013
  };
1013
1014
  const WHISPER_TINY_COREML_FP16: WhisperSttModel = {
1014
- modelPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/coreml/whisper_tiny_coreml_fp16.pte`,
1015
- tokenizerPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/tokenizer.json`,
1015
+ modelPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/coreml/whisper_tiny_coreml_fp16.pte`,
1016
+ tokenizerPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/tokenizer.json`,
1016
1017
  supportedLanguages: WHISPER_LANGUAGES,
1017
1018
  vadModel: FSMN_VAD_XNNPACK_FP32,
1018
1019
  };
1019
1020
  const WHISPER_TINY_MLX_BF16: WhisperSttModel = {
1020
- modelPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/mlx/whisper_tiny_mlx_bf16.pte`,
1021
- tokenizerPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/tokenizer.json`,
1021
+ modelPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/mlx/whisper_tiny_mlx_bf16.pte`,
1022
+ tokenizerPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/tokenizer.json`,
1022
1023
  supportedLanguages: WHISPER_LANGUAGES,
1023
1024
  vadModel: FSMN_VAD_XNNPACK_FP32,
1024
1025
  };
1025
1026
  const WHISPER_TINY_MLX_INT8: WhisperSttModel = {
1026
- modelPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/mlx/whisper_tiny_mlx_int8.pte`,
1027
- tokenizerPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/tokenizer.json`,
1027
+ modelPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/mlx/whisper_tiny_mlx_int8.pte`,
1028
+ tokenizerPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/tokenizer.json`,
1028
1029
  supportedLanguages: WHISPER_LANGUAGES,
1029
1030
  vadModel: FSMN_VAD_XNNPACK_FP32,
1030
1031
  };
1031
1032
  const WHISPER_TINY_VULKAN_FP16: WhisperSttModel = {
1032
- modelPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/vulkan/whisper_tiny_vulkan_fp16.pte`,
1033
- tokenizerPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/tokenizer.json`,
1033
+ modelPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/vulkan/whisper_tiny_vulkan_fp16.pte`,
1034
+ tokenizerPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/tokenizer.json`,
1034
1035
  supportedLanguages: WHISPER_LANGUAGES,
1035
1036
  vadModel: FSMN_VAD_XNNPACK_FP32,
1036
1037
  };
1037
1038
  const WHISPER_TINY_VULKAN_INT8: WhisperSttModel = {
1038
- modelPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/vulkan/whisper_tiny_vulkan_int8.pte`,
1039
- tokenizerPath: `${BASE_URL}-whisper-tiny/${NEXT_VERSION_TAG}/tokenizer.json`,
1039
+ modelPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/vulkan/whisper_tiny_vulkan_int8.pte`,
1040
+ tokenizerPath: `${BASE_URL}-whisper-tiny/${VERSION_TAG}/tokenizer.json`,
1040
1041
  supportedLanguages: WHISPER_LANGUAGES,
1041
1042
  vadModel: FSMN_VAD_XNNPACK_FP32,
1042
1043
  };
1043
1044
 
1044
1045
  const WHISPER_BASE_EN_XNNPACK_FP32: WhisperSttModel<'en'> = {
1045
- modelPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/xnnpack/whisper_base_en_xnnpack_fp32.pte`,
1046
- tokenizerPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1046
+ modelPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/xnnpack/whisper_base_en_xnnpack_fp32.pte`,
1047
+ tokenizerPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/tokenizer.json`,
1047
1048
  supportedLanguages: ['en'],
1048
1049
  vadModel: FSMN_VAD_XNNPACK_FP32,
1049
1050
  };
1050
1051
  const WHISPER_BASE_EN_XNNPACK_INT8: WhisperSttModel<'en'> = {
1051
- modelPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/xnnpack/whisper_base_en_xnnpack_int8.pte`,
1052
- tokenizerPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1052
+ modelPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/xnnpack/whisper_base_en_xnnpack_int8.pte`,
1053
+ tokenizerPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/tokenizer.json`,
1053
1054
  supportedLanguages: ['en'],
1054
1055
  vadModel: FSMN_VAD_XNNPACK_FP32,
1055
1056
  };
1056
1057
  const WHISPER_BASE_EN_COREML_FP16: WhisperSttModel<'en'> = {
1057
- modelPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/coreml/whisper_base_en_coreml_fp16.pte`,
1058
- tokenizerPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1058
+ modelPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/coreml/whisper_base_en_coreml_fp16.pte`,
1059
+ tokenizerPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/tokenizer.json`,
1059
1060
  supportedLanguages: ['en'],
1060
1061
  vadModel: FSMN_VAD_XNNPACK_FP32,
1061
1062
  };
1062
1063
  const WHISPER_BASE_EN_MLX_BF16: WhisperSttModel<'en'> = {
1063
- modelPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/mlx/whisper_base_en_mlx_bf16.pte`,
1064
- tokenizerPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1064
+ modelPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/mlx/whisper_base_en_mlx_bf16.pte`,
1065
+ tokenizerPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/tokenizer.json`,
1065
1066
  supportedLanguages: ['en'],
1066
1067
  vadModel: FSMN_VAD_XNNPACK_FP32,
1067
1068
  };
1068
1069
  const WHISPER_BASE_EN_MLX_INT8: WhisperSttModel<'en'> = {
1069
- modelPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/mlx/whisper_base_en_mlx_int8.pte`,
1070
- tokenizerPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1070
+ modelPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/mlx/whisper_base_en_mlx_int8.pte`,
1071
+ tokenizerPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/tokenizer.json`,
1071
1072
  supportedLanguages: ['en'],
1072
1073
  vadModel: FSMN_VAD_XNNPACK_FP32,
1073
1074
  };
1074
1075
  const WHISPER_BASE_EN_VULKAN_FP16: WhisperSttModel<'en'> = {
1075
- modelPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/vulkan/whisper_base_en_vulkan_fp16.pte`,
1076
- tokenizerPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1076
+ modelPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/vulkan/whisper_base_en_vulkan_fp16.pte`,
1077
+ tokenizerPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/tokenizer.json`,
1077
1078
  supportedLanguages: ['en'],
1078
1079
  vadModel: FSMN_VAD_XNNPACK_FP32,
1079
1080
  };
1080
1081
  const WHISPER_BASE_EN_VULKAN_INT8: WhisperSttModel<'en'> = {
1081
- modelPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/vulkan/whisper_base_en_vulkan_int8.pte`,
1082
- tokenizerPath: `${BASE_URL}-whisper-base.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1082
+ modelPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/vulkan/whisper_base_en_vulkan_int8.pte`,
1083
+ tokenizerPath: `${BASE_URL}-whisper-base.en/${VERSION_TAG}/tokenizer.json`,
1083
1084
  supportedLanguages: ['en'],
1084
1085
  vadModel: FSMN_VAD_XNNPACK_FP32,
1085
1086
  };
1086
1087
 
1087
1088
  const WHISPER_BASE_XNNPACK_FP32: WhisperSttModel = {
1088
- modelPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/xnnpack/whisper_base_xnnpack_fp32.pte`,
1089
- tokenizerPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/tokenizer.json`,
1089
+ modelPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/xnnpack/whisper_base_xnnpack_fp32.pte`,
1090
+ tokenizerPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/tokenizer.json`,
1090
1091
  supportedLanguages: WHISPER_LANGUAGES,
1091
1092
  vadModel: FSMN_VAD_XNNPACK_FP32,
1092
1093
  };
1093
1094
  const WHISPER_BASE_COREML_FP16: WhisperSttModel = {
1094
- modelPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/coreml/whisper_base_coreml_fp16.pte`,
1095
- tokenizerPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/tokenizer.json`,
1095
+ modelPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/coreml/whisper_base_coreml_fp16.pte`,
1096
+ tokenizerPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/tokenizer.json`,
1096
1097
  supportedLanguages: WHISPER_LANGUAGES,
1097
1098
  vadModel: FSMN_VAD_XNNPACK_FP32,
1098
1099
  };
1099
1100
  const WHISPER_BASE_MLX_BF16: WhisperSttModel = {
1100
- modelPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/mlx/whisper_base_mlx_bf16.pte`,
1101
- tokenizerPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/tokenizer.json`,
1101
+ modelPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/mlx/whisper_base_mlx_bf16.pte`,
1102
+ tokenizerPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/tokenizer.json`,
1102
1103
  supportedLanguages: WHISPER_LANGUAGES,
1103
1104
  vadModel: FSMN_VAD_XNNPACK_FP32,
1104
1105
  };
1105
1106
  const WHISPER_BASE_MLX_INT8: WhisperSttModel = {
1106
- modelPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/mlx/whisper_base_mlx_int8.pte`,
1107
- tokenizerPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/tokenizer.json`,
1107
+ modelPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/mlx/whisper_base_mlx_int8.pte`,
1108
+ tokenizerPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/tokenizer.json`,
1108
1109
  supportedLanguages: WHISPER_LANGUAGES,
1109
1110
  vadModel: FSMN_VAD_XNNPACK_FP32,
1110
1111
  };
1111
1112
  const WHISPER_BASE_VULKAN_FP16: WhisperSttModel = {
1112
- modelPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/vulkan/whisper_base_vulkan_fp16.pte`,
1113
- tokenizerPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/tokenizer.json`,
1113
+ modelPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/vulkan/whisper_base_vulkan_fp16.pte`,
1114
+ tokenizerPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/tokenizer.json`,
1114
1115
  supportedLanguages: WHISPER_LANGUAGES,
1115
1116
  vadModel: FSMN_VAD_XNNPACK_FP32,
1116
1117
  };
1117
1118
  const WHISPER_BASE_VULKAN_INT8: WhisperSttModel = {
1118
- modelPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/vulkan/whisper_base_vulkan_int8.pte`,
1119
- tokenizerPath: `${BASE_URL}-whisper-base/${NEXT_VERSION_TAG}/tokenizer.json`,
1119
+ modelPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/vulkan/whisper_base_vulkan_int8.pte`,
1120
+ tokenizerPath: `${BASE_URL}-whisper-base/${VERSION_TAG}/tokenizer.json`,
1120
1121
  supportedLanguages: WHISPER_LANGUAGES,
1121
1122
  vadModel: FSMN_VAD_XNNPACK_FP32,
1122
1123
  };
1123
1124
 
1124
1125
  const WHISPER_SMALL_EN_XNNPACK_FP32: WhisperSttModel<'en'> = {
1125
- modelPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/xnnpack/whisper_small_en_xnnpack_fp32.pte`,
1126
- tokenizerPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1126
+ modelPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/xnnpack/whisper_small_en_xnnpack_fp32.pte`,
1127
+ tokenizerPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/tokenizer.json`,
1127
1128
  supportedLanguages: ['en'],
1128
1129
  vadModel: FSMN_VAD_XNNPACK_FP32,
1129
1130
  };
1130
1131
  const WHISPER_SMALL_EN_XNNPACK_INT8: WhisperSttModel<'en'> = {
1131
- modelPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/xnnpack/whisper_small_en_xnnpack_int8.pte`,
1132
- tokenizerPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1132
+ modelPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/xnnpack/whisper_small_en_xnnpack_int8.pte`,
1133
+ tokenizerPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/tokenizer.json`,
1133
1134
  supportedLanguages: ['en'],
1134
1135
  vadModel: FSMN_VAD_XNNPACK_FP32,
1135
1136
  };
1136
1137
  const WHISPER_SMALL_EN_COREML_FP16: WhisperSttModel<'en'> = {
1137
- modelPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/coreml/whisper_small_en_coreml_fp16.pte`,
1138
- tokenizerPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1138
+ modelPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/coreml/whisper_small_en_coreml_fp16.pte`,
1139
+ tokenizerPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/tokenizer.json`,
1139
1140
  supportedLanguages: ['en'],
1140
1141
  vadModel: FSMN_VAD_XNNPACK_FP32,
1141
1142
  };
1142
1143
  const WHISPER_SMALL_EN_MLX_INT8: WhisperSttModel<'en'> = {
1143
- modelPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/mlx/whisper_small_en_mlx_int8.pte`,
1144
- tokenizerPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1144
+ modelPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/mlx/whisper_small_en_mlx_int8.pte`,
1145
+ tokenizerPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/tokenizer.json`,
1145
1146
  supportedLanguages: ['en'],
1146
1147
  vadModel: FSMN_VAD_XNNPACK_FP32,
1147
1148
  };
1148
1149
  const WHISPER_SMALL_EN_VULKAN_FP16: WhisperSttModel<'en'> = {
1149
- modelPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/vulkan/whisper_small_en_vulkan_fp16.pte`,
1150
- tokenizerPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1150
+ modelPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/vulkan/whisper_small_en_vulkan_fp16.pte`,
1151
+ tokenizerPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/tokenizer.json`,
1151
1152
  supportedLanguages: ['en'],
1152
1153
  vadModel: FSMN_VAD_XNNPACK_FP32,
1153
1154
  };
1154
1155
  const WHISPER_SMALL_EN_VULKAN_INT8: WhisperSttModel<'en'> = {
1155
- modelPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/vulkan/whisper_small_en_vulkan_int8.pte`,
1156
- tokenizerPath: `${BASE_URL}-whisper-small.en/${NEXT_VERSION_TAG}/tokenizer.json`,
1156
+ modelPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/vulkan/whisper_small_en_vulkan_int8.pte`,
1157
+ tokenizerPath: `${BASE_URL}-whisper-small.en/${VERSION_TAG}/tokenizer.json`,
1157
1158
  supportedLanguages: ['en'],
1158
1159
  vadModel: FSMN_VAD_XNNPACK_FP32,
1159
1160
  };
1160
1161
 
1161
1162
  const WHISPER_SMALL_XNNPACK_FP32: WhisperSttModel = {
1162
- modelPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/xnnpack/whisper_small_xnnpack_fp32.pte`,
1163
- tokenizerPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/tokenizer.json`,
1163
+ modelPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/xnnpack/whisper_small_xnnpack_fp32.pte`,
1164
+ tokenizerPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/tokenizer.json`,
1164
1165
  supportedLanguages: WHISPER_LANGUAGES,
1165
1166
  vadModel: FSMN_VAD_XNNPACK_FP32,
1166
1167
  };
1167
1168
  const WHISPER_SMALL_COREML_FP16: WhisperSttModel = {
1168
- modelPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/coreml/whisper_small_coreml_fp16.pte`,
1169
- tokenizerPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/tokenizer.json`,
1169
+ modelPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/coreml/whisper_small_coreml_fp16.pte`,
1170
+ tokenizerPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/tokenizer.json`,
1170
1171
  supportedLanguages: WHISPER_LANGUAGES,
1171
1172
  vadModel: FSMN_VAD_XNNPACK_FP32,
1172
1173
  };
1173
1174
  const WHISPER_SMALL_MLX_INT8: WhisperSttModel = {
1174
- modelPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/mlx/whisper_small_mlx_int8.pte`,
1175
- tokenizerPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/tokenizer.json`,
1175
+ modelPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/mlx/whisper_small_mlx_int8.pte`,
1176
+ tokenizerPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/tokenizer.json`,
1176
1177
  supportedLanguages: WHISPER_LANGUAGES,
1177
1178
  vadModel: FSMN_VAD_XNNPACK_FP32,
1178
1179
  };
1179
1180
  const WHISPER_SMALL_VULKAN_FP16: WhisperSttModel = {
1180
- modelPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/vulkan/whisper_small_vulkan_fp16.pte`,
1181
- tokenizerPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/tokenizer.json`,
1181
+ modelPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/vulkan/whisper_small_vulkan_fp16.pte`,
1182
+ tokenizerPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/tokenizer.json`,
1182
1183
  supportedLanguages: WHISPER_LANGUAGES,
1183
1184
  vadModel: FSMN_VAD_XNNPACK_FP32,
1184
1185
  };
1185
1186
  const WHISPER_SMALL_VULKAN_INT8: WhisperSttModel = {
1186
- modelPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/vulkan/whisper_small_vulkan_int8.pte`,
1187
- tokenizerPath: `${BASE_URL}-whisper-small/${NEXT_VERSION_TAG}/tokenizer.json`,
1187
+ modelPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/vulkan/whisper_small_vulkan_int8.pte`,
1188
+ tokenizerPath: `${BASE_URL}-whisper-small/${VERSION_TAG}/tokenizer.json`,
1188
1189
  supportedLanguages: WHISPER_LANGUAGES,
1189
1190
  vadModel: FSMN_VAD_XNNPACK_FP32,
1190
1191
  };
@@ -1192,13 +1193,13 @@ const WHISPER_SMALL_VULKAN_INT8: WhisperSttModel = {
1192
1193
  // =============================================================================
1193
1194
  // Text to Image
1194
1195
  // =============================================================================
1195
- const SDXS_512_DREAMSHAPER_TOKENIZER = `${BASE_URL}-sdxs-512-dreamshaper/${NEXT_VERSION_TAG}/tokenizer.json`;
1196
+ const SDXS_512_DREAMSHAPER_TOKENIZER = `${BASE_URL}-sdxs-512-dreamshaper/${VERSION_TAG}/tokenizer.json`;
1196
1197
  const SDXS_512_DREAMSHAPER_XNNPACK_FP32: SdxsTextToImageModel = {
1197
- modelPath: `${BASE_URL}-sdxs-512-dreamshaper/${NEXT_VERSION_TAG}/xnnpack/sdxs_512_dreamshaper_xnnpack_fp32.pte`,
1198
+ modelPath: `${BASE_URL}-sdxs-512-dreamshaper/${VERSION_TAG}/xnnpack/sdxs_512_dreamshaper_xnnpack_fp32.pte`,
1198
1199
  tokenizerPath: SDXS_512_DREAMSHAPER_TOKENIZER,
1199
1200
  };
1200
1201
  const SDXS_512_DREAMSHAPER_COREML_FP16: SdxsTextToImageModel = {
1201
- modelPath: `${BASE_URL}-sdxs-512-dreamshaper/${NEXT_VERSION_TAG}/coreml/sdxs_512_dreamshaper_coreml_fp16.pte`,
1202
+ modelPath: `${BASE_URL}-sdxs-512-dreamshaper/${VERSION_TAG}/coreml/sdxs_512_dreamshaper_coreml_fp16.pte`,
1202
1203
  tokenizerPath: SDXS_512_DREAMSHAPER_TOKENIZER,
1203
1204
  };
1204
1205
 
@@ -1208,7 +1209,7 @@ const SDXS_512_DREAMSHAPER_COREML_FP16: SdxsTextToImageModel = {
1208
1209
  const SUPERTONIC_DEFAULT_VOICE_STYLES = SUPERTONIC_DEFAULT_VOICE_NAMES.reduce(
1209
1210
  (acc, name) => ({
1210
1211
  ...acc,
1211
- [name]: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/voice_styles/${name}.json`,
1212
+ [name]: `${BASE_URL}-supertonic/${VERSION_TAG}/voice_styles/${name}.json`,
1212
1213
  }),
1213
1214
  {} as Record<SupertonicDefaultVoiceName, string>
1214
1215
  );
@@ -1216,40 +1217,40 @@ const SUPERTONIC_DEFAULT_VOICE_STYLES = SUPERTONIC_DEFAULT_VOICE_NAMES.reduce(
1216
1217
  const SUPERTONIC_3_XNNPACK_FP32: SupertonicTtsModel<SupertonicDefaultVoiceName> = {
1217
1218
  name: 'supertonic',
1218
1219
  modelPaths: {
1219
- durationPredictor: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/xnnpack/duration_predictor_xnnpack_fp32.pte`,
1220
- vectorEstimator: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/xnnpack/vector_estimator_xnnpack_fp32.pte`,
1221
- textEncoder: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/xnnpack/text_encoder_xnnpack_fp32.pte`,
1222
- vocoder: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/xnnpack/vocoder_xnnpack_fp32.pte`,
1220
+ durationPredictor: `${BASE_URL}-supertonic/${VERSION_TAG}/xnnpack/duration_predictor_xnnpack_fp32.pte`,
1221
+ vectorEstimator: `${BASE_URL}-supertonic/${VERSION_TAG}/xnnpack/vector_estimator_xnnpack_fp32.pte`,
1222
+ textEncoder: `${BASE_URL}-supertonic/${VERSION_TAG}/xnnpack/text_encoder_xnnpack_fp32.pte`,
1223
+ vocoder: `${BASE_URL}-supertonic/${VERSION_TAG}/xnnpack/vocoder_xnnpack_fp32.pte`,
1223
1224
  },
1224
- unicodeIndexerPath: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/unicode_indexer.json`,
1225
+ unicodeIndexerPath: `${BASE_URL}-supertonic/${VERSION_TAG}/unicode_indexer.json`,
1225
1226
  voiceStyles: SUPERTONIC_DEFAULT_VOICE_STYLES,
1226
1227
  };
1227
1228
 
1228
1229
  const SUPERTONIC_3_MLX_FP32: SupertonicTtsModel<SupertonicDefaultVoiceName> = {
1229
1230
  name: 'supertonic',
1230
1231
  modelPaths: {
1231
- durationPredictor: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/mlx/duration_predictor_mlx_fp32.pte`,
1232
- vectorEstimator: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/mlx/vector_estimator_mlx_fp32.pte`,
1233
- textEncoder: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/mlx/text_encoder_mlx_fp32.pte`,
1234
- vocoder: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/mlx/vocoder_mlx_fp32.pte`,
1232
+ durationPredictor: `${BASE_URL}-supertonic/${VERSION_TAG}/mlx/duration_predictor_mlx_fp32.pte`,
1233
+ vectorEstimator: `${BASE_URL}-supertonic/${VERSION_TAG}/mlx/vector_estimator_mlx_fp32.pte`,
1234
+ textEncoder: `${BASE_URL}-supertonic/${VERSION_TAG}/mlx/text_encoder_mlx_fp32.pte`,
1235
+ vocoder: `${BASE_URL}-supertonic/${VERSION_TAG}/mlx/vocoder_mlx_fp32.pte`,
1235
1236
  },
1236
- unicodeIndexerPath: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/unicode_indexer.json`,
1237
+ unicodeIndexerPath: `${BASE_URL}-supertonic/${VERSION_TAG}/unicode_indexer.json`,
1237
1238
  voiceStyles: SUPERTONIC_DEFAULT_VOICE_STYLES,
1238
1239
  };
1239
1240
 
1240
1241
  const SUPERTONIC_3_VULKAN_FP16: SupertonicTtsModel<SupertonicDefaultVoiceName> = {
1241
1242
  name: 'supertonic',
1242
1243
  modelPaths: {
1243
- durationPredictor: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/vulkan/duration_predictor_vulkan_fp16.pte`,
1244
- vectorEstimator: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/vulkan/vector_estimator_vulkan_fp16.pte`,
1245
- textEncoder: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/vulkan/text_encoder_vulkan_fp16.pte`,
1246
- vocoder: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/vulkan/vocoder_vulkan_fp16.pte`,
1244
+ durationPredictor: `${BASE_URL}-supertonic/${VERSION_TAG}/vulkan/duration_predictor_vulkan_fp16.pte`,
1245
+ vectorEstimator: `${BASE_URL}-supertonic/${VERSION_TAG}/vulkan/vector_estimator_vulkan_fp16.pte`,
1246
+ textEncoder: `${BASE_URL}-supertonic/${VERSION_TAG}/vulkan/text_encoder_vulkan_fp16.pte`,
1247
+ vocoder: `${BASE_URL}-supertonic/${VERSION_TAG}/vulkan/vocoder_vulkan_fp16.pte`,
1247
1248
  },
1248
- unicodeIndexerPath: `${BASE_URL}-supertonic/${NEXT_VERSION_TAG}/unicode_indexer.json`,
1249
+ unicodeIndexerPath: `${BASE_URL}-supertonic/${VERSION_TAG}/unicode_indexer.json`,
1249
1250
  voiceStyles: SUPERTONIC_DEFAULT_VOICE_STYLES,
1250
1251
  };
1251
1252
 
1252
- const KOKORO_ROOT = `${BASE_URL}-kokoro/${NEXT_VERSION_TAG}`;
1253
+ const KOKORO_ROOT = `${BASE_URL}-kokoro/${VERSION_TAG}`;
1253
1254
  const KOKORO_PHONEMIZER_ROOT = `${KOKORO_ROOT}/phonemizer`;
1254
1255
 
1255
1256
  const kokoroModelPaths = (
@@ -1410,34 +1411,34 @@ const KOKORO_DE_COREML_FP32: KokoroTtsModel<'df_anna'> = {
1410
1411
  // so a future model on a different tokenizer can declare its own.
1411
1412
  const O200K_PAD_TOKEN_ID = 199999;
1412
1413
 
1413
- const PRIVACY_FILTER_OPENAI_TOKENIZER = `${BASE_URL}-privacy-filter-openai/${NEXT_VERSION_TAG}/tokenizer.json`;
1414
+ const PRIVACY_FILTER_OPENAI_TOKENIZER = `${BASE_URL}-privacy-filter-openai/${VERSION_TAG}/tokenizer.json`;
1414
1415
  const PRIVACY_FILTER_OPENAI_OPTS = {
1415
1416
  labelNames: PRIVACY_FILTER_OPENAI_LABELS,
1416
1417
  padTokenId: O200K_PAD_TOKEN_ID,
1417
1418
  };
1418
1419
  const PRIVACY_FILTER_OPENAI_XNNPACK_8DA4W: PrivacyFilterModel<PrivacyFilterOpenaiLabel> = {
1419
- modelPath: `${BASE_URL}-privacy-filter-openai/${NEXT_VERSION_TAG}/xnnpack/privacy_filter_openai_xnnpack_8da4w.pte`,
1420
+ modelPath: `${BASE_URL}-privacy-filter-openai/${VERSION_TAG}/xnnpack/privacy_filter_openai_xnnpack_8da4w.pte`,
1420
1421
  tokenizerPath: PRIVACY_FILTER_OPENAI_TOKENIZER,
1421
1422
  modelOpts: PRIVACY_FILTER_OPENAI_OPTS,
1422
1423
  };
1423
1424
  const PRIVACY_FILTER_OPENAI_MLX_INT4: PrivacyFilterModel<PrivacyFilterOpenaiLabel> = {
1424
- modelPath: `${BASE_URL}-privacy-filter-openai/${NEXT_VERSION_TAG}/mlx/privacy_filter_openai_mlx_int4.pte`,
1425
+ modelPath: `${BASE_URL}-privacy-filter-openai/${VERSION_TAG}/mlx/privacy_filter_openai_mlx_int4.pte`,
1425
1426
  tokenizerPath: PRIVACY_FILTER_OPENAI_TOKENIZER,
1426
1427
  modelOpts: PRIVACY_FILTER_OPENAI_OPTS,
1427
1428
  };
1428
1429
 
1429
- const PRIVACY_FILTER_NEMOTRON_TOKENIZER = `${BASE_URL}-privacy-filter-nemotron/${NEXT_VERSION_TAG}/tokenizer.json`;
1430
+ const PRIVACY_FILTER_NEMOTRON_TOKENIZER = `${BASE_URL}-privacy-filter-nemotron/${VERSION_TAG}/tokenizer.json`;
1430
1431
  const PRIVACY_FILTER_NEMOTRON_OPTS = {
1431
1432
  labelNames: PRIVACY_FILTER_NEMOTRON_LABELS,
1432
1433
  padTokenId: O200K_PAD_TOKEN_ID,
1433
1434
  };
1434
1435
  const PRIVACY_FILTER_NEMOTRON_XNNPACK_8DA4W: PrivacyFilterModel<PrivacyFilterNemotronLabel> = {
1435
- modelPath: `${BASE_URL}-privacy-filter-nemotron/${NEXT_VERSION_TAG}/xnnpack/privacy_filter_nemotron_xnnpack_8da4w.pte`,
1436
+ modelPath: `${BASE_URL}-privacy-filter-nemotron/${VERSION_TAG}/xnnpack/privacy_filter_nemotron_xnnpack_8da4w.pte`,
1436
1437
  tokenizerPath: PRIVACY_FILTER_NEMOTRON_TOKENIZER,
1437
1438
  modelOpts: PRIVACY_FILTER_NEMOTRON_OPTS,
1438
1439
  };
1439
1440
  const PRIVACY_FILTER_NEMOTRON_MLX_INT8: PrivacyFilterModel<PrivacyFilterNemotronLabel> = {
1440
- modelPath: `${BASE_URL}-privacy-filter-nemotron/${NEXT_VERSION_TAG}/mlx/privacy_filter_nemotron_mlx_int8.pte`,
1441
+ modelPath: `${BASE_URL}-privacy-filter-nemotron/${VERSION_TAG}/mlx/privacy_filter_nemotron_mlx_int8.pte`,
1441
1442
  tokenizerPath: PRIVACY_FILTER_NEMOTRON_TOKENIZER,
1442
1443
  modelOpts: PRIVACY_FILTER_NEMOTRON_OPTS,
1443
1444
  };
@@ -1445,7 +1446,7 @@ const PRIVACY_FILTER_NEMOTRON_MLX_INT8: PrivacyFilterModel<PrivacyFilterNemotron
1445
1446
  // =============================================================================
1446
1447
  // Tokenizers
1447
1448
  // =============================================================================
1448
- const ALL_MINILM_L6_V2_TOKENIZER = `${BASE_URL}-all-MiniLM-L6-v2/${NEXT_VERSION_TAG}/tokenizer.json`;
1449
+ const ALL_MINILM_L6_V2_TOKENIZER = `${BASE_URL}-all-MiniLM-L6-v2/${VERSION_TAG}/tokenizer.json`;
1449
1450
 
1450
1451
  // =============================================================================
1451
1452
  // OCR
@@ -1456,24 +1457,24 @@ const PPOCRV6_OPTS = { defaultConfidenceThreshold: 0.5 };
1456
1457
  // the DETECTOR's precision only: `pp_ocrv6_xnnpack_int8.pte` is an int8 DBNet
1457
1458
  // paired with an fp32 SVTR recognizer, kept fp32 because int8 is lossy on the
1458
1459
  // SVTR attention stack.
1459
- const PPOCRV6_CHARSET = `${BASE_URL}-pp-ocrv6/${NEXT_VERSION_TAG}/charset.json`;
1460
+ const PPOCRV6_CHARSET = `${BASE_URL}-pp-ocrv6/${VERSION_TAG}/charset.json`;
1460
1461
  const PPOCRV6_SMALL_XNNPACK_INT8: PaddleOcrModel = {
1461
- modelPath: `${BASE_URL}-pp-ocrv6/${NEXT_VERSION_TAG}/xnnpack/pp_ocrv6_xnnpack_int8.pte`,
1462
+ modelPath: `${BASE_URL}-pp-ocrv6/${VERSION_TAG}/xnnpack/pp_ocrv6_xnnpack_int8.pte`,
1462
1463
  charsetPath: PPOCRV6_CHARSET,
1463
1464
  modelOpts: PPOCRV6_OPTS,
1464
1465
  };
1465
1466
  const PPOCRV6_SMALL_XNNPACK_FP32: PaddleOcrModel = {
1466
- modelPath: `${BASE_URL}-pp-ocrv6/${NEXT_VERSION_TAG}/xnnpack/pp_ocrv6_xnnpack_fp32.pte`,
1467
+ modelPath: `${BASE_URL}-pp-ocrv6/${VERSION_TAG}/xnnpack/pp_ocrv6_xnnpack_fp32.pte`,
1467
1468
  charsetPath: PPOCRV6_CHARSET,
1468
1469
  modelOpts: PPOCRV6_OPTS,
1469
1470
  };
1470
1471
  const PPOCRV6_SMALL_COREML_INT8: PaddleOcrModel = {
1471
- modelPath: `${BASE_URL}-pp-ocrv6/${NEXT_VERSION_TAG}/coreml/pp_ocrv6_coreml_int8.pte`,
1472
+ modelPath: `${BASE_URL}-pp-ocrv6/${VERSION_TAG}/coreml/pp_ocrv6_coreml_int8.pte`,
1472
1473
  charsetPath: PPOCRV6_CHARSET,
1473
1474
  modelOpts: PPOCRV6_OPTS,
1474
1475
  };
1475
1476
  const PPOCRV6_SMALL_VULKAN_FP16: PaddleOcrModel = {
1476
- modelPath: `${BASE_URL}-pp-ocrv6/${NEXT_VERSION_TAG}/vulkan/pp_ocrv6_vulkan_fp16.pte`,
1477
+ modelPath: `${BASE_URL}-pp-ocrv6/${VERSION_TAG}/vulkan/pp_ocrv6_vulkan_fp16.pte`,
1477
1478
  charsetPath: PPOCRV6_CHARSET,
1478
1479
  modelOpts: PPOCRV6_OPTS,
1479
1480
  };
@@ -1481,7 +1482,7 @@ const PPOCRV6_SMALL_VULKAN_FP16: PaddleOcrModel = {
1481
1482
  // =============================================================================
1482
1483
  // LLMs
1483
1484
  // =============================================================================
1484
- const LFM2_5_BASE_URL = `${BASE_URL}-lfm-2.5/${NEXT_VERSION_TAG}`;
1485
+ const LFM2_5_BASE_URL = `${BASE_URL}-lfm-2.5/${VERSION_TAG}`;
1485
1486
 
1486
1487
  const LFM2_5_1_2B_XNNPACK_8DA4W: LLMModel = {
1487
1488
  modelPath: `${LFM2_5_BASE_URL}/1_2b/xnnpack/lfm_2_5_1_2b_xnnpack_8da4w.pte`,
@@ -1575,7 +1576,7 @@ const LFM2_5_VL_1_6B_MLX_INT8: LLMModel = {
1575
1576
  preprocessorConfig: LFM2_5_VL_PREPROCESSOR_CONFIG,
1576
1577
  };
1577
1578
 
1578
- const BIELIK_V3_1_5B_BASE_URL = `${BASE_URL}-bielik-v3.0/${NEXT_VERSION_TAG}`;
1579
+ const BIELIK_V3_1_5B_BASE_URL = `${BASE_URL}-bielik-v3.0/${VERSION_TAG}`;
1579
1580
 
1580
1581
  const BIELIK_V3_1_5B_XNNPACK_8DA4W: LLMModel = {
1581
1582
  modelPath: `${BIELIK_V3_1_5B_BASE_URL}/xnnpack/bielik_v3_0_1_5b_xnnpack_8da4w.pte`,
@@ -1588,7 +1589,7 @@ const BIELIK_V3_1_5B_XNNPACK_FP16: LLMModel = {
1588
1589
  tokenizerConfigPath: `${BIELIK_V3_1_5B_BASE_URL}/tokenizer_config.json`,
1589
1590
  };
1590
1591
 
1591
- const LLAMA3_2_BASE_URL = `${BASE_URL}-llama-3.2/${NEXT_VERSION_TAG}`;
1592
+ const LLAMA3_2_BASE_URL = `${BASE_URL}-llama-3.2/${VERSION_TAG}`;
1592
1593
 
1593
1594
  const LLAMA3_2_3B_SPINQUANT: LLMModel = {
1594
1595
  modelPath: `${LLAMA3_2_BASE_URL}/3b/xnnpack/llama_3_2_3b_xnnpack_spinquant.pte`,
@@ -1621,7 +1622,7 @@ const LLAMA3_2_3B_MLX_INT4: LLMModel = {
1621
1622
  tokenizerConfigPath: `${LLAMA3_2_BASE_URL}/tokenizer_config.json`,
1622
1623
  };
1623
1624
 
1624
- const SMOLLM2_BASE_URL = `${BASE_URL}-smolLm-2/${NEXT_VERSION_TAG}`;
1625
+ const SMOLLM2_BASE_URL = `${BASE_URL}-smolLm-2/${VERSION_TAG}`;
1625
1626
 
1626
1627
  const SMOLLM2_135M_8DA8W: LLMModel = {
1627
1628
  modelPath: `${SMOLLM2_BASE_URL}/135m/xnnpack/smollm2_135m_xnnpack_8da8w.pte`,
@@ -1654,7 +1655,7 @@ const SMOLLM2_1_7B_MLX_INT8: LLMModel = {
1654
1655
  tokenizerConfigPath: `${SMOLLM2_BASE_URL}/tokenizer_config.json`,
1655
1656
  };
1656
1657
 
1657
- const HAMMER2_1_BASE_URL = `${BASE_URL}-hammer-2.1/${NEXT_VERSION_TAG}`;
1658
+ const HAMMER2_1_BASE_URL = `${BASE_URL}-hammer-2.1/${VERSION_TAG}`;
1658
1659
 
1659
1660
  const HAMMER2_1_0_5B_XNNPACK_8DA4W: LLMModel = {
1660
1661
  modelPath: `${HAMMER2_1_BASE_URL}/0_5b/xnnpack/hammer_2_1_0_5b_xnnpack_8da4w.pte`,
@@ -1702,7 +1703,7 @@ const HAMMER2_1_3B_MLX_INT4: LLMModel = {
1702
1703
  tokenizerConfigPath: `${HAMMER2_1_BASE_URL}/tokenizer_config.json`,
1703
1704
  };
1704
1705
 
1705
- const PHI4_MINI_BASE_URL = `${BASE_URL}-phi-4-mini/${NEXT_VERSION_TAG}`;
1706
+ const PHI4_MINI_BASE_URL = `${BASE_URL}-phi-4-mini/${VERSION_TAG}`;
1706
1707
 
1707
1708
  const PHI4_MINI_XNNPACK_8DA4W: LLMModel = {
1708
1709
  modelPath: `${PHI4_MINI_BASE_URL}/xnnpack/phi_4_mini_xnnpack_8da4w.pte`,
@@ -1720,7 +1721,7 @@ const PHI4_MINI_MLX_INT4: LLMModel = {
1720
1721
  tokenizerConfigPath: `${PHI4_MINI_BASE_URL}/tokenizer_config.json`,
1721
1722
  };
1722
1723
 
1723
- const QWEN2_5_BASE_URL = `${BASE_URL}-qwen-2.5/${NEXT_VERSION_TAG}`;
1724
+ const QWEN2_5_BASE_URL = `${BASE_URL}-qwen-2.5/${VERSION_TAG}`;
1724
1725
 
1725
1726
  const QWEN2_5_0_5B_XNNPACK_8DA4W: LLMModel = {
1726
1727
  modelPath: `${QWEN2_5_BASE_URL}/0_5b/xnnpack/qwen_2_5_0_5b_xnnpack_8da4w.pte`,
@@ -1768,7 +1769,7 @@ const QWEN2_5_3B_MLX_INT4: LLMModel = {
1768
1769
  tokenizerConfigPath: `${QWEN2_5_BASE_URL}/tokenizer_config.json`,
1769
1770
  };
1770
1771
 
1771
- const GEMMA4_BASE_URL = `${BASE_URL}-gemma-4/${NEXT_VERSION_TAG}`;
1772
+ const GEMMA4_BASE_URL = `${BASE_URL}-gemma-4/${VERSION_TAG}`;
1772
1773
 
1773
1774
  const GEMMA4_E2B_XNNPACK_8DA4W: LLMModel = {
1774
1775
  modelPath: `${GEMMA4_BASE_URL}/e2b/xnnpack/gemma_4_e2b_xnnpack_8da4w.pte`,
@@ -1786,7 +1787,7 @@ const GEMMA4_E2B_MLX_INT4: LLMModel = {
1786
1787
  tokenizerConfigPath: `${GEMMA4_BASE_URL}/e2b/tokenizer_config.json`,
1787
1788
  };
1788
1789
 
1789
- const QWEN3_BASE_URL = `${BASE_URL}-qwen-3/${NEXT_VERSION_TAG}`;
1790
+ const QWEN3_BASE_URL = `${BASE_URL}-qwen-3/${VERSION_TAG}`;
1790
1791
 
1791
1792
  const QWEN3_0_6B_XNNPACK_8DA4W: LLMModel = {
1792
1793
  modelPath: `${QWEN3_BASE_URL}/0_6b/xnnpack/qwen_3_0_6b_xnnpack_8da4w.pte`,