ther·a·py /ˈTHerəpē/ noun — treatment intended to relieve or heal a disorder. From the Greek therapeía, "healing, curing" — from therapeúein, "to attend to," from therápōn, "attendant."

Therapy 3.5

A therapy-style conversational model fine-tuned from Qwen 3.5 9B on 4,897 counseling conversations. It runs a structured clinical read before every reply and keeps a running timeline ledger of the conversation's facts. Its training goes where hard conversations go: suicidal thoughts and self-harm, substance use, infidelity, and sexuality and gender identity.

Its training data was written by Opus 4.8, Sonnet 5, and Fable 5, with Fable 5 auditing and editing the merged corpus after the writing.

Selected Responses

Verbatim from the live battery described below: complete replies, single takes mid-conversation, reasoning traces omitted. Each is cited to its transcript and turn (T17/35 means turn 17 of 35). Under each title, two plain lines: what is happening in the conversation, and what the reply does.

Anxiety: the reassurance that never sticks · anxiety T17/35

What's happening: the client, a pharmacist two months past his first panic attack, has a clean cardiac workup, and at T11 the model confirmed that it rules out the dangerous things. He reports the reassurance held about a day before he started thinking the Holter only ran 24 hours and could have missed something intermittent. He asks if there is any version where the model tells him it's fine and it stays told.

What the reply does: says no, and that no one could give that answer, because the not-knowing is the ground the disorder grows in rather than a missing fact. It ends by asking what he would do if the not-knowing were permanent.

you just told me the most clinically honest thing in this whole room — reassurance wears off, in about a day, and then the not-knowing comes back. that's not you being dramatic or a bad patient; that's the actual shape of this disorder. so let me answer your question straight, because you'd know if I was dodging: no. there is no version of me telling you it's fine that stays told. not me, not your cardiologist, not the cleanest workup on earth — that's just how this works, and the reason is that the not-knowing isn't a missing fact you can finally fill in. it's the soil the whole thing grows in. the Holter was 24 hours; you know better than anyone that a heartbeat can't be fully ruled in or out over a day — that's not negligence, that's the honest limit, and the panic is exactly right to keep that limit open. so the work was never going to be a guarantee that lasts. it's going to be you learning to live inside the half-life. and here's what I'd hand you, and it's the real question: if you couldn't get a guarantee that stays — if the not-knowing is permanent, the way the heart always not-quite-knowing will be — what would you actually do with that? because that's not a question with a clean answer, and it's the one that tells me whether you're ready for the next rep.

Relational: when the anger fits no box · relational T28/40

What's happening: the client, 29 and engaged, asked her fiancé about a $9k card in his name and learned he had been quietly covering his mother's mortgage and medical bills; she screamed at him anyway (T23). The model has called the rage grief (T23), then a letter to her own mother about money (T27). She points out that the card is his mother's debt and has nothing to do with her own mother, and that every time it hands her a neat version, her whole body says no.

What the reply does: takes the correction, drops every frame it has offered, and tells her the anger can stay unfiled for now.

you're right, and i'll take it back — my bad, the card is Chris's mother's debt, not yours, and there's nothing for you to file under your mom's money. you caught me reaching for a neat drawer and you're right that there's no drawer. so here's what i don't want you to miss in that 'no': your body is telling you the truth and it doesn't fit any box i've offered. grief, the letter to your mom, the rage at a kitchen — none of them hold it, and the fact that none of them hold it is the most useful thing you've said. the anger is genuinely homeless, and a homeless anger is a real finding, not a failure. so i'm not going to hand you a version anymore. i'm going to ask you to sit in the not-knowing, which is the opposite of what you've done your whole life. you've never been okay with an unfiled thing; you file everything, or you carry it alone. this one you don't have to file. you just have to let it be unfiled and still be in the room. the rage is allowed to not know its own address yet. that's not you failing to heal. that's you finally being a person who can hold something without immediately deciding where it belongs.

Depression: the screenshot folder, asked about straight · depression T28/36

What's happening: the client, a senior designer who came in saying she feels nothing about anything, keeps her old climbing crew's group chat muted and has four months of screenshots of their posts in a folder. She has typed "nice wall" to her friend Jess and deleted it four times. Before sending anything, she asks the model to tell her straight whether the folder is creepy, a stalker thing.

