Initial commit: Documentation Effi v1.0
- 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
This commit is contained in:
@@ -0,0 +1,187 @@
|
||||
## 📋 Résumé Complet du Thread
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ Infrastructure
|
||||
|
||||
|Machine|IP|Rôle|GPU/CPU|
|
||||
|---|---|---|---|
|
||||
|**folzo-Corp**|192.168.1.11|PC gaming / STT+TTS|AMD RX 7800 XT (gfx1100)|
|
||||
|**effi-server**|192.168.1.27|Serveur IA principal|CPU Intel 4 cores / 7.6GB RAM|
|
||||
|**PC Gaming Ollama**|variable|LLM Ollama|GPU dédié|
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Objectif du Thread
|
||||
|
||||
Faire tourner Whisper (STT) sur la RX 7800 XT de folzo-Corp via ROCm, en construisant CTranslate2-ROCm depuis les sources (speaches), puis migrer le TTS (openedai-speech) d'effi-server vers folzo-Corp pour libérer le CPU.
|
||||
|
||||
---
|
||||
|
||||
## 🔨 Étapes Réalisées
|
||||
|
||||
## 1. Build CTranslate2-ROCm pour speaches
|
||||
|
||||
**Problème initial :** `RuntimeError: Conv1D on GPU currently requires the cuDNN library which is not integrated in this build`
|
||||
|
||||
**Cause :** CTranslate2-ROCm compilé sans support MIOpen (équivalent ROCm de cuDNN)
|
||||
|
||||
**Solution :** Dockerfile custom `~/speaches/src/Dockerfile.rocm-ct2` avec :
|
||||
|
||||
text
|
||||
|
||||
`-DWITH_CUDNN=ON -DCUDnn_INCLUDE_DIR=/opt/rocm-6.3.4/include -DCUDnn_LIBRARY=/opt/rocm-6.3.4/lib/libMIOpen.so`
|
||||
|
||||
Image base : `rocm/dev-ubuntu-24.04:6.3.4-complete`
|
||||
Source CTranslate2 : `github.com/arlo-phoenix/CTranslate2-rocm`
|
||||
|
||||
---
|
||||
|
||||
## 2. Erreur Architecture GPU Incorrecte
|
||||
|
||||
**Problème :** `RuntimeError: parallel_for failed: hipErrorInvalidDeviceFunction: invalid device function`
|
||||
|
||||
**Cause :** Build compilé pour `gfx1101` mais la RX 7800 XT est `gfx1100`
|
||||
|
||||
**Diagnostic :**
|
||||
|
||||
bash
|
||||
|
||||
`docker run --device /dev/kfd --device /dev/dri \ -e HSA_OVERRIDE_GFX_VERSION=11.0.0 speaches:rocm-ct2 \ /opt/rocm-6.3.4/bin/rocminfo | grep -E "gfx|Name" # → gfx1100 (AMD Radeon RX 7800 XT)`
|
||||
|
||||
**Fix :**
|
||||
|
||||
bash
|
||||
|
||||
`sed -i 's/gfx1101/gfx1100/g' ~/speaches/src/Dockerfile.rocm-ct2 cd ~/speaches/src docker build -f Dockerfile.rocm-ct2 -t speaches:rocm-ct2 .`
|
||||
|
||||
---
|
||||
|
||||
## 3. Transcription fonctionnelle (CPU en attendant rebuild)
|
||||
|
||||
Après le premier build, speaches fonctionne en CPU (fallback) :
|
||||
|
||||
- `200 OK` sur `/v1/audio/transcriptions`
|
||||
|
||||
- Langue `fr` détectée à 99%
|
||||
|
||||
- RTF > 1 (13s pour 5.4s audio) → confirme CPU, pas GPU
|
||||
|
||||
- ONNX Runtime cherche `libcublasLt.so.12` (CUDA) → warning non bloquant, fallback CPU automatique
|
||||
|
||||
|
||||
**Rebuild avec gfx1100 en cours** pour activer l'accélération GPU (~10x plus rapide attendu).
|
||||
|
||||
---
|
||||
|
||||
## 4. Problème réseau effi-server
|
||||
|
||||
**Symptômes :** Interface filaire effi-server plantée après reboot, OpenWebUI inaccessible
|
||||
|
||||
**Diagnostic :**
|
||||
|
||||
text
|
||||
|
||||
`conflict detected for IP address 192.168.1.11 with host 5C:87:9C:65:95:23`
|
||||
|
||||
**Cause :** Conflit DHCP — deux machines avec la même IP `192.168.1.11`
|
||||
|
||||
**Fix court terme :** `nmcli device disconnect enp6s0 && nmcli device connect enp6s0`
|
||||
|
||||
**Fix permanent recommandé :** Réservations DHCP par MAC sur le routeur + `ethtool wol g` pour la carte Realtek RTL8111
|
||||
|
||||
---
|
||||
|
||||
## 5. OpenWebUI lent / erreurs 500
|
||||
|
||||
**Symptômes :** `500: Open WebUI: Server Connection Error`, lenteur UI
|
||||
|
||||
**Diagnostic :**
|
||||
|
||||
text
|
||||
|
||||
`ERROR: open_webui.routers.ollama: Connection error`
|
||||
|
||||
**Cause :** Ollama inaccessible — le PC gaming était éteint. Le `wol-proxy` sur effi-server assure le Wake-on-LAN mais le PC n'avait pas répondu à temps.
|
||||
|
||||
**Architecture WOL :**
|
||||
|
||||
text
|
||||
|
||||
`OpenWebUI → port 3011 effi → wol-proxy → WOL magic packet → PC Gaming → proxy TCP vers 11434`
|
||||
|
||||
---
|
||||
|
||||
## 6. Deux processus zombies sur effi-server
|
||||
|
||||
Détectés via `ps aux` :
|
||||
|
||||
text
|
||||
|
||||
`[mcpo] <defunct> [python] <defunct>`
|
||||
|
||||
**Fix :**
|
||||
|
||||
bash
|
||||
|
||||
`docker restart mcpo`
|
||||
|
||||
---
|
||||
|
||||
## 7. Migration openedai-speech → folzo-Corp
|
||||
|
||||
**Raison :** `openedai-speech` consommait ~100% CPU sur effi-server (1.06GB RAM, CPU intensif)
|
||||
|
||||
**Étapes :**
|
||||
|
||||
bash
|
||||
|
||||
`# Arrêt sur effi docker compose stop openedai-speech && docker compose rm -f openedai-speech # Copie des données depuis folzo-Corp scp -r effi@192.168.1.27:~/effi/tts-voices ~/openedai-speech/ scp -r effi@192.168.1.27:~/effi/tts-config ~/openedai-speech/`
|
||||
|
||||
**Contenu transféré :** modèles XTTS (~1.8GB), voix WAV (alloy/echo/nova/shimmer/fable/onyx), modèles ONNX piper, configs YAML
|
||||
|
||||
**Problème group_add :** `Unable to find group render: no matching entries in group file`
|
||||
|
||||
**Fix :** Utiliser GID numériques au lieu des noms :
|
||||
|
||||
text
|
||||
|
||||
`group_add: - "44" # video - "991" # render`
|
||||
|
||||
---
|
||||
|
||||
## 📁 Fichiers Clés
|
||||
|
||||
text
|
||||
|
||||
`folzo-Corp: ├── ~/speaches/ │ ├── src/Dockerfile.rocm-ct2 # Build CTranslate2 gfx1100 + MIOpen │ └── docker-compose.yml # speaches-stt:8200 └── ~/openedai-speech/ ├── docker-compose.yml # TTS ROCm gfx1100 ├── tts-voices/ # Voix XTTS + ONNX └── tts-config/ # voice_to_speaker.yaml etc. effi-server: └── ~/effi/docker-compose.yml # OpenWebUI + WOL + n8n + qdrant...`
|
||||
|
||||
---
|
||||
|
||||
## ✅ État Final des Services
|
||||
|
||||
|Service|Hôte|Port|État|Notes|
|
||||
|---|---|---|---|---|
|
||||
|**speaches-stt**|folzo-Corp|8200|✅ Fonctionne|CPU actuellement, rebuild gfx1100 pending|
|
||||
|**openedai-speech**|folzo-Corp|8100|✅ Démarré|ROCm gfx1100, group_add 44+991|
|
||||
|**OpenWebUI**|effi-server|3000|✅ Fonctionne|Pointé STT+TTS vers 192.168.1.11|
|
||||
|**wol-proxy**|effi-server|3011|✅ Fonctionne|Proxy Ollama + WOL PC gaming|
|
||||
|**n8n**|effi-server|5678|✅ Running||
|
||||
|**qdrant**|effi-server|6333|✅ Running|Vector store RAG|
|
||||
|**pipelines**|effi-server|9099|✅ Running|mem0 memory|
|
||||
|**couchdb**|effi-server|5984|✅ Running|Obsidian LiveSync|
|
||||
|**mcpo**|effi-server|8000|⚠️ Zombie détecté|Redémarré|
|
||||
|
||||
---
|
||||
|
||||
## 🔜 Prochaines Étapes
|
||||
|
||||
1. **Finaliser rebuild speaches gfx1100** → activer GPU sur Whisper large-v3
|
||||
|
||||
2. **Tester TTS ROCm** → vérifier que openedai-speech utilise bien la RX 7800 XT
|
||||
|
||||
3. **Mettre à jour l'URL TTS** dans OpenWebUI Admin → Audio → `http://192.168.1.11:8100`
|
||||
|
||||
4. **Réservations DHCP** sur le routeur pour fixer les IPs de façon permanente
|
||||
|
||||
5. **Tester pipeline vocal complet** : micro → STT folzo → OpenWebUI effi → LLM Ollama → TTS folzo → speaker
|
||||
Reference in New Issue
Block a user