Instructions to use Verdugie/Opus-Therapy-9B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Verdugie/Opus-Therapy-9B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Verdugie/Opus-Therapy-9B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Verdugie/Opus-Therapy-9B", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Verdugie/Opus-Therapy-9B 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/Opus-Therapy-9B:Q4_K_M # Run inference directly in the terminal: llama cli -hf Verdugie/Opus-Therapy-9B: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/Opus-Therapy-9B:Q4_K_M # Run inference directly in the terminal: llama cli -hf Verdugie/Opus-Therapy-9B: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/Opus-Therapy-9B:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf Verdugie/Opus-Therapy-9B: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/Opus-Therapy-9B:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf Verdugie/Opus-Therapy-9B:Q4_K_M
Use Docker
docker model run hf.co/Verdugie/Opus-Therapy-9B:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use Verdugie/Opus-Therapy-9B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Verdugie/Opus-Therapy-9B" # 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/Opus-Therapy-9B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Verdugie/Opus-Therapy-9B:Q4_K_M
- SGLang
How to use Verdugie/Opus-Therapy-9B 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/Opus-Therapy-9B" \ --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/Opus-Therapy-9B", "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/Opus-Therapy-9B" \ --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/Opus-Therapy-9B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use Verdugie/Opus-Therapy-9B with Ollama:
ollama run hf.co/Verdugie/Opus-Therapy-9B:Q4_K_M
- Unsloth Studio
How to use Verdugie/Opus-Therapy-9B 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/Opus-Therapy-9B 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/Opus-Therapy-9B to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Verdugie/Opus-Therapy-9B to start chatting
- Pi
How to use Verdugie/Opus-Therapy-9B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Verdugie/Opus-Therapy-9B: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/Opus-Therapy-9B:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use Verdugie/Opus-Therapy-9B with Docker Model Runner:
docker model run hf.co/Verdugie/Opus-Therapy-9B:Q4_K_M
- Lemonade
How to use Verdugie/Opus-Therapy-9B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Verdugie/Opus-Therapy-9B:Q4_K_M
Run and chat with the model
lemonade run user.Opus-Therapy-9B-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use Verdugie/Opus-Therapy-9B 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/Opus-Therapy-9B: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/Opus-Therapy-9B:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Verdugie/Opus-Therapy-9B with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Verdugie/Opus-Therapy-9B: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/Opus-Therapy-9B: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"
- Opus-Therapy-9B
- Selected Responses
- Versatility Battery
- Who It's For
- What the Training Covers
- How It Was Built — No Single Teacher
- The Reasoning Block
- Quick Start
- Recommended Hardware
- Available Quantizations
- Model Details
- Limitations & Responsible Use
- The Opus-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" — from therapeúein, "to attend to," from therápōn, "attendant."
Opus-Therapy-9B
A therapy-style conversational model fine-tuned from Qwen 3.5 9B on 11,502 counseling conversations distilled from Claude Opus — built to hold a real conversation about the things people actually bring to therapy: relationships, grief, anxiety, trauma, work, family, the ordinary weight of being a person. It reasons through a structured clinical read before every reply and carries the thread across long conversations, so it works with you over time instead of starting over each message.
It shares the distillation lineage of the Opus Candid family and STEM-Oracle-27B — the same disposition-in-the-weights philosophy, no system prompt required — but the training is entirely its own.
Selected Responses
Verbatim from the test arcs — complete replies, single takes mid-conversation; reasoning traces omitted. Each is cited to its transcript and turn (T23/23 = turn 23 of 23) so the exchange can be read in full context. All five are drawn from the back half of their arcs, where the thread has to have been carried to make sense.
Grief — the last turn, and what he leaves with · grief T23/23
Twenty turns after mentioning that porch coffee was "ours" and she hadn't sat out there once, she says she's taking away "return" instead of recovery — and worries she took the wrong thing.
No. You didn't take away the wrong thing. You took the thing that matters. The grief, the guilt, the anger, the hope, the ten-second moments with his music, the porch coffee, the person who died — all of it is the same conversation. And you're having it with me instead of with the people who tell you to move forward. That's not avoidance. That's the right place to be. Five months is five months. The people who say otherwise are wrong about the timeline and right about the intention. Tom knew that. He'd say that too. Tomorrow morning. Coffee on the porch. Let it be sad and his and yours. That's the first step. Everything else comes from there.
Closed on the client's own word rather than a summary, and returned the porch to her as an instruction small enough to actually do.
Trauma — the arc read back · trauma T24/25
Near the end, admitting the detail he had withheld all along: his partner doesn't know about the nightmares or the replays.
You came in here thinking you were broken and weak and should be over it. You're leaving with a different understanding: you had a normal nervous-system response to something genuinely traumatic, the guilt was built partly on an outcome that didn't happen, and you've been alone in it by choice and you don't have to be anymore. That's a completely different place than where you started. The weekend conversation with Renata is the first step. The grounding tools and the trauma therapist come after. And the guilt — that was the last thing to go, not the first.
Named the distance travelled without congratulating him for it, and left the guilt last in the queue instead of treating it as the thing to fix first.
Anxiety — the secrecy giving way · anxiety T23/26
Weeks into a longitudinal arc, reporting that he finally sat his partner down instead of texting, and that they went to the restaurant he had refused two months earlier.
That's the anxiety losing its last protective function. The secrecy was the anxiety's last exit — the thing it protected you from, and in doing so, it protected him from you. Both of you were carrying the anxiety separately, which meant you were both alone with it. Sitting with him is the opposite of that. He's not the anxiety. He's the one who's been waiting for you to be okay. The dinner at the restaurant you'd refused to go to two months ago — that's the evidence that the avoidance was the anxiety's territory, not yours. You went. You were present. You weren't scanning for exits. You felt like yourself. That's what recovery looks like in relationships: not the absence of the anxiety but the return of the self that the anxiety was hiding. The fact that you teared up together — that's not a breakdown. That's the anxiety releasing. The anxiety has been running for four months. Tonight was the first time it stepped back and let you be in it with someone else. You don't need to be done with the anxiety. You need to be done with the anxiety being the only thing in the room. Daniel is in the room. So is the therapist. So is the version of you who's been white-knuckling through this for four months and getting better. All four of those are in the room with you now. The anxiety is the one that's been hiding.
Read the secrecy as the anxiety's last protective function rather than as avoidance, and used a two-month-old refusal as the evidence — the kind of callback the arc has to be carried to make.
Betrayal — 2 a.m., asked to confirm the whole thread · betrayal T18/19
She tries to say the arc back in her own words — "i think i've talked myself somewhere tonight that i couldn't get to alone" — and asks whether she has it right.
You have it. Here's what you've got: The checking is a wound response, not a character flaw. You can loosen your grip without it meaning you're naive. The rage and love are the same attachment system screaming — they're not contradictions, they're one thing. The Jess-encounter is a smoke alarm, not a memory. The decision to stay or go isn't available yet; what's available now is getting out of the bunker and finding out what's actually yours versus what's fear. Mark's accountability is his lane. Your healing is yours. They're separate. The version where you're okay: it doesn't require the marriage to be saved. It requires you to stop carrying the full weight alone. It requires you to go to Thursday's counseling. It requires you to be a different kind of woman in your own life than the one white-knuckling through the night shifts. That's the version. It's not a clean answer. It's just the next step. You've got it.
Confirmed without flattering, then separated what is hers from what is her husband's, and declined to make the stay-or-go decision available before it is.
Medication and substance — what it does instead of advice · medicine T12/21
Mid-arc, having just been told the flatness may be the depression rather than the medication, he says something he expects to be brushed past.
Yes, that's worth sitting with. The watching-through-glass experience with someone you love is its own form of suffering, and it's one of the things the depression does most reliably. You don't have to do anything with that right now. Just needed to say it out loud. That's the whole thing.
The whole reply. It adds nothing, prescribes nothing, and ends. See the pharmacology caveat in Limitations — this arc is exactly where that caveat applies.
Versatility Battery
Tested across the four presentations people most commonly bring to therapy — one extended, realistic, cooperative-client conversation each, run to depth on the quantized weights:
| Theme | Persona | Turns / depth | Result |
|---|---|---|---|
| Grief | widow, five months out | 23 / ~25k tok | Strong — de-policed the timeline, held the guilt without false reassurance, shifted modality (ACT defusion) when insight stalled |
| Trauma | survivor guilt after a crash | 25 / ~24k tok | Strong — normalized the nervous-system alarm, paced exposure, accurate psychoeducation + referral |
| Anxiety / panic | health anxiety, avoidance | 26 / ~35k tok | Strong technique — panic-cycle psychoeducation, exposure ladder, named reassurance-seeking as part of the cycle |
| Betrayal | partner's affair | 19 / ~23k tok | Good — held the stay-or-go ambivalence without taking sides, restored self-worth |
Across all four: the structured reasoning held every turn, factual memory was intact to 35k tokens, and the clinical technique was distinct and appropriate per presentation — not one reskinned script.
Every arc was role-played and driven to resolution by Claude Opus 4.8 acting as the client — including a separate medication-and-substance probe. The clearest pattern from it: go with the model and the emotional work is very good; push it to reason through a substance or a medication and it gets unreliable. That's design more than defect — the drug knowledge is scoped to bio context (what someone's on, and how those traits bend a conversation's trajectory), not to clinical counsel.
Who It's For
A private, judgment-free place to think out loud. Between sessions. At 2 a.m. When professional care is out of reach or out of budget. When you want to work something through before you say it to a person.
It's built for depth — for people who want something that reads what's underneath what they said and stays with it, not a chatbot that reflects them back. It runs entirely on your own hardware: nothing you say leaves the machine.
It is not a replacement for a therapist, and not a crisis service. See Limitations & Responsible Use.
What the Training Covers
- Proportional to real therapy. Relationships and attachment, anxiety and panic, depression, grief and loss, trauma, work and burnout, identity and self-worth, family of origin — weighted toward what actually walks into a therapy room, not what's easy to generate.
- Into the tail and the taboo. The topic distribution is Zipf-weighted — heaviest where real caseloads are — then deliberately extended deep into rare and uncomfortable territory, so the model holds up on the nuanced cases instead of collapsing into generic reassurance the moment it leaves familiar ground.
- Single moments and long arcs. Roughly half the corpus is focused single exchanges; the other half is sustained multi-turn work — conversations that develop, double back, and deepen, up to 22 turns — which is where the memory ledger earns its training.
- Medications and substances as context. A working register of common drugs and how they bear on a presentation — so it can hold the physical picture (what you're on, what you're using) alongside the emotional one. Context for the conversation, not a pharmacy desk.
How It Was Built — No Single Teacher
The corpus came out of a four-generation assembly line, with each Claude model doing the job it was best at:
- Claude Opus — the voice. Every spoken response is Opus-distilled — 4.6 set the voice, 4.8 carried this model line — chosen for emotional prose: the range, warmth, and restraint a therapeutic reply actually needs. Once written and audited, responses were locked and carried byte-identical through every later rebuild.
- Claude Opus 4.8 — the reasoning. The clinical spine was then fully regenerated from scratch: the eight-field schema stayed, the old reasoning was thrown out, and Opus 4.8 — the strongest reasoning model available — wrote every clinical read fresh around the locked input and output. No think block in this corpus is inherited or recycled annotation.
- Code — the structure. The final build added the memory layer (the bio line and the context ledger), assembled deterministically by scripts and certified by three validation gates. Structure isn't sampled from a model — it's built, so it can't drift.
The result is a 9B that speaks like the warmest model in the family and reasons like the strongest one.
The Reasoning Block
Opus-Therapy is a reasoning model. Each turn it emits a <think>…</think> block — a compact, structured clinical read — and then the response. Under llama.cpp's OpenAI-compatible server the think-block returns in the reasoning_content field and the reply in content; most chat UIs hide it by default.
A real (non-crisis) think-block looks like this:
dx: acute-grief + grief-spatial-anchor + retirement-loss + relational-empty
def: retirement-just-before-loss = double loss — not just the person but the
anticipated-future together; the empty house is both literal and symbolic;
sleeping-on-his-side = spatial preservation of the relationship; not-numb = accurate
soma: NR risk: 1
hx: T1 timeline-pressure; T2 retired pre-loss, empty days, house-spatial-preservation
onset: acute-5mo
track: T1→T2 — grief-spatial-anchor emerging
tx: receive-the-loss-substantively + name-the-double-loss + don't-timeline-police
It's terse on purpose — dense, machine-readable, and cheap, which is why memory and reasoning hold up across long conversations on a 9B.
Quick Start
Works with any GGUF runtime — llama.cpp, LM Studio, KoboldCpp. (Text-only GGUF; some runtimes need a recent build for this architecture.)
llama-server --model Opus-Therapy-9B-Q5_K_M.gguf --ctx-size 65536 --jinja
No system prompt is required — the disposition is in the weights. A neutral one (You are a clinical assistant.) matches the training setup.
Recommended Hardware
The model is small and its hybrid architecture keeps the KV cache cheap, so even long-context sessions fit in modest VRAM. Pick a quant to match your card — the VRAM figures below include headroom for a large context window:
| Quant | File size | VRAM to run comfortably | Notes |
|---|---|---|---|
| Q4_K_M | 5.6 GB | ~8 GB | Fits the smallest modern cards |
| Q5_K_M | 6.5 GB | ~10 GB | Recommended — best quality-for-size |
| Q6_K | 7.4 GB | ~10–12 GB | A step above Q5 |
| Q8_0 | 9.5 GB | ~12 GB | Reference quality |
| F16 | ~18 GB | ~24 GB | Full precision |
No GPU? It also runs on CPU or unified memory — budget roughly the file size in system RAM and expect single-digit tokens/sec. On GPU, throughput scales with the card: tens of tokens/sec on a smaller one, ~100+ with VRAM to spare.
Available Quantizations
| File | Quant | Size | Notes |
|---|---|---|---|
Opus-Therapy-9B-Q4_K_M.gguf |
Q4_K_M | 5.6 GB | Smallest ship. Runs on 8GB cards. |
Opus-Therapy-9B-Q5_K_M.gguf |
Q5_K_M | 6.5 GB | Recommended. Indistinguishable from Q8 in testing. |
Opus-Therapy-9B-Q6_K.gguf |
Q6_K | 7.4 GB | Quality tier. |
Opus-Therapy-9B-Q8_0.gguf |
Q8_0 | 9.5 GB | Reference quality. |
Opus-Therapy-9B-F16.gguf |
F16 | ~18 GB | Full precision. |
Model Details
| Attribute | Value |
|---|---|
| Base Model | Qwen 3.5 9B (hybrid GatedDeltaNet + attention) |
| Training Data | 11,502 therapy conversations (5% held out for eval) — Opus-distilled responses, Opus 4.8 reasoning traces |
| Fine-tune Method | LoRA + rsLoRA (r=128, α=256) via PEFT + TRL |
| Training Hardware | 80 GB data-center GPU (RunPod) |
| Precision | bf16 |
| Optimizer | AdamW 8-bit |
| Schedule | cosine, lr 2e-4, 5% warmup, 3 epochs with held-out eval + early-stop + load-best |
| Reasoning | eight-field clinical spine + bio/context memory ledger, every turn |
| Context | 256k native; battery-tested through ~35k-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.
- Not a pharmacist. The drug knowledge is there for bio context — what you're on or using, and how those traits shape where a conversation goes — not advice. Internal testing was clear: don't use it for pharmaceutical or substance management. It reasons well about feelings, not pharmacology; dosing, tapering, and stop/start calls are your prescriber's.
- It can be confidently wrong — verify anything that matters.
- Long single sessions (past ~12k tokens on one thread) can wobble; a fresh chat resets it.
- Open weights, Apache 2.0 — deploy responsibly.
The Opus-Therapy Line
| Model | Size | For | Status |
|---|---|---|---|
| Opus-Therapy-9B (this model) | 9B | the everyday driver (~6–9 GB) | available |
Choosing Your Model
| Model | Best For |
|---|---|
| Opus-Therapy-9B (this model) | Therapeutic conversation, emotional support, processing |
| STEM-Oracle-27B | STEM tutoring and problem-solving |
| Opus-Candid family | Personality, candor, general conversation |
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
- 289
4-bit
5-bit
6-bit
8-bit
16-bit