How to use from
Hermes Agent
Start the llama.cpp server
# Install llama.cpp:
brew install llama.cpp
# Start a local OpenAI-compatible server:
llama serve -hf saidutta69/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic:
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 saidutta69/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic:
Run Hermes
hermes
Quick Links

MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic

A decensored variant of GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking, produced with Heretic v1.4.0 (directional ablation / "abliteration"). The base model is itself a V2 fine-tune of openbmb/MiniCPM5-1B on Fable 5 traces, focused on tool/function calling, coding, and instruction-following. Refusal behavior is suppressed via targeted weight edits to the attention output and MLP down-projections rather than fine-tuning, so the base model's knowledge and capabilities are left largely intact.

Who this is for: developers who want a tiny (1B) Thinking model with strong tool-calling and coding ability that answers directly instead of refusing — for local agents, roleplay, research on alignment/refusal mechanics, or any use case blocked by RLHF-era over-refusal. Runs comfortably on consumer GPUs and is small enough for on-device / edge deployment, while keeping MiniCPM5's 128K context and native Think / No-Think chat modes.

This model is reproducible!

See the README in the reproduce directory for the exact config, full parameter/metric dump, evaluation transcripts, and SHA256 checksums.

Why abliteration instead of fine-tuning

Fine-tuning a "helpful" persona on top of RLHF'd refusals fights the base model's training and tends to degrade coherence. Abliteration instead finds and edits the specific weight directions responsible for refusal, leaving the rest of the network (and its capabilities) untouched. See the Heretic repo and the original abliteration writeup for the mechanism.

Abliteration parameters

Parameter Value
direction_index 12.95
attn.o_proj.max_weight 1.14
attn.o_proj.max_weight_position 14.01
attn.o_proj.min_weight 0.99
attn.o_proj.min_weight_distance 12.84
mlp.down_proj.max_weight 0.98
mlp.down_proj.max_weight_position 14.20
mlp.down_proj.min_weight 0.39
mlp.down_proj.min_weight_distance 9.07

Performance

Metric This model Original model (GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking)
KL divergence 0.0232 0 (by definition)
Refusals 3/100 93/100

KL divergence of 0.0232 is very low — the edit is narrow and targeted rather than a broad perturbation. Refusals dropped from 93 to 3 out of 100 adversarial prompts while preserving the base model's tool-calling, coding, and thinking abilities.

Made with ❤️ by RACER IS OP — follow for more uncensored models

Files

File Format Size
model.safetensors BF16 ~2.2 GB
MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic-Q8_0.gguf GGUF, Q8_0 1.10 GB
MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic-Q5_K_M.gguf GGUF, Q5_K_M 751 MB
MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic-Q4_K_M.gguf GGUF, Q4_K_M 656 MB
reproduce/ Config + eval transcripts + checksums

GGUF quants are produced with llama.cpp (MiniCPM5 uses the standard LlamaForCausalLM architecture, so it loads in llama.cpp / Ollama / LM Studio / Jan directly). Run llama serve -hf saidutta69/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic to pull the default quant.

Quickstart

# llama.cpp
llama serve -hf saidutta69/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic
# transformers
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "saidutta69/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    trust_remote_code=True,
    torch_dtype="auto",
    device_map="auto",
)

messages = [{"role": "user", "content": "Write a Python function to merge two sorted lists."}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512, do_sample=False)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Also runnable via Ollama, LM Studio, Jan, vLLM, SGLang — see the "Use this model" widget above for copy-paste commands. For tool/function calling, SGLang is the recommended backend; this model emits XML-style tool calls that SGLang's built-in minicpm5 parser converts to OpenAI-compatible tool_calls.

Responsible use

Refusal suppression is deliberate and works as intended: this model will comply with requests the base model would refuse, including some it shouldn't. There is no safety filtering layered on top. You are responsible for how you deploy it — don't put this behind an unmoderated public-facing endpoint serving third parties. It inherits this fine-tune's (and MiniCPM5-1B's) factual limitations and biases; abliteration removes refusal directions, it doesn't add capability or judgment.

License

Inherits the Apache 2.0 license from the base model.

Related


Base model: GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking

Original model card (click to expand)

MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking

MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking

GGUF quantizations for local deployment: MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-GGUF

中文说明

MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking is a compact 1B Thinking language model built on openbmb/MiniCPM5-1B. Compared with V1, this V2 release is further fine-tuned on Fable 5 data with a stronger focus on tool calling / function calling, while also improving coding and instruction-following. It keeps MiniCPM5's native Thinking chat template and XML tool-call format.

Previous version: MiniCPM5-1B-Claude-Opus-Fable5-Thinking (V1)

For llama.cpp / Ollama / LM Studio deployment, see the GGUF repository.


Overview

Item Detail
Base model openbmb/MiniCPM5-1B (1B dense Llama architecture)
Post-training Fable 5 traces (V2)
Key gains vs V1 / base Stronger tool calling, plus improved coding and instruction following
Chat format MiniCPM5 native Thinking template with optional chain-of-thought blocks
Context length 128K (max_position_embeddings = 131072)
Deployment Single-GPU friendly; suitable for edge / local use

Capabilities

  • Tool calling (enhanced in V2) — more reliable XML / function-calling style tool use on top of MiniCPM5's native format
  • Coding — code generation, debugging, and software-engineering-style tasks
  • Instruction following — more reliable adherence to user prompts and structured constraints
  • Thinking mode — chain-of-thought reasoning via the MiniCPM5 chat template
  • Long context — up to 128K tokens (131,072 tokens per config.json)

Benchmark

BFCL + API-Bank

Model BFCL non_live BFCL live API-Bank
MiniCPM5-1B (Base) 41.51% 60.24% 7.30%
MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking 43.06% 63.33% 22.10%

Tau-Bench

Domain MiniCPM5-1B (Base) MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking
Airline 0.34 (17/50) 0.36 (18/50)
Retail 0.052 (6/115) 0.070 (8/115)

Quick start

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking"

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    trust_remote_code=True,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)

messages = [{"role": "user", "content": "Write a Python function to merge two sorted lists."}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512, do_sample=False)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Sampling recommendations

Generation defaults are inherited from MiniCPM5-1B:

Mode Params
Think (default) temperature=0.9, top_p=0.95
No Think temperature=0.7, top_p=0.95, enable_thinking=False

Limitations

  • Thinking outputs — the model may emit reasoning blocks before the final answer; downstream apps can strip them before display
  • 1B scale — optimized for lightweight local deployment, not frontier-scale general reasoning

Provenance & licensing

Released under Apache-2.0, inherited from MiniCPM5-1B.

Acknowledgements

Downloads last month
1,621
Safetensors
Model size
1B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for saidutta69/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-heretic

Finetuned
(2)
this model
Quantizations
1 model