File size: 1,640 Bytes
b05542b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
---
title: Patient Virtuel · Hygiéniste Pro
emoji: 🦷
colorFrom: orange
colorTo: dark
sdk: gradio
sdk_version: 5.0
app_file: app.py
pinned: false
license: apache-2.0
---

# Patient Virtuel · Hygiéniste Pro

A voice-based French practice tool for dental hygienists. Roleplay a 60-minute hygiene session with a Swiss virtual patient, then receive structured grammar and vocabulary feedback.

**Backyard AI** — built for a real learner training at a Swiss clinic.

## How it works

1. Press the mic button and speak in French to the patient
2. The patient responds naturally, using Swiss-French regionalisms
3. When you say "Fin de la séance", the app switches to tutor mode
4. Receive a structured recap with corrections and explanations

## Model credits

- **LLM**: [Qwen/Qwen3.6-27B](https://huggingface.co/Qwen/Qwen3.6-27B) via Modal (A100 GPU) — Apache 2.0
- **TTS**: [mistralai/Voxtral-4B-TTS-2603](https://huggingface.co/mistralai/Voxtral-4B-TTS-2603) via Mistral API — CC-BY-NC 4.0 (non-commercial demo)
- **STT**: [faster-whisper-large-v3-turbo](https://github.com/SYSTRAN/faster-whisper) via Modal (A10G GPU) — MIT

## License disclaimer

The TTS model (Voxtral-4B-TTS-2603) is licensed under CC-BY-NC 4.0. This Space is a non-commercial demonstration. All other components are Apache 2.0 or MIT licensed.

## Environment variables

| Variable | Purpose |
|---|---|
| `MODAL_ENDPOINT_QWEN` | Modal endpoint for Qwen LLM |
| `MODAL_ENDPOINT_WHISPER` | Modal endpoint for Whisper STT |
| `MODAL_AUTH_TOKEN` | Shared auth token (matching Modal's EXPECTED_TOKEN) |
| `MISTRAL_API_KEY` | Mistral API key for Voxtral TTS |