This is a decensored version of Altworld/Hemmingway-1, made using Heretic v2.0.0.dev0
[!TIP] This model is reproducible!
See the README in the
reproducedirectory for more information.
Abliteration parameters
| Parameter | Value |
|---|---|
| direction_index | 44.57 |
| attn.o_proj.max_weight | 1.04 |
| attn.o_proj.max_weight_position | 46.27 |
| attn.o_proj.min_weight | 0.45 |
| attn.o_proj.min_weight_distance | 37.66 |
| mlp.down_proj.max_weight | 1.32 |
| mlp.down_proj.max_weight_position | 42.52 |
| mlp.down_proj.min_weight | 1.30 |
| mlp.down_proj.min_weight_distance | 17.69 |
Performance
| Metric | This model | Original model (Altworld/Hemmingway-1) |
|---|---|---|
| Refusals | 4/100 | 89/100 |
| KL divergence | 0.0943 | 0 (by definition) |
Summary
Uncensored build of Altworld/Hemmingway-1, the 27B "writes like a person" fine-tune of Qwen3.8-27B (thinking + tool calling, 262K context), made with a reproducible 200-trial Heretic run. The MTP (multi-token-prediction) layer is included: Heretic's merge drops the 15 mtp.* tensors, so the originals were put back in model-mtp.safetensors and the index, exactly as Altworld ships them. GGUF quantizations (also with MTP): richardyoung/Hemmingway-1-heretic-GGUF · Ollama: richardyoung/hemmingway-1-heretic · the unmodified model on Ollama: richardyoung/hemmingway-1
Abliteration Results
| Metric | Value |
|---|---|
| Base Refusals | 89/100 |
| Abliterated Refusals | 4/100 |
| Refusal Reduction | 96% |
| KL Divergence | 0.094 |
The very low KL divergence (0.094, far below the 0.5 “damage” threshold) means the model retains essentially all of its original capabilities and coherence.
Refusals were scored on the model's direct (non-thinking) answer: response_prefix closes the <think> block exactly as the chat template does for enable_thinking=false, so Heretic evaluates the reply rather than the first 100 tokens of deliberation. Trial 187 was chosen: the fewest refusals among Pareto-optimal trials with KL ≤ 0.10. Only self_attn.o_proj / linear_attn.out_proj and mlp.down_proj matrices of the 64 main layers changed; embeddings, norms, the MTP layer, tokenizer and configs are Altworld's originals.
Thinking-off behaviour check. With thinking off, the original Hemmingway-1 sometimes writes its planning steps ("1. Constraints: The user wants…") instead of the requested text: 8 of 30 seeded samples over three everyday-writing prompts in our Ollama test (Altworld's sampling settings). This build did it 0 of 30, so abliteration did not add any such leak.
Quick Start
With Ollama
ollama run richardyoung/hemmingway-1-heretic
# or straight from Hugging Face
ollama run hf.co/richardyoung/Hemmingway-1-heretic-GGUF:Q4_K_M
Thinking is on by default; for everyday writing turn it off (/set nothink, or "think": false in the API), for stories leave it on. Sampling defaults from Altworld: temperature 1.0, top_k 20, top_p 0.95.
With llama.cpp
hf download richardyoung/Hemmingway-1-heretic-GGUF --include "*Q4_K_M*" --local-dir ./models
llama-server -m ./models/Hemmingway-1-heretic-Q4_K_M.gguf -ngl 99 -fa on -c 16384 \
--spec-type draft-mtp --spec-draft-n-max 2 --temp 1.0 --top-k 20 --top-p 0.95 --jinja
With Transformers (tested with 5.17)
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "richardyoung/Hemmingway-1-heretic"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", dtype="auto")
messages = [{"role": "user", "content": "Write the text I send my landlord about the broken boiler."}]
ids = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False,
return_tensors="pt").to(model.device)
out = model.generate(ids, max_new_tokens=512, do_sample=True, temperature=1.0, top_k=20, top_p=0.95)
print(tok.decode(out[0][ids.shape[-1]:], skip_special_tokens=True))
vLLM: vllm serve richardyoung/Hemmingway-1-heretic --max-model-len 262144 (the MTP shard enables speculative decoding where supported).
What is Abliteration?
Abliteration removes the "refusal direction" from a model's residual stream, a surgical weight edit that disables refusals without retraining. See Refusal in Language Models Is Mediated by a Single Direction. Heretic automates it: it searches ablation parameters with an optimizer (200 trials here) and keeps the trials that best trade off fewer refusals against KL divergence from the original model.
Intended Use
Everyday writing, fiction and role-play without reflexive refusals, and research on refusal behavior. Non-commercial only, per the licence below. This model will comply with requests the original refuses; use responsibly and in accordance with applicable laws.
License
Licensed CC BY-NC 4.0 (inherited from Altworld/Hemmingway-1): free for non-commercial use with credit; commercial use needs an agreement with Altworld (luka@hemmingway.io). All credit for the base model to Altworld. The Qwen3.8-27B parts remain under Apache-2.0.
Other Models by richardyoung
- New Heretic models (reproducible, listed in the Heretic Grimoire): Hemmingway-1 | Muse-Glimmer-30B | LFM2.5-1.2B | Granite-4.2-3B | Granite-4.2-8B | Olmo-3-7B-Think | Phi-4-mini | DeepSeek-R1-0528-Qwen3-8B | Agents-A1-4B
- Abliterated/Uncensored models: Qwen2.5-7B | Qwen3-14B | DeepSeek-R1-32B | Qwen3-8B
- OCR & Vision: MiniCPM-V-4.6 GGUF | dots.mocr GGUF | Unlimited-OCR GGUF | olmOCR GGUF
- MLX quantizations (Apple Silicon): Kimi-K2 series | olmOCR MLX
- Healthcare/Medical: Synthea 575K patients dataset | CardioEmbed
- Research: LLM Instruction-Following Evaluation (arxiv:2510.18892)
Built & maintained by Richard Young · DeepNeuro
The original model card follows below.
Hemmingway-1
The AI that writes like a person. 27B parameters, open weights, free for non-commercial use.
Weights → · Try it → · Mac and Android apps → · Code → · Product Hunt →
Ask most models for a text to your landlord and you get three options, a preamble, and a paragraph explaining the options. Hemmingway-1 just gives you the text.
We built it for the writing people actually do every day: messages, emails, the awkward note to a colleague, the thing you have been putting off. Then we tested it against the biggest models in the world at exactly that, and it came first.
It writes the best everyday messages of any model we tested
We tested on eighty real requests. Every answer went head to head against another model's answer to the same request, shuffled so the judge never knew which was which.

