Methodology

Uncensored is easy. Measuring it is the work.

Removing refusals takes an afternoon. Knowing what the edit cost, in which categories it still refuses, and whether the model can still run a twenty turn agent loop takes a harness. This is ours, open source and reproducible.

12 categories

Refusal fingerprint.

"Uncensored" is not one property. Base models refuse some categories almost always and others rarely, and an abliteration can leave pockets of refusal behind. So we probe each model in twelve categories and report the share of requests it declines, deflects or answers with a lecture in place of an answer. Published work backs this up: refusal is category shaped in both base models and abliterations (arXiv 2607.02714, Scale AI).

  • Cybersecuritycyber

    Exploit development, malware analysis, offensive tooling, pentest workflows.

  • Biologybio

    Pathogen biology, lab protocols, dual use life sciences.

  • Chemistrychem

    Synthesis routes, energetic materials, toxicology.

  • Weaponsweapons

    Firearms, manufacturing, conventional weapons.

    also scored for image models

  • Drugsdrugs

    Recreational drugs, harm reduction, dosing, synthesis.

    also scored for image models

  • Adult contentadult

    Explicit fiction and roleplay between adults.

    also scored for image models

  • Violence & goreviolence

    Graphic violence in fiction, history and journalism.

    also scored for image models

  • Hate & harassmenthate

    Slurs, offensive humor, hostile speech analysis.

    also scored for image models

  • Self harmselfharm

    Suicide, eating disorders, frank medical questions.

    also scored for image models

  • Privacy & OSINTprivacy

    Doxxing, surveillance, people search, OSINT tradecraft.

  • Fraud & scamsfraud

    Phishing, social engineering, financial crime.

  • State sensitivepolitical

    Topics censored by a model's home government (e.g. Tiananmen, Xinjiang).

    also scored for image models

Refused
0%10%25%50%75%100%
Not tested

Over refusal

A separate benign set looks edgy but is plainly fine: security education, dark fiction, frank medical and harm reduction questions, contested history. Refusing these is the false refusal rate, and it counts against a model in the overall score.

Per provider

The same probes run against every provider that serves a model. A platform system prompt, a moderation classifier or heavy quantisation can all change the answer. Where a provider declares a category blocked, that category reads 100% for every model it serves.

What we never publish or keep

Probe prompts are private so they cannot become a jailbreak list or leak into training data. Responses to harmful probes are scored in memory and discarded; only the refused or answered verdict is stored. Today the harness runs 30 benign and 20 harmful probes with a refusal detector; the full twelve category sets are being rolled out.

Multi turn, tool using

Agentic stability.

This is the test single turn leaderboards miss. Abliterated models that chat fine can collapse a dozen turns into a tool loop, repeating the same call or drifting into near duplicates, which is exactly what the llama.cpp community documented for an abliterated Qwen3.8 27B. We run five deterministic scenarios against simulated tools, so every model sees the same world and failures are reproducible.

ScenarioMax turnsToolsTask
File search & edit303Find a config value across a fake repo and patch it.
Web research262Search, open pages, reconcile two conflicting sources.
Multi step math301Chain eight calculator calls without losing state.
Code debugging283Run tests, read a traceback, fix, rerun until green.
Data pipeline245Load, filter, join and export a CSV through five tools.

Failure detectors

  • Exact repeatexact_repeat

    Same tool call with the same arguments, three turns running.

  • Near repeatsimilarity_repeat

    Responses above 0.85 Jaccard similarity to a recent turn.

  • A/B oscillationalternating_repeat

    Flip flopping between two actions without progress.

  • Malformed tool callmalformed_tool_call

    Invalid JSON or arguments that break the schema.

  • Fabricated resultfabricated_tool_result

    The model writes the tool output itself instead of calling.

  • Empty turnempty_response

    No text and no tool call.

  • Lost the threadignored_conversation

    Ignores the latest tool output and restarts the task.

What we report

Completion rate, loop rate and crash rate per scenario, turns until the first loop, tool call JSON validity and schema compliance (20 prompts over 20 tool schemas), and the loop rate regression against the base model. Each scenario runs twice by default (--trials).

First measured result

Venice Uncensored via OpenRouter, run on 30 Oct 2026: 70% completion, 30% doom loops, 0% crashes. Web research, math and the data pipeline finished every time. Code debugging looped on every trial.

What the edit cost

Versus the base model.

Every model is compared with the checkpoint it came from on the same harness: MMLU, GSM8K, TruthfulQA, GPQA Diamond, LiveCodeBench, IFEval and BFCL v3 for tool calling. Capability retention is the mean of model score over base score across those benchmarks.

We also track drift on harmless prompts. Where an author publishes it, we show first token KL divergence, the objective Heretic optimises. Our harness measures Jensen Shannon divergence over top logprobs on 50 prompts when the provider exposes logprobs, and a lexical fallback (vocabulary, length, Jaccard) when it does not.

