Instructions to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE # Run inference directly in the terminal: llama cli -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE # Run inference directly in the terminal: llama cli -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE # Run inference directly in the terminal: ./llama-cli -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE # Run inference directly in the terminal: ./build/bin/llama-cli -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
Use Docker
docker model run hf.co/jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
- LM Studio
- Jan
- vLLM
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
- SGLang
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with Ollama:
ollama run hf.co/jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
- Unsloth Studio
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF to start chatting
- Pi
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with Docker Model Runner:
docker model run hf.co/jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
- Lemonade
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
Run and chat with the model
lemonade run user.Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF-MXFP4_MOE
List all available models
lemonade list
- Hermes Agent
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
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 jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE
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 "jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF:MXFP4_MOE" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
💎 Ornith-1.5-35B-A3B - Custom Mixed Precision GGUFs with Imatrix
Ornith-1.5 extends the self-scaffolding framework introduced in Ornith-1.0 into a more complete self-improvement loop:
The model proposes new tasks, generates task-specific scaffolds, and produces solution rollouts for reinforcement learning, continuously creating new learning experiences from which it can improve.
This repository contains custom, highly optimized, multi-tier mixed precision GGUF weights for ornith-ai/Ornith-1.5-35B-A3B.
Ornith-1.5 35B is the direct successor of Ornith-1.0 35B, which achieves state-of-the-art performance among open-source models of comparable size across a broad range of agentic coding benchmarks.
It brings improved instruction following & improved thinking/reasoning, among other benefits.
Highly Recommended: Always keep reasoning/thinking enabled.
Ornith thoroughly plans and reasons through code edits before execution, ensuring an efficient and clean output.
Unlike baseline Qwen models, which frequently execute blindly and backtrack after generating broken code.
To learn more about Ornith 1.5, read their blog post.
To learn more about how to use Ornith 1.5 35B A3B, view the base model.
A smaller variant (Ornith-1.5-9B) will be available soon.
These quants were generated using manual layer targeting to maximize quality while shrinking the massive VRAM footprint of the Mixture of Experts layers.
📄 GGUF Files
In order of quality:
| Filename | Size | Quants |
|---|---|---|
| Ornith-1.5-35B-A3B-MXFP4_MOE_Q8_0_F16-Imatrix.gguf | 20.7 GB | MXFP4_MOE + Q8_0 + F16 |
| Ornith-1.5-35B-A3B-MXFP4_MOE_Q8_0-Imatrix.gguf | 19.8 GB | MXFP4_MOE + Q8_0 |
| Ornith-1.5-35B-A3B-MXFP4_MOE-Only-Imatrix.gguf | 18.5 GB | MXFP4_MOE Only |
Updated 2026-08-22:
- Re-uploaded models without MTP layer
📊 Importance Matrix (Imatrix)
The imatrix is a combination of:
- bartowski/Ornith-1.5-35B-A3B-GGUF's imatrix file
- 1.6m tokens of my own markdown data from prompts, results, audits, skills & documentation generated via Ornith-1.0 35B A3B + this model
The
MXFP4quantized layers include imatrix data, using this commit on-top of llama.cpp.
🔍 Precision Matrix & Flavor Variations
Standard global quantization presets (like stock MXFP4_MOE) compress the backbone layers uniformly, which degrades the delicate reasoning capabilities of advanced agent models.
This repository provides multiple distinct manual configuration layouts to balance precision and memory constraints:
1. The Tri-Quant Hybrid Flavor (MXFP4 + Q8_0 + F16)
Ornith-1.5-35B-A3B-MXFP4_MOE_Q8_0_F16-Imatrix.gguf - Designed for maximum quality preservation, this layout implements a strict 3-Tier Precision Matrix:
- Tier 1 (Core & Mamba Gating - F16 Precision):
token_embd.weight,output.weight- Protects the critical input/output vocabulary mappings. Dramatically prevents text degradation.ssm_alpha,ssm_beta- Protects the integrity of the Mamba state-space calculations across long-range context tokens.
- Tier 2 (Backbone & Shared - Q8_0 Precision):
ssm_out,*._shexp- Keeps the attention mechanics, and all trailing shared experts at high quality, to protect the logical research loops. - Tier 3 (Routed Experts - MXFP4 Precision):
ffn_down_exps,ffn_gate_exps,ffn_up_exps- Shrink the massive background expert parameters directly toMXFP4.
2. The Dual-Quant Hybrid Flavor (MXFP4 + Q8_0)
Ornith-1.5-35B-A3B-MXFP4_MOE_Q8_0-Imatrix.gguf - Designed for a slightly leaner memory profile, this layout utilizes 2-Tier Precision:
- Tier 1 (Backbone - Q8_0 Precision): All attention blocks, Mamba structures, vocabulary embeddings, and internal routers use the universal
Q8_0format. - Tier 2 (Experts - MXFP4 Precision): The heavy sparse expert blocks are target-quantized directly to
MXFP4.
3. Bonus Single-Quant (MXFP4)
Ornith-1.5-35B-A3B-MXFP4_MOE-Only-Imatrix.gguf - Using only MXFP4, this shrinks the model down to 18.5 GB. The quality is not the best, but it can still do decent work.
- Single Tier (All Layers - MXFP4 Precision): All layers are target-quantized directly to
MXFP4, for speed and a low VRAM footprint.
📝 Exact Conversion Details
These files were converted via llama-quantize utilizing the following manual recipe parameters:
Convert SafeTensors to GGUF:
# Requires python3.12, with `pip install --upgrade transformers`
python convert_hf_to_gguf.py "Ornith-1.5-35B-A3B/" --outtype f16 --outfile "Ornith-1.5-35B-A3B_F16.gguf" --no-mtp
Generate Tri-Quant MXFP4_MOE + Q8_0 + F16:
llama-quantize \
--tensor-type ".*_shexp\.weight=Q8_0" \
--tensor-type "token_embd\.weight=F16" \
--tensor-type "^output\.weight=F16" \
--tensor-type "blk\..*\.(ssm_alpha|ssm_beta)\.weight=F16" \
--tensor-type "blk\..*\.(ffn_down_exps|ffn_gate_exps|ffn_up_exps)\.weight=MXFP4" \
--imatrix "imatrix.gguf" \
"Ornith-1.5-35B-A3B_F16.gguf" \
"Ornith-1.5-35B-A3B-A3B-MXFP4_MOE_Q8_0_F16-Imatrix.gguf" \
Q8_0
Generate Dual-Quant MXFP4_MOE + Q8_0:
llama-quantize \
--tensor-type ".*_shexp\.weight=Q8_0" \
--tensor-type "blk\..*\.(ffn_down_exps|ffn_gate_exps|ffn_up_exps)\.weight=MXFP4" \
--imatrix "imatrix.gguf" \
"Ornith-1.5-35B-A3B_F16.gguf" \
"Ornith-1.5-35B-A3B-A3B-MXFP4_MOE_Q8_0-Imatrix.gguf" \
Q8_0
Generate Single-Quant MXFP4_MOE:
llama-quantize \
--tensor-type ".*_shexp\.weight=MXFP4" \
--tensor-type "token_embd\.weight=MXFP4" \
--tensor-type "^output\.weight=MXFP4" \
--tensor-type "blk\..*\.(ssm_alpha|ssm_beta|ssm_out|attn_gate|attn_qkv|ffn_down|ffn_gate|ffn_up|attn_k|attn_q|attn_v|attn_output)\.weight=MXFP4" \
--tensor-type "blk\..*\.(ffn_down_exps|ffn_gate_exps|ffn_up_exps)\.weight=MXFP4" \
--imatrix "imatrix.gguf" \
"Ornith-1.5-35B-A3B_F16.gguf" \
"Ornith-1.5-35B-A3B-MXFP4_MOE-Only-Imatrix.gguf" \
MXFP4_MOE
📝 Local Deployment & llama-server Configuration (config.ini)
To maintain the rock-solid reasoning loop and prevent agents from falling into repetitive tool-calling deadlocks, use the following server parameter recommendations (Similar to other Qwen 3.5+ configurations).
# --- Samplers (Dynamic & Expressive) ---
temperature = 0.65
top-k = 35
top-p = 0.90
min-p = 0.12
# --- Penalties (Prevent Syntax & Reasoner Corruption) ---
repeat-penalty = 1.05
presence-penalty = 1.1
# --- DRY Sampler (Protects Indentation & Structural Boilerplate) ---
dry-multiplier = 0.8
dry-base = 1.75
dry-allowed-length = 3
dry-penalty-last-n = 1024
dry-sequence-breaker = ["\n", "```\n", ":", "\t", "\"", "|", "-", "}", "]"]
# --- Enforced Execution Graph ---
samplers = top_k;top_p;min_p;penalties;temp;dry
Compared to Ornith-1.0-35B, I have the
temperaturehigher, andtop-kmuch higher, to adjust to this model's increased reasoning & task-following capabilities.
Highly Recommended: Always keep reasoning/thinking enabled, for better quality results.
# --- Reasoning ---
chat-template-kwargs = { "enable_thinking":true }
reasoning = on
reasoning-format = auto
reasoning-budget = 32768
This works well with 256k context window.
fit-ctx = 262144
For Maximum Quality at 100k+ Context:
Use the MXFP4_MOE + Q8_0 + F16 split-quantized version.
- Preserved at F16:
token_embd.weight,output.weight,*.ssm_alpha.weight, and*.ssm_beta.weight.- Why this matters: Keeping these critical layers at full precision prevents the model from dropping fine details during extreme "needle-in-a-haystack" retrieval tasks (large context windows).
- What to avoid: If
output.weightor the embedding layers are quantized toQ8_0or lower, logit precision rounds off, causing the model to lose accuracy and forget specific details in long-context scenarios.
Updated 2026-08-22:
- Improved sampling settings
ℹ️ Misc Details
I'm doing this as a side hobby, with my AMD 5900X, 64GB DDR4, RTX 3060 12GB & RTX 5060 Ti 16GB.
In addition to the above configuration, I also use:
slots = 1
parallel = 1
no-warmup = true
flash-attn = on
mlock = false
no-mmap = true
context-shift = false
batch-size = 2048
ubatch-size = 256
fit = on
fit-target = 1024
cache-ram = 4096
main-gpu = 0
split-mode = layer
n-gpu-layers = 999
n-cpu-moe = 0
tensor-split = 15,13
override-tensor = (token_embd)=CUDA0,(vision|vpm|nextn)=CPU
fit-ctx = 262144
cache-type-k = q8_0
cache-type-v = q8_0
jinja = true
chat-template = jinja
chat-template-file = chat_template.jinja
For further quality and better ssm behaviour, this configuration can help:
context-shift = false
cache-type-k = f16
cache-type-v = f16
🤝 Support the Journey
As a passionate developer, I'm always programming, automating, or experimenting with new ideas.
I love building open-source tools, trying out new web tech, and creating things that don't yet exist, including local AI & quantizing models.
I love sharing these creations to give back to the community.
If my projects have saved you time or helped you out, consider supporting my work below!
✨ Acknowledgments
- ornith-ai for the exceptional
Ornith-1.5base model. - bartowski/Ornith-1.5-35B-A3B-GGUF for the imatrix gguf that I then combined with my own imatrix data.
📜 License
Released under MIT.
🔗 Citation
@misc{ornith_1_5,
title = {{Ornith-1.5}: From Self-Scaffolding to Self-Improvement},
url = {https://ornith.ai/ornith_1_5.html},
author = {{Ornith Team}},
year = {2026}
}
- Downloads last month
- -
Model tree for jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF
Base model
ornith-ai/Ornith-1.5-35B-A3B
docker model run hf.co/jashepp/Ornith-1.5-35B-A3B-MXFP4_MOE_Hybrid-Imatrix-GGUF: