How models are consumed. Built-in and HuggingFace models work on any plan — reference them by feature URI or load them in a pipeline. Custom (uploaded) models are consumed from inside a custom extractor (
model_source="namespace"), so wiring one into ingest/retrieval also requires a dedicated deployment (or an extractor merged via Submissions). Uploading + deploying a custom model is supported wherever your org has Enterprise infra.Three Ways to Load Models
HuggingFace Models (Recommended)
UseLazyModelMixin in your extractor’s pipeline. Models load on first batch, not at actor creation, and are shared zero-copy across all workers.
LazyModelMixin Attributes
Call
self.get_model() to get a (model, tokenizer) tuple. Override _instantiate_model(cached_data) for non-standard architectures.
Custom Models (Enterprise)
Custom models require an Enterprise subscription. Contact sales to enable.
1
Upload
pytorch (.pt, .pth), safetensors, onnx, huggingface (directory).2
Deploy to Ray
3
Use in your extractor
Set
model_source = "namespace" and override _instantiate_model():Model Versioning
Models are versioned independently. Deploy a new version alongside the existing one, test in staging, then shift traffic:mixpeek://my_extractor@2.0.0/my_embedding), so both versions can coexist.
Python SDK
The generated SDK exposes these under
CustomModelsApi (upload_model_namespaces, deploy_model_namespaces, list_models_namespaces, …). See the Models API reference for exact parameters. The cURL form above is verified end-to-end.Limits
Related
Custom Extractors
Package and deploy extractors that use these models.
Extractor Quickstart
Build a working extractor with model loading end-to-end.
Model API Reference
Upload, deploy, list, and delete model archives.
Self-Improving CV Pipeline
Full tutorial: deploy YOLO, annotate, fine-tune, redeploy.

