Spaces:
Sleeping
Sleeping
Polish README with repo and eval links
Browse files
README.md
CHANGED
|
@@ -37,38 +37,79 @@ models:
|
|
| 37 |
|
| 38 |
# Decompress
|
| 39 |
|
| 40 |
-
Decompress is a calm
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
probability, then the controller waits, backchannels, or responds at the pause.
|
| 45 |
|
| 46 |
-
|
|
|
|
| 47 |
|
| 48 |
-
This is
|
| 49 |
-
|
| 50 |
-
tasks. It gives one grounded next step and cites the source used by the RAG
|
| 51 |
-
retriever. It is wellness support only, not medical advice, diagnosis, therapy,
|
| 52 |
-
or crisis care.
|
| 53 |
|
| 54 |
-
##
|
| 55 |
|
| 56 |
-
|
| 57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
- **Cohere:** `CohereLabs/cohere-transcribe-03-2026` powers push-to-talk voice
|
| 59 |
-
input
|
| 60 |
-
- **Modal:** MiniCPM and Cohere ASR
|
| 61 |
-
|
| 62 |
-
- **
|
| 63 |
-
- **
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
|
| 73 |
## Links
|
| 74 |
|
|
|
|
| 37 |
|
| 38 |
# Decompress
|
| 39 |
|
| 40 |
+
Decompress is a calm five-minute voice/text check-in companion. It is built for
|
| 41 |
+
the practical Backyard track: after a stressful moment, the app listens without
|
| 42 |
+
over-talking, gives a small backchannel when appropriate, and responds at the
|
| 43 |
+
pause with one grounded next step.
|
|
|
|
| 44 |
|
| 45 |
+
Live app: https://build-small-hackathon-decompress.hf.space<br>
|
| 46 |
+
GitHub repo: https://github.com/Hcoder10/whentospeak
|
| 47 |
|
| 48 |
+
This is wellness support only. It is not medical advice, diagnosis, therapy, or
|
| 49 |
+
crisis care.
|
|
|
|
|
|
|
|
|
|
| 50 |
|
| 51 |
+
## Why It Feels Less Robotic
|
| 52 |
|
| 53 |
+
The same WhenToSpeak controller from Pitch or Perish drives the timing. It does
|
| 54 |
+
not train a supervised turn-taking head. MiniCPM exposes the signals it already
|
| 55 |
+
has during inference: predictive surprise, hidden-state deltas, reply readiness,
|
| 56 |
+
and turn-end probability. The controller decides whether to stay silent,
|
| 57 |
+
backchannel, hold, or answer.
|
| 58 |
+
|
| 59 |
+
In the cached live-model timing eval, the controller reaches F1 `0.788` versus
|
| 60 |
+
`0.696` for the best baseline. The ablation is surprise-only `0.500`,
|
| 61 |
+
+readiness `0.538`, +change-point `0.563`, and full turn-end handling `0.788`.
|
| 62 |
+
|
| 63 |
+
## Backyard Stack
|
| 64 |
+
|
| 65 |
+
- **OpenBMB:** `openbmb/MiniCPM3-4B` is the load-bearing brain for NLL, hidden
|
| 66 |
+
states, readiness, turn-end probability, and generated companion replies.
|
| 67 |
- **Cohere:** `CohereLabs/cohere-transcribe-03-2026` powers push-to-talk voice
|
| 68 |
+
input, then the exact same text-streamed controller runs.
|
| 69 |
+
- **Modal:** protected A10 endpoints host MiniCPM and Cohere ASR with cached
|
| 70 |
+
weights.
|
| 71 |
+
- **Kokoro:** `hexgrad/Kokoro-82M` speaks the companion line from the Space CPU.
|
| 72 |
+
- **RAG:** `sentence-transformers/all-MiniLM-L6-v2` retrieves from a small,
|
| 73 |
+
cited, open-access wellness corpus.
|
| 74 |
+
- **OpenAI:** the public repo history is Codex-attributed.
|
| 75 |
+
|
| 76 |
+
The app uses small weights: MiniCPM3-4B for the brain, a 2B Cohere ASR model,
|
| 77 |
+
Kokoro-82M for speech, and a compact local embedder.
|
| 78 |
+
|
| 79 |
+
## Grounding Sources
|
| 80 |
+
|
| 81 |
+
The corpus is intentionally small and conservative. The UI cites retrieved
|
| 82 |
+
sources from WHO, NHS Every Mind Matters, NIH NCCIH, University of Rochester
|
| 83 |
+
Medical Center, and Scientific Reports. Suggestions are phrased as practical
|
| 84 |
+
stress-management steps, not medical claims.
|
| 85 |
+
|
| 86 |
+
## How It Works
|
| 87 |
+
|
| 88 |
+
1. Type a check-in or record one with the mic.
|
| 89 |
+
2. Cohere Transcribe converts voice clips to English text.
|
| 90 |
+
3. The check-in is streamed as word groups through MiniCPM on Modal.
|
| 91 |
+
4. The training-free controller decides whether Decompress should wait,
|
| 92 |
+
backchannel, hold, or take the floor.
|
| 93 |
+
5. The final reply is short, spoken with Kokoro, and shown beside citations.
|
| 94 |
+
|
| 95 |
+
## Run Locally
|
| 96 |
+
|
| 97 |
+
The public Space is the intended demo. Local UI runs need the protected Modal
|
| 98 |
+
endpoint URL/token in environment variables or Space secrets.
|
| 99 |
+
|
| 100 |
+
```bash
|
| 101 |
+
uv sync
|
| 102 |
+
uv run python apps/decompress/app.py
|
| 103 |
+
```
|
| 104 |
+
|
| 105 |
+
Expected environment for the live backend:
|
| 106 |
+
|
| 107 |
+
```text
|
| 108 |
+
DECOMPRESS_BRAIN_ENDPOINT_URL
|
| 109 |
+
DECOMPRESS_BRAIN_ENDPOINT_TOKEN
|
| 110 |
+
DECOMPRESS_TRANSCRIBE_ENDPOINT_URL
|
| 111 |
+
DECOMPRESS_TRANSCRIBE_ENDPOINT_TOKEN
|
| 112 |
+
```
|
| 113 |
|
| 114 |
## Links
|
| 115 |
|