- Structure complète du projet - Docker compose de production - Documentation organisée par thèmes - Guides d'installation et configuration - Section dépannage détaillée - Journal historique
129 lines
3.7 KiB
Markdown
129 lines
3.7 KiB
Markdown
## 1. STT – Speaches (Whisper) sur folzo-Corp
|
||
|
||
## Conteneur Docker `speaches-stt` (folzo-Corp)
|
||
|
||
Fichier `~/speaches/docker-compose.yml` :
|
||
|
||
text
|
||
|
||
`services:
|
||
speaches:
|
||
image: speaches:rocm-ct2
|
||
container_name: speaches-stt
|
||
restart: unless-stopped
|
||
ports:
|
||
- "8200:8000"
|
||
devices:
|
||
- /dev/kfd
|
||
- /dev/dri
|
||
group_add:
|
||
- "44"
|
||
- "991"
|
||
security_opt:
|
||
- seccomp=unconfined
|
||
environment:
|
||
- HSA_OVERRIDE_GFX_VERSION=11.0.0
|
||
- WHISPER__MODEL=deepdml/faster-whisper-large-v3-turbo-ct2
|
||
- WHISPER__LANGUAGE=fr
|
||
- WHISPER__COMPUTE_TYPE=float32
|
||
- WHISPER__DEVICE=auto
|
||
volumes:
|
||
- speaches-models:/root/.cache/huggingface
|
||
|
||
speaches-init:
|
||
image: curlimages/curl:latest
|
||
container_name: speaches-init
|
||
restart: "no"
|
||
depends_on:
|
||
- speaches
|
||
entrypoint: >
|
||
sh -c "sleep 5 &&
|
||
curl -sf -X POST http://speaches:8000/v1/models/deepdml%2Ffaster-whisper-large-v3-turbo-ct2 &&
|
||
echo 'Modèle enregistré'"
|
||
|
||
volumes:
|
||
speaches-models:
|
||
`
|
||
|
||
Points importants :
|
||
|
||
- Modèle STT : `deepdml/faster-whisper-large-v3-turbo-ct2` (CT2, turbo).[](https://huggingface.co/deepdml/faster-whisper-large-v3-turbo-ct2)
|
||
|
||
- Langue forcée : `WHISPER__LANGUAGE=fr`.
|
||
|
||
- Compute type CPU : `float32` (évite les erreurs int8).
|
||
|
||
- `speaches-init` enregistre le modèle au démarrage via `POST /v1/models/...`.
|
||
|
||
|
||
Commandes de déploiement :
|
||
|
||
bash
|
||
|
||
`cd ~/speaches sudo docker compose up -d`
|
||
|
||
---
|
||
|
||
## 2. TTS – openedai-speech + Piper FR sur folzo-Corp
|
||
|
||
## Fichiers de voix Piper
|
||
|
||
Dans `~/openedai-speech/tts-voices` :
|
||
|
||
bash
|
||
|
||
`cd ~/openedai-speech/tts-voices wget https://huggingface.co/rhasspy/piper-voices/resolve/main/fr/fr_FR/upmc/medium/fr_FR-upmc-medium.onnx wget https://huggingface.co/rhasspy/piper-voices/resolve/main/fr/fr_FR/upmc/medium/fr_FR-upmc-medium.onnx.json`
|
||
|
||
## Config openedai-speech
|
||
|
||
Fichier `~/openedai-speech/tts-config/config.yaml` (partie utile) :
|
||
|
||
text
|
||
|
||
`tts-1: alloy: model: voices/fr_FR-upmc-medium.onnx speaker: 0 # 0 = Jessica, 1 = Pierre (tu peux changer si besoin) tts-1-hd: alloy: model: xtts speaker: voices/alloy.wav # … autres voix XTTS inchangées`
|
||
|
||
- `tts-1` = backend Piper (CPU), voix par défaut **alloy** ↦ modèle FR `fr_FR-upmc-medium`.
|
||
|
||
- L’ancienne config `tts-1-hd` (XTTS GPU) reste, mais n’est plus utilisée.
|
||
|
||
|
||
Docker compose (rappel) :
|
||
|
||
text
|
||
|
||
`services: openedai-speech: image: ghcr.io/matatonic/openedai-speech container_name: openedai-speech restart: unless-stopped ports: - "8100:8000" volumes: - ./tts-voices:/app/voices - ./tts-config:/app/config devices: - /dev/kfd - /dev/dri group_add: - "44" - "991" environment: - HSA_OVERRIDE_GFX_VERSION=11.0.0 - HIP_VISIBLE_DEVICES=0`
|
||
|
||
Redémarrage :
|
||
|
||
bash
|
||
|
||
`cd ~/openedai-speech sudo docker compose restart openedai-speech`
|
||
|
||
---
|
||
|
||
## 3. Configuration Open WebUI (effi-server)
|
||
|
||
Dans **Admin Panel → Settings → Audio** :
|
||
|
||
- **STT Engine** : `OpenAI`
|
||
|
||
- **STT URL** : `http://192.168.1.11:8200/v1`
|
||
|
||
- **STT Model** : `deepdml/faster-whisper-large-v3-turbo-ct2`
|
||
|
||
- **TTS Engine** : `OpenAI`
|
||
|
||
- **TTS URL** : `http://192.168.1.11:8100/v1`
|
||
|
||
- **TTS Model** : `tts-1`
|
||
|
||
- **Voice / Speaker** : `alloy` (qui correspond à `fr_FR-upmc-medium` côté Piper)
|
||
|
||
|
||
C’est cette combinaison qui donne :
|
||
|
||
- STT rapide, précis en français (large-v3-turbo CT2 sur GPU).
|
||
|
||
- TTS français fluide, léger côté CPU (Piper `fr_FR-upmc-medium`).[](https://huggingface.co/rhasspy/piper-voices/tree/main/fr/fr_FR/upmc/medium)
|
||
|
||
- GPU principalement utilisé par les LLM (qwen/ministral, bge-m3), plus de charge « fantôme » après les échanges. |