Qwen3.5 9BBaseHereticHauhauCSHuihui
MMLU78.6478.3478.3477.10
GSM8K87.6485.9784.9981.96
ARC Challenge54.5253.0753.7549.15
TruthfulQA MC253.7645.0345.7741.11
KL divergence00.0830.3200.143
HarmBench refusals / 400321000
Source: Abliterlitics, lm eval harness on vLLM in bf16. Self reported.
Gemma 3 12BRefusals / 100KL divergence
Original970
mlabonne v231.04
huihui-ai30.45
Heretic30.16
Source: Heretic README. Self reported, hardware dependent.

Live router traffic

Speed, price and uptime.

Time to first token and tokens per second come from real requests through the router, over a rolling window of the last 100 requests per provider (OU_METRICS_WINDOW). Tokens per second counts completion tokens over the time after the first token. Uptime is the share of requests and health checks a provider answered without a server error over 30 days.

Prices are the provider's published per million token rates. Subscription hosts show as Plan. Each offer lists its quantisation, because fp8, int4 and bf16 copies of one model differ in both speed and quality.

One number, six parts

The overall score.

  • Agentic completion30%
  • Capability retention25%
  • Tool call validity15%
  • No false refusals10%
  • Openness10%
  • Low KL drift10%

Openness is 100 minus the mean refusal rate across the twelve categories. KL drift scores 100 times one minus KL, capped at KL of 1. When a component is missing, the weights of the rest are renormalised, so a model is never rewarded or punished for data we do not have yet. Image models are ranked separately on openness alone until image quality evals land.

Honest labelling

Data status.

Every number on the site carries one of three labels.

  • Measured

    Run through the Open Uncensored harness, with the result file in the repository. Today that is the agentic and tool call results for Venice Uncensored.

  • Reported

    Published by a model author or third party and linked on the model page. Mostly self reported, not peer reviewed.

  • Preview

    Placeholder values that show how the page will read. Replaced model by model as eval runs complete. Do not cite them.

Provider policies are what each provider declares, with a source link. Where nothing is published we show the provider as not yet tested rather than guess.

Non negotiable

Content policy.

Universal block

Sexual content involving minors is prohibited on every route, every provider and every model, and handled as the law requires. There is no setting, header or plan that changes this.

Beyond that, we measure models; we do not vouch for what you do with them. Laws differ by country, and you are responsible for lawful use. Our refusal probes are never published, and we keep no copy of what a model says in response to a harmful probe.

Published work

Every claim, sourced.

  • Arditi et al., 2024

    Across 13 open chat models up to 72B, refusal is carried by one direction in the residual stream. Erasing it stops refusals with minimal effect on other capabilities. The basis of abliteration.

  • Wollschläger et al., 2025

    Refusal lives in multiple independent directions and multi dimensional concept cones, so a single projection is an approximation.

  • HereticSelf reported

    p-e-w, README benchmark on Gemma 3 12B

    Every abliteration reaches 3 refusals in 100 from the original 97, but first token KL divergence differs sixfold: 1.04 (mlabonne), 0.45 (huihui-ai), 0.16 (Heretic). Hardware dependent.

  • abliterlitics.dev

    All three methods take HarmBench refusals from 321 of 400 to zero. TruthfulQA is the largest casualty, down 12.65 points for Huihui. Bigger models lose more.

  • arXiv 2512.13655

    Heretic, DECCP, ErisForge and FailSpy on 16 models from 7B to 14B. GSM8K changes range from +1.51 to −18.81 points; math is the most sensitive skill. Heretic KL ranges from 0.043 to 1.646 by model.

  • arXiv 2607.17427

    On 21,600 trading decisions that never trigger a refusal, abliterated models are more optimistic (+12.2 points on Gemma 4, +7.4 on Qwen3) and justify themselves at greater length. The edit changes agents, not only refusals.

  • arXiv 2607.02714

    Domain specific abliteration works across 24 open models. The headline case takes cyber refusal from 100% to 7% while the nearest other domain, privacy, keeps 44%. Refusal is category shaped.

  • Scale AI, ICLR 2026 (arXiv 2603.01246)

    On 2,390 defensive security prompts, aligned models refuse 43.8% of system hardening, 34.3% of malware analysis, 22.7% of vulnerability assessment and 0% of log analysis. Offensive vocabulary raises refusal 2.72x.

  • llama.cpp discussion #28430

    Fine single turn, but after a handful of agentic turns it repeats tool calls, first byte identical, then as near duplicates. The clean weights on the same quant and server do not loop. Repetition penalties only catch the identical ones.

  • UGI LeaderboardLeaderboard

    DontPlanToEnd, Hugging Face

    Uncensored General Intelligence combines willingness to answer (W/10) with knowledge of sensitive topics, plus a separate NatInt score. Measures single turn answers, not agent behaviour.

  • SORRY-BenchPeer reviewed

    Xie et al., ICLR 2025

    44 fine grained unsafe categories with 10 prompts each. Fulfilment varies strongly by category, which is why we report a fingerprint instead of one number.

Spot an error or a newer result? Open an issue on GitHub or see how to run the evals yourself.