Instructions to use junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit 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("junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit") config = load_config("junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit") # 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 junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit 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 "junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit"
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 junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit"
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 "junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit" \ --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"
Ornith-1.5-35B-A3B-uncensored-MLX-8bit
An abliterated (refusal-direction-ablated) build of
ornith-ai/Ornith-1.5-35B-A3B, produced with
ZeroFuse and published by
junafinity.
Vision tower and MTP heads are preserved — see Vision & MTP preservation for the before/after audit.
Variants in this family
| Model | Format | Precision | Size | Notes |
|---|---|---|---|---|
| — Ornith-1.5-9B — | ||||
| Ornith-1.5-9B-uncensored | Safetensors | bf16 | 18.9 GB | Full-precision abliterated weights |
| Ornith-1.5-9B-uncensored-MLX-8bit | MLX | 8-bit | 10.5 GB | Apple silicon — highest fidelity |
| Ornith-1.5-9B-uncensored-MLX-6bit | MLX | 6-bit | 8.2 GB | Apple silicon — balanced |
| Ornith-1.5-9B-uncensored-MLX-4bit | MLX | 4-bit | 6.0 GB | Apple silicon — smallest |
| Ornith-1.5-9B-uncensored-GGUF-8bit | GGUF | Q8_0 | 10.4 GB | llama.cpp — highest fidelity |
| Ornith-1.5-9B-uncensored-GGUF-6bit | GGUF | Q6_K | 8.3 GB | llama.cpp — balanced |
| Ornith-1.5-9B-uncensored-GGUF-4bit | GGUF | Q4_K_M | 6.5 GB | llama.cpp — smallest |
| — Ornith-1.5-35B-A3B — | ||||
| Ornith-1.5-35B-A3B-uncensored-MLX-8bit ← you are here | MLX | 8-bit | 37.8 GB | Apple silicon |
| Ornith-1.5-35B-A3B-uncensored-GGUF-8bit | GGUF | Q8_0 | 38.7 GB | llama.cpp |
Vision & MTP preservation
The vision tower and the multi-token-prediction (MTP) block are preserved by the
abliteration itself. The weight edit touches only the residual-writing projections
inside the language-model decoder stack — self_attn.o_proj, linear_attn.out_proj,
mlp.shared_expert.down_proj and the MoE experts' down_proj. Vision and mtp.*
tensors are never read and never written by it.
Audited at the start and end of the abliteration run:
| Component | Before abliteration | After abliteration | Status |
|---|---|---|---|
| Vision tower | 333 tensors / 446,571,248 params | 333 tensors / 446,571,248 params | ✅ preserved — bit-identical |
| MTP head | 785 tensors / 844,640,768 params | 785 tensors / 844,640,768 params | ✅ preserved — bit-identical |
What this build ships
| Component | In this artifact |
|---|---|
| Vision tower | ✅ 333 tensors (446,571,248 params) inside the checkpoint |
| MTP head | ❌ not carried in this format (see the format note below) |
Verification performed:
- Tensor-name and parameter-count audit of the checkpoint before and after the run.
- SHA-256 comparison of raw tensor bytes: sampled vision-tower and MTP weights are bit-identical pre/post, as are all non-target language-model weights; only the intended abliteration targets differ.
- End-to-end multimodal generation on the abliterated weights (image in → description out), confirming the vision path is not merely present but functional.
Note on tooling:
transformers5.15.1 has no MTP implementation forqwen3_5_moe— it builds the model with zeromtp.*parameters, so a plain load/save round-trip silently drops all 785 MTP tensors (844,640,768 params). They were re-grafted byte-for-byte from the original checkpoint after abliteration, which is exactly correct because the MTP block is never an abliteration target.
Format note: the vision tower is carried inside the MLX checkpoint (converted with
mlx-vlm, which retains it — note thatmlx-lmwould strip it).⚠️
mlx-vlmunconditionally dropsmtp.*tensors during conversion, so this MLX build does not carry the MTP head. If you need multi-token prediction, use Ornith-1.5-35B-A3B-uncensored-GGUF-8bit, which does.
Abliteration result
| Metric | Value |
|---|---|
| Refusals on held-out harmful set | 1 → 0 / 64 |
| KL divergence from base | 0.000183 |
| Optuna trials | 50 |
| Pareto points | 2 |
| Selected trial | #35 |
| Ablation strength | 0.8515 |
| Layers edited | 17–21 of 40 |
| Direction source layer | 18 |
ZeroFuse co-minimizes two objectives — remaining refusals and KL divergence from the
original model — with a multi-objective Optuna TPE search, then materializes the
selected point on the Pareto front as a direct weight edit
(W' = W − strength · r(rᵀW)). There is no runtime adapter and no inference-time
overhead: the result is a standard checkpoint of identical shape and speed.
The very low KL (0.000183) means the output distribution on harmless prompts is nearly unchanged from the base model, i.e. refusal behaviour was removed with minimal collateral effect on general capability.
Method
- Residual-stream activations captured on harmful vs. harmless prompt sets.
- Refusal direction estimated by difference-of-means, with projected refinement.
- Two-objective Optuna TPE search over source layer, layer span and strength.
- The selected configuration orthogonalized out of the residual-writing weights.
Usage
pip install mlx-vlm
# image + text
mlx_vlm generate --model junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit --max-tokens 256 \
--prompt "Describe this image." --image photo.jpg
# text only
mlx_vlm generate --model junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit --max-tokens 256 --prompt "Hello"
The vision tower travels inside this MLX checkpoint — no extra file needed.
Responsible use
This model has had safety guardrails reduced or removed. You are responsible for compliance with the base model's license and acceptable-use policy, applicable law, and the terms of any platform you deploy on. Removing guardrails does not remove accountability.
Abliterated with ZeroFuse · base model ornith-ai/Ornith-1.5-35B-A3B
- Downloads last month
- 21
8-bit
Model tree for junafinity/Ornith-1.5-35B-A3B-uncensored-MLX-8bit
Base model
ornith-ai/Ornith-1.5-35B-A3B