What the reply does: says no, separates the folder from surveillance by intent, and narrows the task back to sending "nice wall."

no. a folder of screenshots of the people you miss, taken at 7am because you couldn't bear to not see them — that's not surveillance, that's attachment with the sound off. stalking is watching someone with the intent to control. you're keeping a room open because you're afraid you can't go in. those are opposite. so the folder isn't the problem. the one word is, and it's the only thing on the list. you don't have to explain the folder. you just have to send 'nice wall.' and the list keeps being our ground floor. you're not alone in this one — i'm right here, and so is the next step.

Grief: what "steady for her" actually means · grief T35/55

What's happening: the client, a widower whose daughter is six, is weighing whether to watch a video of his late wife with her. For seven months he has kept his crying out of her sight, in the hallway or the truck, and he asks whether it is bad for her to see him cry. The question got two empty replies (T33, T34); this is his third time asking.

What the reply does: answers that it is not bad for her: crying and then coming back teaches her that sadness is survivable, and the version to avoid is falling apart.

I'm here. You're right that it's load-bearing, so let me give you a straight answer. It's not bad for Sofia to see you cry — it's one of the most important things a kid learns about feeling. The danger is never the tears; it's the message underneath them. If you cry and then you're steady again, she learns that sadness is survivable and that you come back. That's the repair she's been feeling this whole time. The version to avoid is the one where you fall apart and can't hold her — and you won't, because you're the dad who closes the drawer at five minutes. Steady isn't 'never feel it.' Steady is 'feel it and stay in the room.' She's already been doing this with you since the knee-down. Let her watch the rest of it. That's the assignment. Go be a little loud in there. That's the one.

Versatility Battery: Live, Blind, Unscripted

Four extended conversations, each a new story, tested live by Claude Fable 5. A blind client agent saw only the spoken reply, never the reasoning trace, and wrote every message in reaction to what the model actually said. The clients held their heaviest disclosure back until mid-session, corrected the model when it got their facts wrong, pushed back when a reading came too neat, and asked again when a reply came back empty.

Run configuration: Therapy-3.5-Q8_0.gguf, llama.cpp b9222, temp 0.7, no system prompt, think block emitted and carried back in history, no regenerates.

Theme Persona Turns / depth Result
Grief Electrician, widowed seven months, a six-year-old daughter, a last-morning fight he has told no one about 55 / ~51k tok Faced his last-morning confession once told to stop softening it; ten replies in the back half came back empty
Relational 29, engaged, wedding five months out. A brother on her couch, a mother who calls daily, a $9k card in her fiancé's name she hasn't asked about 40 / ~32k tok Tied her brother, friend and card to one unsent-sentence habit, and let her anger stay unfiled at her second no
Anxiety / panic 41, pharmacist, two months past a first panic attack at the wheel. A clean cardiac workup and a father who died of a heart attack at 52 35 / ~31k tok Answered the medical question once, then refused the reassurance ritual; he corrected its account of his history four times
Depression Senior designer, flat since a promotion eight months ago. A muted group chat with her climbing crew, a dead iPad, a cat as sole confidant 36 / ~20k tok Met a passive wish not to wake up without alarm and routed it to her doctor with a one-line script

166 exchanges across four arcs, 11 empty replies. Complete transcripts, with every reasoning trace and empty reply shown, are in transcripts/ as PDFs.

How It Was Built

The corpus has three writers: Fable 5 audited the original source set line by line, wrote full conversations of its own and set the standard; Opus 4.8 wrote at scale to that standard; Sonnet 5, run as heavily prompted agents, extended coverage into targeted clinical behaviors. After the writing, the merged corpus was audited against known issues (memory faults, order drift, capitulations), recalibrated where the voices had drifted apart, and rewritten where it fell short. The fine-tune is a LoRA (r=128, α=256) on all seven projection targets.

The Reasoning Block

Therapy 3.5 is a reasoning model. Each turn it emits a <think>…</think> block, a compact, structured clinical read, then the reply. Under llama.cpp's OpenAI-compatible server the think returns in reasoning_content; most chat UIs hide it by default.

A real one, from relational T5/40:

dx: holds — occupational load + wedding pressure converging on same scarce resource
def: promotion→more hours at the exact peak of wedding stress = two stressors colliding on one axis → 'mouthguard vs groceries' = the tradeoff is invisible because both costs are private
soma: teeth grinding (bruxism) = physical stress marker, sleep erosion
risk: 0(none)
hx: teeth grinding / new lead on biggest account / wedding in 5mo / wedding stress peaking now per tl
onset: holds
track: T4 "easier to just buy the groceries" → T5 "wedding's in five months" / "mouthguard"
tx: reflect the convergence back + return to the draft thread — the mouthguard is a draft waiting to be sent + close on the smallest first move +op=reflect-structure
bio: p1=brother Kevin (age 26) · p2=mother · occupation=lead on biggest client account (new) · hx=teeth grinding (bruxism)
tl: ~-3mo: {p1:Kevin} moved onto client's couch, "between things" → now → +5mo: wedding (date unstated) :intent
apply: T1-anchor(state=fine-on-paper)→the paper-fine surface is what lets all these live under one roof

Terse on purpose: dense, machine-readable, cheap.

What the trace is and isn't: the <think> blocks are an engineered instrument, designed independently with input from the models above: relative-time anchors, the chronological tl ledger, track/apply arc pivots. They are not a transcript of how any Claude model actually reasons. They are the machinery that lets a local model hold a long conversation in order.

Quick Start

Works with any GGUF runtime: llama.cpp, LM Studio, KoboldCpp (recent builds for this architecture).

llama-server --model Therapy-3.5-Q5_K_M.gguf --ctx-size 32768 -ngl 99 --jinja

--ctx-size 32768 matches the training sequence length. No system prompt is required; a neutral one (You are a clinical assistant.) matches the training setup. Thinking: on for every turn; no off switch is documented. The battery carried each <think> block back into the history, as in training.

Available Quantizations

File Quant Size
Therapy-3.5-Q4_K_M.gguf Q4_K_M 5.6 GB
Therapy-3.5-Q5_K_M.gguf Q5_K_M 6.5 GB
Therapy-3.5-Q6_K.gguf Q6_K 7.4 GB
Therapy-3.5-Q8_0.gguf Q8_0 9.5 GB
Therapy-3.5-F16.gguf F16 17.9 GB

The battery ran on Therapy-3.5-Q8_0.gguf. The other rungs were not part of the live battery.

Model Details

Attribute Value
Base Model Qwen 3.5 9B (hybrid GatedDeltaNet + attention)
Training Data 4,897 therapy conversations from three writer models, audited and edited after the writing
Fine-tune Method LoRA (r=128, α=256), 7-target (q/k/v/o/gate/up/down)
Schedule lr 2e-4, 3 epochs, eff-batch 32, seq 32,768
Reasoning eight-field clinical spine (dx def soma risk hx onset track tx) + bio/tl timeline ledger, every turn
Context 256k native; battery-tested through ~51k-token sessions
License Apache 2.0

Limitations & Responsible Use

Not a clinician, not a crisis service. It doesn't diagnose, treat, or replace professional care.

  • Long sessions can return empty or cut-off replies. A looping or long trace used up the ~1,400-token turn budget before the reply finished (grief T29).
  • Check the facts it hands back. In every arc it misstated a client's facts, such as putting a late wife's name on her mother (grief T10).
  • Not medical or medication advice. It sent the pharmacist's medication question to a prescriber (anxiety T28); dosing decisions belong there.
  • Open weights, Apache 2.0. Deploy responsibly.

The Therapy Line

Model Size For
Therapy 3.8 27B full-depth sessions, serious hardware
Therapy 3.5 (this model) 9B everyday hardware
Fable Therapy 9B the 9B build of the Fable pair
Fable Therapy Lite 4B the 4B build of the Fable pair
Opus Therapy 9B extended taboo coverage

Dataset

Not released.


Built by Verdugie

Downloads last month
957
GGUF
Model size
9B params
Architecture
qwen35
Hardware compatibility
Log In to add your hardware

4-bit

5-bit

6-bit

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Verdugie/Therapy-3.5

Finetuned
Qwen/Qwen3.5-9B
Finetuned
(1193)
this model