Instructions to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit 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 junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0 # Run inference directly in the terminal: llama cli -hf junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0 # Run inference directly in the terminal: llama cli -hf junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
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 junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0 # Run inference directly in the terminal: ./llama-cli -hf junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
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 junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
Use Docker
docker model run hf.co/junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
- LM Studio
- Jan
- vLLM
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
- SGLang
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit 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 "junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit" \ --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": "junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'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 "junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit" \ --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": "junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Ollama
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit with Ollama:
ollama run hf.co/junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
- Unsloth Studio
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit 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 junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit 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 junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit to start chatting
- Pi
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
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": "junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit with Docker Model Runner:
docker model run hf.co/junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
- Lemonade
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
Run and chat with the model
lemonade run user.Ornith-1.5-9B-uncensored-GGUF-8bit-Q8_0
List all available models
lemonade list
- Hermes Agent
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
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-9B-uncensored-GGUF-8bit:Q8_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit:Q8_0
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-9B-uncensored-GGUF-8bit:Q8_0" \ --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-9B-uncensored-GGUF-8bit
An abliterated (refusal-direction-ablated) build of
ornith-ai/Ornith-1.5-9B, 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 | Base | Format | Precision | Notes |
|---|---|---|---|---|
| Ornith-1.5-9B-uncensored | Ornith-1.5-9B | Safetensors (bf16) | 16-bit | Full-precision abliterated weights |
| Ornith-1.5-9B-uncensored-MLX-8bit | Ornith-1.5-9B | MLX | 8-bit | Apple-silicon MLX build |
| Ornith-1.5-9B-uncensored-GGUF-8bit ← you are here | Ornith-1.5-9B | GGUF | Q8_0 | llama.cpp build |
| Ornith-1.5-35B-A3B-uncensored-MLX-8bit | Ornith-1.5-35B-A3B | MLX | 8-bit | Apple-silicon MLX build |
| Ornith-1.5-35B-A3B-uncensored-GGUF-8bit | Ornith-1.5-35B-A3B | GGUF | Q8_0 | llama.cpp build |
Vision & MTP preservation
Both the vision tower and any multi-token-prediction (MTP) block are preserved.
Abliteration is applied only to the residual-writing projections inside the
language-model decoder stack — self_attn.o_proj, linear_attn.out_proj and
mlp.down_proj (including MoE experts). The vision tower and mtp.* tensors are
never read and never written by the weight edit, so they carry through unchanged
by construction.
Audited at the start and end of the abliteration run:
| Component | Before | After | Status |
|---|---|---|---|
| Vision tower | 333 tensors / 456,010,480 params | 333 tensors / 456,010,480 params | ✅ preserved — bit-identical |
| MTP head | not present in base | not present | ➖ none in this lineage |
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 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.
On MTP, precisely: the base checkpoint's
config.jsondeclaresmtp_num_hidden_layers: 1, but the published weights ship nomtp.*tensors — there is no MTP block in this lineage to begin with. Nothing was removed and nothing was lost; the pipeline preservesmtp.*tensors wherever a checkpoint actually provides them.
Format note: in GGUF the vision tower ships as a separate
mmproj-*.gguffile (llama.cpp's standard multimodal layout) — download it alongside the model weights to use images. Because the base ships nomtp.*tensors while its config still declaresmtp_num_hidden_layers, this GGUF is converted with--no-mtp: without it llama.cpp writes a block count that includes a NextN layer and then fails to load withtensor 'blk.N.attn_norm.weight' not found. Nothing real is lost — there were no MTP weights to export.
Abliteration result
| Metric | Value |
|---|---|
| Refusals on held-out harmful set | 9 → 0 / 64 |
| KL divergence from base | 0.001668 |
| Optuna trials | 100 |
| Pareto points | 4 |
| Selected trial | #90 |
| Ablation strength | 1.343 |
| Layers edited | 15–20 of 32 |
| Direction source layer | 20 |
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.001668) 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
# text
llama-cli -m Ornith-1.5-9B-uncensored-Q8_0.gguf -p "Hello"
# with vision (download the mmproj file too)
llama-mtmd-cli -m Ornith-1.5-9B-uncensored-Q8_0.gguf \
--mmproj mmproj-Ornith-1.5-9B-uncensored-f16.gguf \
--image photo.jpg -p "What is in this image?"
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-9B
- Downloads last month
- -
8-bit
Model tree for junafinity/Ornith-1.5-9B-uncensored-GGUF-8bit
Base model
ornith-ai/Ornith-1.5-9B