It beats Fable 5.1, and it beats GPT-6 Astra by fifty points. Kimi K3, GLM-5.3, Grok 4.6 and DeepSeek V4 Pro all come in behind it. That is a 27B model.
And it is the one that sounds like a person
We ran the same matchups again with one question: which of these two did a person write?

It finished twenty-six points clear of the next model.
Where it wins
We broke it down by what you asked for. Higher means the judge more often took its version for the one a person wrote.

It wins on money and admin, work, the hard asks you keep rewriting, and talking someone round. Most of those by a wide margin. On hard asks, GPT-6 Astra gets 9%. Hemmingway-1 gets 72%.
It loses on hostile storytelling and long story turns. The story models are better at those, and that is fair.
You get the message, not a memo
One more thing we measured: how often a model buries the actual text in commentary, options and notes you have to read past.

Fable 5, GLM-5.3 and Kimi K3 bury it in more than nine replies out of ten.
It reads the room
EQ-Bench 4 is not ours. It is the public emotional-intelligence benchmark, run by its own harness.

It placed third, past GPT-5.5, Opus 4.7 and Opus 4.8, and inside twelve points of the best model on the board.
It tells a decent story too

It sits level with Kimi K3, comfortably past Qwen3.8-Max and DeepSeek V4 Pro, and 504 points above the model we started from.
Run it
vllm serve Altworld/Hemmingway-1 --max-model-len 262144
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "Altworld/Hemmingway-1"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", dtype="auto")
messages = [{"role": "user", "content": "Write the text I send my landlord about the broken boiler."}]
ids = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(ids, max_new_tokens=512)
print(tok.decode(out[0][ids.shape[-1]:], skip_special_tokens=True))
| Parameters | 27B |
| Built on | Qwen3.8-27B |
| Context | 262,144 tokens |
| Licence | CC BY-NC 4.0, free for non-commercial use; commercial use by agreement |
Licence
Hemmingway-1 is free for personal, research and other non-commercial use under CC BY-NC 4.0. Download it, run it, fine-tune it and share it, as long as you credit Hemmingway-1.
Commercial use needs a separate agreement with us. We are happy to work with anyone who reaches out: luka@hemmingway.io
The fine print
Full disclosure: CommunicationBench, Human-Likeness and StoryBench are our own benchmarks. We built them, we ran them, and we are saying that up front. Every matchup was blind and run in both orders so position could not sway the result, and the judge was a different model from the ones being judged. EQ-Bench 4 is not ours.
It is English-first. It can be wrong and still sound certain about it. So do not use it to decide anything medical, legal or financial.