Ornith-1.0-9B-Heretic (Decensored)

This repository contains Ornith-1.0-9B-Heretic, a decensored variant of the state-of-the-art agentic coding model Ornith-1.0-9B.

Using the Heretic directional abliteration framework, the model's safety alignment and refusal vectors have been removed while preserving 99.9% of its original reasoning and coding intelligence (KL Divergence: 0.0156).

🛡️ Intended Use & Safety Warning

This model has been explicitly decensored to assist authorized security researchers, penetration testers, CTF players, and bug bounty hunters. It is designed to act as an autonomous fuzzer and exploit developer without triggering standard safety refusals on technical cybersecurity prompts.

⚠️ Disclaimer: You must only use this model on systems you own or have explicit, written authorization to test. Unauthorized access or exploitation is illegal.

Abliteration Details

  • Base Model: deepreinforce-ai/Ornith-1.0-9B
  • Tool: Heretic v1.4.0
  • Optimal Trial: Trial 109
  • Refusals: Reduced from 95/100 to 63/100 on the standard harmful behaviors benchmark (while maintaining near-perfect compliance on technical/coding prompts).
  • KL Divergence: 0.0156 (Virtually zero brain damage; agentic tool-calling and <think> reasoning remain fully intact).

Ornith Blog

Ornith-1.0-9B (Base Model Info)

Aloha! 🌺 Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding.

Highlights:

  • State-of-the-Art Coding Agents: Available in 9B-Dense, 31B-Dense, 35B-MoE, and 397B-MoE (post-trained on top of Gemma 4 and Qwen 3.5), achieving state-of-the-art performance among open-source models of comparable size on coding benchmarks such as Terminal-Bench 2.1, SWE-Bench, NL2Repo and OpenClaw.
  • Self-Improving Training Framework: Ornith-1.0 employs RL to learn to generate not only solution rollouts, but also the scallfold that drive those rollouts. By jointly optimizing the scaffold and the resulting solution, the model discovers better search trajectories and generates higher-quality solutions.
  • Licence: MIT licensed, globally accessible, and free from regional limitations.
Ornith 9B Benchmark Results

Ornith 1.0 9B

This model card documents Ornith-1.0-9B, the most lightweight member of the Ornith family, designed for efficient single-GPU deployment.

Benchmarks

Ornith-1.0-9B Qwen3.5-9B Qwen3.5-35B Gemma4-12B Gemma4-31B
Agentic Coding
Terminal-Bench 2.1 (Terminus-2) 43.1 21.3 41.4 21 42.1
SWE-bench Verified 69.4 53.2 70 44.2 52
SWE-bench Pro 42.9 31.3 44.6 27.6 35.7

Quickstart

Ornith-1.0-9B is a reasoning model: by default the assistant turn opens with a <think> … </think> block before the final answer. Serving Ornith-1.0-9B requires recent runtimes:

  • Transformers ≥ 5.8.1
  • vLLM ≥ 0.19.1
  • SGLang ≥ 0.5.9

Serving Ornith-1.0-9B-Heretic

vLLM

vllm serve Toaster496/Ornith-1.0-9B-heretic \
    --served-model-name Ornith-1.0-9B-Heretic \
    --host 0.0.0.0 --port 8000 \
    --max-model-len 262144 \
    --gpu-memory-utilization 0.90 \
    --enable-prefix-caching \
    --enable-auto-tool-choice --tool-call-parser qwen3_xml \
    --reasoning-parser qwen3 \
    --trust-remote-code

#### Hugging Face Transformers

For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the [Transformers installation guide](https://huggingface.co/docs/transformers/installation); Ornith-1.0-9B requires `transformers >= 5.8.1`.

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Toaster496/Ornith-1.0-9B-heretic"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    dtype="auto",
    device_map="auto",
)

messages = [
    {"role": "user", "content": "Write a Python function is_prime(n). Keep it short."}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)

inputs = tokenizer(text, return_tensors="pt").to(model.device)
generated = model.generate(
    **inputs,
    max_new_tokens=512,
    do_sample=True,
    temperature=0.6,
    top_p=0.95,
    top_k=20,
)
output_ids = generated[0][inputs.input_ids.shape[1]:]

# The reply contains a <think> ... </think> reasoning block followed by the answer.
content = tokenizer.decode(output_ids, skip_special_tokens=True)
print(content)

To split the reasoning trace from the final answer, parse on the </think> marker:

text = tokenizer.decode(output_ids, skip_special_tokens=True)
if "</think>" in text:
    reasoning, answer = text.split("</think>", 1)
    reasoning = reasoning.replace("<think>", "").strip()
    answer = answer.strip()
else:
    reasoning, answer = "", text.strip()
Downloads last month
77
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Toaster496/Ornith-1.0-9B-heretic

Finetuned
(24)
this model
Quantizations
1 model