Instructions to use Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit 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("Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit") config = load_config("Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit") # 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 Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit"
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": "Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit 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 "Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit"
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 Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit"
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 "Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit" \ --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"
NVIDIA Nemotron 3.5 Bolt 74B-A9B โ MLX 4-bit
An MLX 4-bit conversion of NVIDIA's Nemotron 3.5 Bolt 74B-A9B (BF16), built so the model runs natively on Apple Silicon with mlx-vlm and in LM Studio.
This is the full omni model, vision included โ the Nemotron-H hybrid language model plus its C-RADIO vision encoder, converted from the BF16 source (not from a GGUF). Bolt was compressed/distilled from Nemotron 3.5 Super VL by NVIDIA using Star Elastic. The source checkpoint has no audio tower (sound_config is null), and neither does this one.
Conversion details
| Source | nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-BF16 |
| Quantization | MLX affine 4-bit, group size 64, ~4.61 bits/weight |
| Size on disk | 40.2 GiB, 9 safetensors shards |
| Total / active parameters | 74B / 9B |
| Architecture | Nemotron-H hybrid (Mamba-2 hybrid LatentMoE) + C-RADIO vision encoder |
| MoE geometry | Elastic (Star Elastic): 40 MoE layers with per-layer expert counts of 240โ496 experts per layer (240ร12, 304ร6, 368ร9, 432ร10, 496ร3), intermediate sizes 1536โ2560, top-9 โ the true geometry is recorded in block_configs in config.json; the flat expert fields in llm_config are Megatron export artifacts and do not describe it |
| Context length | 262,144 tokens |
| Inputs | Text and images (video frames are supported upstream; verified here for text + image) |
| Output | Text |
Config fixes applied versus a raw conversion:
- Removed the redundant
_downsample_factorkey from the processor configs (the value is derived fromdownsample_ratio; the literal key breaks NVIDIA's own processor code, which exposes it as a read-only property). - Normalized
time_step_limit's Infinity sentinel to a plain number (1e30) so strict JSON parsers acceptconfig.json. - Added a top-level
max_position_embeddings(262144) so front-ends report the true context length instead of a 4096 default. - The shipped
chat_template.jinjais null-hardened so strict jinja renderers (LM Studio's) don't fail on tool schemas containing null values. Output is unchanged for non-null input. - Elastic MoE handling: this conversion was produced with a patched mlx-vlm
nemotron_h_omnipackage that builds and stacks each MoE layer with its own per-layer geometry fromblock_configs. Stock mlx-lm/mlx-vlm nemotron_h code assumes uniform MoE layers.
Vision projector note: Bolt's source checkpoint ships without vision final-layernorm (vision_projector) weights, so that module is absent here by design โ the model code guards the call (projector is skipped when absent), and vision is verified working regardless.
Verified
- Generates in mlx-vlm โ text and image description both tested.
- Loads and serves in LM Studio at the full 262,144 context, with text and vision answers verified through LM Studio's own API.
- Loads on a 128 GB Apple Silicon Mac in about 10 seconds.
Usage
With mlx-vlm:
pip install -U mlx-vlm
python -m mlx_vlm.generate \
--model Duckets/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-MLX-4bit \
--prompt "Describe this image." \
--image /path/to/image.png
With LM Studio: download the repo into your LM Studio models folder and load it from the MLX models list. Two things to know:
- Load with KV Cache Quantization OFF โ with it on, LM Studio's mlx-vlm batched-vision path rejects the load / ignores the context-length setting.
- This architecture is newer than some LM Studio backends: at upload time, a stock backend was missing the
nemotron_h_omnimlx-vlm model package and two small processor dependencies, so a plain load could fail on engine grounds alone. That is an engine-side gap, not a problem with these weights โ the same files run as-is under the patched mlx-vlm described above. Newer LM Studio builds may already include what's needed.
Reasoning is configurable through the chat template (enable_thinking), as in the upstream release.
Limitations
- 4-bit quantization can differ slightly from the BF16 original on borderline outputs; use the upstream BF16 release for full-precision evaluation.
- Vision was verified with images. Video input follows the upstream design but was not part of this port's verification.
- No audio input or output โ the source model has no audio tower.
- Re-converting from the BF16 source requires the elastic-MoE-patched
nemotron_h_omnipackage described above; stock converters assume uniform MoE geometry.
License
Use is governed by the upstream license: the OpenMDW License Agreement, version 1.1. This is a derivative conversion of NVIDIA's model; all credit for the model itself, its training data, and its capabilities belongs to NVIDIA. See the upstream model card for the full description, benchmarks, and training details.
Conversion and packaging by Juno for Duckets, 2026-10-15.
- Downloads last month
- 1,349
4-bit