Instructions to use MichaelAnthony/gemma4-e2b-Snowfox-MLX with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("MichaelAnthony/gemma4-e2b-Snowfox-MLX") config = load_config("MichaelAnthony/gemma4-e2b-Snowfox-MLX") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "MichaelAnthony/gemma4-e2b-Snowfox-MLX"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "MichaelAnthony/gemma4-e2b-Snowfox-MLX" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "MichaelAnthony/gemma4-e2b-Snowfox-MLX"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default MichaelAnthony/gemma4-e2b-Snowfox-MLX
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "MichaelAnthony/gemma4-e2b-Snowfox-MLX"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "MichaelAnthony/gemma4-e2b-Snowfox-MLX" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Update README: point to standard 4-bit/6-bit quantized variants
Browse files
README.md
CHANGED
|
@@ -76,50 +76,22 @@ For image prompting, add `--image /path/to/image.png` to the generation command.
|
|
| 76 |
Use current MLX-VLM documentation for image, audio, video, and chat-template
|
| 77 |
options.
|
| 78 |
|
| 79 |
-
## Quantized variants
|
| 80 |
|
| 81 |
-
|
| 82 |
-
|
| 83 |
|
| 84 |
-
|
| 85 |
-
- `omlx_build_matrix.json` — the variant matrix the script mirrors.
|
| 86 |
-
|
| 87 |
-
### Available options
|
| 88 |
-
|
| 89 |
-
| Variant | Family | oQ level | Notes |
|
| 90 |
| --- | --- | --- | --- |
|
| 91 |
-
| `gemma4-e2b-Snowfox-MLX-
|
| 92 |
-
| `gemma4-e2b-Snowfox-MLX-
|
| 93 |
-
| `gemma4-e2b-Snowfox-MLX-oQ6` | oQ | 6 | GGUF `Q6_K` analogue |
|
| 94 |
-
| `gemma4-e2b-Snowfox-MLX-oQ8` | oQ | 8 | near-lossless |
|
| 95 |
-
| `gemma4-e2b-Snowfox-MLX-oQ4e` | oQe | 4 | enhanced (sensitivity-calibrated) |
|
| 96 |
-
| `gemma4-e2b-Snowfox-MLX-oQ6e` | oQe | 6 | enhanced |
|
| 97 |
-
| `gemma4-e2b-Snowfox-MLX-oQ8e` | oQe | 8 | enhanced |
|
| 98 |
-
|
| 99 |
-
The `oQ*` variants are build-to-order on Apple Silicon (see below); only the
|
| 100 |
-
FP16 weights are stored in this repository.
|
| 101 |
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
--source . --output-root .. --no-smoke-test --dry-run
|
| 106 |
-
|
| 107 |
-
# Real run (quantizes + smoke-tests each variant):
|
| 108 |
-
/Applications/oMLX.app/Contents/MacOS/python3 build_omlx_variants.py \
|
| 109 |
-
--source . --output-root ..
|
| 110 |
-
```
|
| 111 |
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
calibrated) family; `oQ4`/`oQ6` are the oMLX analogues of GGUF `Q4_K_M`/`Q6_K`.
|
| 115 |
-
|
| 116 |
-
> **Unverified for Gemma 4.** oMLX oQ was originally validated against
|
| 117 |
-
> `qwen3_5` (Hedgehog). Gemma 4 E2B's vision + audio towers have not been
|
| 118 |
-
> exercised through `quantize_oq_streaming`. If it cannot load the full
|
| 119 |
-
> multimodal model, retry with `--text-only` (language backbone only) or check
|
| 120 |
-
> the installed oMLX version's supported architectures. The smoke test uses
|
| 121 |
-
> `mlx_vlm` (not `mlx_lm`) because this is a multimodal model; skip it with
|
| 122 |
-
> `--no-smoke-test` if the installed `mlx-vlm` API differs.
|
| 123 |
|
| 124 |
## License
|
| 125 |
|
|
|
|
| 76 |
Use current MLX-VLM documentation for image, audio, video, and chat-template
|
| 77 |
options.
|
| 78 |
|
| 79 |
+
## Quantized variants
|
| 80 |
|
| 81 |
+
Standard MLX-VLM affine quantizations of SnowFox are published as separate
|
| 82 |
+
repositories and are loadable directly by `mlx_vlm.generate`:
|
| 83 |
|
| 84 |
+
| Variant | Quantization | Size | Notes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
| --- | --- | --- | --- |
|
| 86 |
+
| [`gemma4-e2b-Snowfox-MLX-4bit`](https://huggingface.co/MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit) | 4-bit affine, group 64 | ~6.85 GB | GGUF `Q4_K_M` analogue |
|
| 87 |
+
| [`gemma4-e2b-Snowfox-MLX-6bit`](https://huggingface.co/MichaelAnthony/gemma4-e2b-Snowfox-MLX-6bit) | 6-bit affine, group 64 | ~7.43 GB | GGUF `Q6_K` analogue |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
|
| 89 |
+
These use MLX-VLM's standard Linear-only affine quantization (embeddings, norms,
|
| 90 |
+
and convolutions stay FP16) and match `convert --quantize` / `--q-bits 6`
|
| 91 |
+
output byte-for-byte.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
|
| 93 |
+
The earlier oMLX oQ ("oQ4/oQ6/oQ8") build-to-order plan was never published;
|
| 94 |
+
use the standard 4-bit/6-bit packages above instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
|
| 96 |
## License
|
| 97 |
|