A local paraphraser for email

Stiff draft in.
Email you'd send out.

Paraphase-4B rewrites the email, keeps every fact, and runs on your laptop. No API, no upload, and no “I hope this email finds you well.”

4.5 GB · Q8 GGUF · Apache-2.0 · built on Qwen3.5-4B

DEMO · SYNTHETIC DRAFT
Before

After

50/50valid rewrites
0.26copy reuse, with retry
9/13flagged drafts crossed 0.5
4.5 GBone download, runs locally
01 — The test

We paid a detector to judge it.

Pangram graded 186 texts in one pre-registered batch. The humans passed. Then our own control failed: only 13 of the 50 AI drafts were actually flagged, so the broad test couldn’t answer the question. We ran the 13 that were flagged separately. Here is all of it.

50/50human originals passed
13/50AI drafts flagged at 0.5
33/50not labelled “Human”

The 13 drafts Pangram flagged

Each row is one draft. The hollow dot is the draft; the filled dot is after the rewrite. The vertical line is Pangram’s 0.5 pass line.

Per-item numbers
Why “suggestive” and not “confirmed”: the pre-registered gate required 11 of 13 to improve. The measured result was 10 of 13. The sign test is still significant (p = 0.039) and the median drop is large, but the stricter gate was missed. We report what happened.
02 — Compare

Three honest trade-offs.

Bigger is not automatically better. The 4B fixes validity and holds facts; the 2B copies less and uses fewer AI tells; retry lowers copy reuse; Q4 is smaller but misses two gates.

On a 4–6 GB device? Paraphase-2B is 2.68 GB and needs the retry wrapper.

2B → 4B

Validity, bought with size

Greedy valid outputs rise from 41/50 to 50/50. Copy reuse rises from 0.30 to 0.43, and tells from 2.4% to 10%. The 4B is 1.8 GB larger at Q8.

Greedy → retry

The cheap win

On the 4B, resampling only the bad candidates cuts copy reuse from 0.43 to 0.26 and tells from 10% to 8%, with no validity loss. On the 2B it rescues 7 of 9 invalid rows.

Q8 → Q4

Smaller, but below the bar

The 4B Q4 is 2.7 GB, yet reuse rises to 0.53 and tool calls fall to 0.45 — both outside the release gates. Ship Q8 unless VRAM forces the compromise.

03 — Get it

The recipe.

Qwen3.5’s chat template starts with a “Thinking Process” preamble unless thinking is disabled. Send chat_template_kwargs, then apply the retry policy for the measured 0.26 copy reuse.

Python · llama.cpp server
Scope: English email, one detector vendor (Pangram 4.1), one run per probe, no human prose-quality study. The flagged-subset result is conditional on drafts Pangram flagged; it is not a claim about every email.