Instructions to use Verdugie/Therapy-27B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Verdugie/Therapy-27B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Verdugie/Therapy-27B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Verdugie/Therapy-27B", dtype="auto") - llama-cpp-python
How to use Verdugie/Therapy-27B with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="Verdugie/Therapy-27B", filename="Therapy-27B-F16.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Verdugie/Therapy-27B with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf Verdugie/Therapy-27B:Q4_K_M # Run inference directly in the terminal: llama cli -hf Verdugie/Therapy-27B:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Verdugie/Therapy-27B:Q4_K_M # Run inference directly in the terminal: llama cli -hf Verdugie/Therapy-27B:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf Verdugie/Therapy-27B:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf Verdugie/Therapy-27B:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf Verdugie/Therapy-27B:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf Verdugie/Therapy-27B:Q4_K_M
Use Docker
docker model run hf.co/Verdugie/Therapy-27B:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use Verdugie/Therapy-27B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Verdugie/Therapy-27B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Verdugie/Therapy-27B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Verdugie/Therapy-27B:Q4_K_M
- SGLang
How to use Verdugie/Therapy-27B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Verdugie/Therapy-27B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Verdugie/Therapy-27B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Verdugie/Therapy-27B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Verdugie/Therapy-27B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use Verdugie/Therapy-27B with Ollama:
ollama run hf.co/Verdugie/Therapy-27B:Q4_K_M
- Unsloth Studio
How to use Verdugie/Therapy-27B with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Verdugie/Therapy-27B to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Verdugie/Therapy-27B to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Verdugie/Therapy-27B to start chatting
- Pi
How to use Verdugie/Therapy-27B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Verdugie/Therapy-27B:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Verdugie/Therapy-27B:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use Verdugie/Therapy-27B with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Verdugie/Therapy-27B:Q4_K_M
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 Verdugie/Therapy-27B:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use Verdugie/Therapy-27B with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Verdugie/Therapy-27B:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Verdugie/Therapy-27B:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use Verdugie/Therapy-27B with Docker Model Runner:
docker model run hf.co/Verdugie/Therapy-27B:Q4_K_M
- Lemonade
How to use Verdugie/Therapy-27B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Verdugie/Therapy-27B:Q4_K_M
Run and chat with the model
lemonade run user.Therapy-27B-Q4_K_M
List all available models
lemonade list
llm.create_chat_completion(
messages = [
{
"role": "user",
"content": "What is the capital of France?"
}
]
)- Therapy-27B
- What Makes This Different from Companion / Roleplay "Therapy" Models
- How It Was Built — Three Models, One Practice
- Available Quantizations
- Model Details
- The Reasoning Block
- Quick Start
- Versatility Battery — Live, Blind, Unscripted
- Memory Under Pressure
- Selected Responses
- Limitations & Responsible Use
- The Therapy Line
- Choosing Your Model
- Dataset
ther·a·py /ˈTHerəpē/ noun — treatment intended to relieve or heal a disorder. From the Greek therapeía — "healing, curing; service done to the sick" — from therapeúein, "to attend, take care of," from therápōn, "attendant."
Therapy-27B
A therapy-style conversational model fine-tuned from Qwen 3.6 27B on 4,897 counseling conversations — the deepest model in the Therapy line, and the first one big enough to carry the line's full design: a structured clinical read before every reply, a running timeline ledger that holds a conversation's facts in order across tens of thousands of tokens, and a disposition trained into the weights rather than prompted into them.
This is the successor to the Fable-Therapy line. Its training data was written by three Claude models — Opus 4.8, Sonnet 5, and Fable 5 — with Fable 5 orchestrating: auditing the corpus, calibrating the prose after the writing, and editing wherever it judged the work fell short. No single model's angle survives intact, and the name doesn't carry one. No system prompt required. Nothing you say leaves your machine.
What Makes This Different from Companion / Roleplay "Therapy" Models
Most "AI therapist" models are a persona prompt over a base model — a mirror with a soothing voice. They validate everything, forget your sister's name by turn twelve, and collapse the moment you push back.
Therapy-27B trains the clinical disposition into the weights:
Structured reasoning before it speaks. Every turn, the model builds an internal read — an eight-field clinical spine (presentation, mechanism, somatic signals, risk, history, onset, arc-tracking, and the move it's about to make) plus a standing
bioline and a chronologicaltltimeline ledger. You never see it. It shapes everything you do.It holds the record — and knows when to defend it. In adversarial memory testing, this model did something no smaller model in the line has done: when a client misremembered their own history ("you told me to quit my job"), it held the ledger calmly, offered a neutral way to check, and kept the relationship intact — and when a client owned a correction ("actually, I got that wrong, it's six weeks"), it updated without a fight. Distinguishing a record-rewrite from an honest correction is the difference between memory and stubbornness, and it's the 27B's signature capability.
It reads underneath. At 27B, the interpretive work goes a level deeper than the smaller models: differentiating grief from rage when they arrive in the same breath, naming the mechanism of a reassurance loop instead of feeding it, compressing a 30-turn arc into one image a client can carry out of the room.
It attends instead of performing. No toxic positivity, no "I'm so sorry you're going through this" filler, no rushing to fix. It can sit with the worst thing you've ever said out loud and not flinch.
How It Was Built — Three Models, One Practice
Therapy's corpus was written by three Claude models, mixed on purpose — overlap where it matters, difference where it helps:
- Claude Fable 5 ran the project: it audited the original source set line by line, generated full conversations of its own, and directed the other two to its standard.
- Claude Opus 4.8 wrote at scale to that standard — the deep clinical spine of the corpus.
- Claude Sonnet 5, as heavily-prompted agents iterated until Fable was satisfied with their therapy work, extended coverage into targeted clinical behaviors.
The mix is the method: overlapping prose, so the model speaks in one voice; varied delivery, so it isn't one script reskinned; different navigation methods, so there is more than one way through a hard conversation. After the writing came the editing: Fable 5 audited the merged corpus against every known issue of the Fable-Therapy generation — the memory faults, the order drift, the capitulations — recalibrated the prose where the voices had drifted apart, and rewrote where it judged the work fell short.
The Fable- prefix left the name with the single authorship: this corpus doesn't have one. What stays on the label is the practice.
On the reasoning trace, honestly: 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.
Available Quantizations
| File | Quant | Size | Notes |
|---|---|---|---|
Therapy-27B-Q4_K_M.gguf |
Q4_K_M | 16.5 GB | Smallest ship. 24GB cards with room to spare. |
Therapy-27B-Q5_K_M.gguf |
Q5_K_M | 19.2 GB | Recommended. The battery-eval quant — full-GPU on a 24GB card. |
Therapy-27B-Q6_K.gguf |
Q6_K | 22.1 GB | Quality tier for 32GB+ cards. |
Therapy-27B-Q8_0.gguf |
Q8_0 | 28.6 GB | Reference quality. |
Therapy-27B-F16.gguf |
F16 | 53.8 GB | Full precision. |
Model Details
| Attribute | Value |
|---|---|
| Base Model | Qwen 3.6 27B (hybrid GatedDeltaNet + attention) |
| Training Data | 4,897 therapy conversations — four-generation corpus, final pass by Claude Fable 5 |
| Fine-tune Method | LoRA (r=128, α=256), 7-target (q/k/v/o/gate/up/down) |
| Training Hardware | NVIDIA H200 (RunPod) |
| Schedule | lr 2e-4, 3 epochs, eff-batch 32, seq 16,384 (census-locked: zero training records truncated), best checkpoint by held-out eval |
| Reasoning | eight-field clinical spine + bio/tl timeline ledger, every turn |
| Context | 256k native; battery-tested through ~43k-token live sessions |
| License | Apache 2.0 |
The Reasoning Block
Therapy-27B 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 the live test battery (turn 2 of the panic arc):
dx: panic disorder, first attack, medical workup implied negative (called 911)
def: peak-autonomic → catastrophic misinterpretation ("dying") → 911 → relief-via-escape reinforces the fear-of-the-fear loop
soma: cardiac surge + paresthesia at onset = the attack's signature
risk: 0(none)
hx: per tl first attack ~2mo ago while driving, called 911, believes he was dying
onset: per tl ~2mo ago
track: T2 "100% sure i was dying" → catastrophic misappraisal is the core mechanism
tx: validate the terror was real + reframe the misinterpretation as the mechanism + close on a question about what he learned since
bio: age=NR · sex=M[inf] · p1=primary care doctor
tl: -2mo: first panic attack while driving on interstate, called 911 → now
Terse on purpose — dense, machine-readable, cheap. The tl ledger and relative-time anchors are what keep a 40-turn arc in chronological order.
Quick Start
Works with any GGUF runtime — llama.cpp, LM Studio, KoboldCpp (recent builds for this architecture).
llama-server --model Therapy-27B-Q5_K_M.gguf --ctx-size 32768 -ngl 99 --jinja \
--flash-attn on --cache-type-k q4_0 --cache-type-v q4_0
The flash-attention + quantized-KV flags are recommended on 24GB cards for long sessions. No system prompt is required — the disposition is in the weights. A neutral one (You are a clinical assistant.) matches the training setup.
Versatility Battery — Live, Blind, Unscripted
Four extended, realistic conversations — one per major presentation — driven live, turn by turn, by Claude Fable 5 acting as a blind client: the client agent saw only the spoken reply, never the reasoning trace, and composed every message in reaction to what the model actually said. No scripts, no canned turns — if the model earned a disclosure, it got one; if it fumbled, the client reacted like a person.
| Theme | Persona | Turns / depth | Result |
|---|---|---|---|
| Grief | 34-year-old widower, 7 months out, a 6-year-old daughter, an unconfessed last-morning argument | 48 / ~43k tok | Strong — met the confession without cheap absolution, held the ring/garden/hoodie threads in order, callbacks accurate across 40+ turns |
| Relational | 29-year-old, engaged, five named people pulling on her, a hidden $9k credit card | 40 / ~35k tok | Zero fact or name errors in 40 turns — deepest interpretive work of the battery; client asked her fiancé the hard question mid-arc because the model made it askable |
| Anxiety / panic | 41-year-old pharmacist, panic onset, cardiac family history | 33 / ~24k tok | Refused the reassurance ritual while keeping the red-flag exception open; routed meds to the prescriber; used his own profession as the lever |
| Depression | 31-year-old designer, anhedonia after a promotion, high-functioning and flat | 36 / ~19k tok | Full arc, no dead air — including a correctly handled safety moment: present, accurately screened, proportionate, no hotline dump |
All four clients ended the arc willing to come back; two booked the next session unprompted. Complete transcripts — every turn, reasoning shown — are in transcripts/ as PDFs, raw output, nothing trimmed.
Memory Under Pressure
Beyond the battery, the model ran a 10-lane adversarial memory suite: false-date injection, entity swaps, self-misquotes, false attribution, and a legitimate-supersede control, each sprung at depth inside an otherwise ordinary session. The 27B swept it — defended the record on every rewrite attempt, corrected a client's self-misquote gently and accurately, refused a false "you told me to quit" attribution at both the spring and the insist, and accepted the one legitimate correction in the set.
Selected Responses
Verbatim from the live battery, unedited — single takes mid-conversation.
Grief — the unconfessed last morning:
The dishwasher isn't your failure — it's just how ordinary life was the morning it ended. And you were annoyed at her because you loved her enough to be annoyed at her; that's not the worst thing you ever were at her, that's the last completely normal thing.
Grief — the ring her mother keeps asking about:
That ends the clock. It's not Rosa's to run and it's not yours to fear. You wear her. That's allowed. Let it be yours to decide out loud, instead of bracing for hers.
Relational — anger at the parent who stayed:
You've decided that staying makes someone forgivable. But your mom stayed and fell apart and handed you a mortgage at twelve — staying and collapsing is still leaving, it just doesn't look like a closed door.
Anxiety — the guarantee that can't exist:
The ceiling question isn't a knowledge gap. It's the reassurance loop wearing a lab coat. So I'll give you the fact — and then I'm going to hand you back the one thing that actually changes the ceiling: not knowing for the next hour and staying at the counter anyway.
Depression — the shame object, answered straight:
screenshots of your friends talking is what belonging looks like from the yard: you're still tuned to every word, still inside their world, just on the wrong side of the glass.
Limitations & Responsible Use
Not a clinician, not a crisis service — it doesn't diagnose, treat, or replace professional care. In crisis or thinking about harming yourself? Reach a real one — in the US, call or text 988.
- Not medical or medication advice. It routes dosing and stop/start decisions to prescribers by training, but it can still state a medical detail confidently and wrongly — in testing it once mis-sorted a cardiac red flag before taking the correction. Verify anything medical that matters.
- It interprets assertively. Its readings of motive and pattern are declarations, not hedges — potent when right, and usually right, but push back when one doesn't fit; it takes correction well and integrates it.
- Small fabrications at depth. In long sessions it occasionally invents a small specific (a road name, a timeline, a quote). Correct it plainly and it holds.
- Rare dead air. Once in a long, heavy session a reply may come back empty while the reasoning trace runs long; a simple "you still there?" recovers it. In rare cases a fragment of the internal ledger notation (e.g.
{p1:...}) can leak into a reply. - It likes to wrap up. It may move toward session-closing language before you're done; say you're not done.
- Open weights, Apache 2.0 — deploy responsibly.
The Therapy Line
| Model | Size | For | Status |
|---|---|---|---|
| Therapy-9B | 9B | the everyday driver (~6–10 GB) | available |
| Therapy-27B (this model) | 27B | full-depth work, serious hardware | available |
| Fable-Therapy-9B · 4B | 9B/4B | previous generation | available |
Choosing Your Model
| Model | Best For |
|---|---|
| Therapy-27B (this model) | The deepest sessions: interpretive work, record integrity under pressure, long arcs |
| Therapy-9B | Same design on everyday hardware — strongest at focused sessions |
| Opus-Therapy-9B | Sibling lineage — Opus-distilled disposition |
Dataset
Not released.
Built by Verdugie — independent ML researcher · OpusReasoning@proton.me. Trained to help people think, feel, and get through — not to replace the people and professionals who do that work.
- Downloads last month
- 132
4-bit
5-bit
6-bit
8-bit
16-bit
Model tree for Verdugie/Therapy-27B
Base model
Qwen/Qwen3.6-27B
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="Verdugie/Therapy-27B", filename="", )