From d6a2bcd379350692dac9a2ceee22302f1600caea Mon Sep 17 00:00:00 2001 From: Folzo Date: Sun, 5 Apr 2026 09:39:22 +0200 Subject: [PATCH] docs: Update README.md with current configuration - Update LLM from qwen2.5:14b to qwen3.5:9b (32K context) - Remove CouchDB, mcpo, pipelines from architecture (services removed) - Fix memory section: manual memory instead of mem0/auto-memory - Fix STT: Whisper runs on CPU (ROCm build failed) - Fix TTS: XTTS with nova voice (not Piper) - Add note about removed services and link to full history - Update service count: 7 active services - Add reference to HISTORIQUE-COMPLET-EFFI.md --- README.md | 116 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 69 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 9cf7f4e..fbd10b6 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ Effi est un assistant IA personnel **100% auto-hΓ©bergΓ©**, avec mΓ©moire persis ## 🎯 Objectifs - **Assistant conversationnel** avec personnalitΓ© joyeuse et mΓ©canismes de mΓ©moire -- **Discussion vocale complΓ¨te** : Speech-to-Text (Whisper) + Text-to-Speech (Piper/XTTS) -- **MΓ©moire persistante** entre les sessions via filtres OpenWebUI -- **IntΓ©gration Obsidian** pour la prise de notes et la synchronisation -- **Automatisation** via n8n et protocole MCP -- **Infrastructure entiΓ¨rement locale** - aucun appel API externe +- **Discussion vocale complΓ¨te** : Speech-to-Text (Whisper) + Text-to-Speech (XTTS) +- **MΓ©moire persistante** entre les sessions via mΓ©moire manuelle OpenWebUI +- **IntΓ©gration Joplin** (en cours) pour la prise de notes +- **Automatisation** via n8n et Sub Agent Tool +- **Infrastructure entiΓ¨rement locale** - aucun appel API externe obligatoire --- @@ -19,55 +19,60 @@ Effi est un assistant IA personnel **100% auto-hΓ©bergΓ©**, avec mΓ©moire persis | Machine | IP | RΓ΄le | SpΓ©cifications | |---------|-----|------|----------------| -| **effi-server** | `192.168.1.27` | Serveur Docker principal | Intel J5040 / 7.6 GB RAM | -| **folzo-Corp** | `192.168.1.11` | LLM + STT + TTS | AMD Ryzen 5800X3D / RX 7800 XT 16GB VRAM | +| **effi-server** | `192.168.1.27` | Serveur Docker principal | Intel J5040 / 8 GB RAM | +| **folzo-Corp** | `192.168.1.11` | LLM + STT + TTS | AMD Ryzen 5800X3D / RX 7800 XT 16GB VRAM / 32GB RAM | -### SchΓ©ma Global +### SchΓ©ma Global (Configuration Actuelle) ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ EFFI SERVER (192.168.1.27) β”‚ -β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚ β”‚ Open WebUI β”‚ β”‚ Qdrant β”‚ β”‚ n8n β”‚ β”‚ CouchDB β”‚ β”‚ -β”‚ β”‚ Port 3000 β”‚ β”‚ Port 6333 β”‚ β”‚ Port 5678 β”‚ β”‚ Port 5984 β”‚ β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ -β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚ β”‚ mcpo β”‚ β”‚ wol-proxy β”‚ β”‚ pipelines β”‚ β”‚ -β”‚ β”‚ Port 8000 β”‚ β”‚ Port 3011 β”‚ β”‚ Port 9099 β”‚ β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ -β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ - β”‚ Wake-on-LAN + Proxy - β–Ό +β”‚ β”‚ Open WebUI β”‚ β”‚ Qdrant β”‚ β”‚ n8n β”‚ β”‚ +β”‚ β”‚ Port 3000 β”‚ β”‚ Port 6333 β”‚ β”‚ Port 5678 β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ wol-proxy β”‚ β”‚ +β”‚ β”‚ Port 3011 β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ Wake-on-LAN + Proxy + β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ FOLZO-CORP (192.168.1.11) β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ RX 7800 XT (ROCm) β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ β”‚ Ollama β”‚ β”‚ speaches β”‚ β”‚ openedai β”‚ β”‚ β”‚ -β”‚ β”‚ β”‚ qwen2.5:14b β”‚ β”‚ Whisper STT β”‚ β”‚ speech TTS β”‚ β”‚ β”‚ +β”‚ β”‚ β”‚ qwen3.5:9b β”‚ β”‚ Whisper STT β”‚ β”‚ speech TTS β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Port 11434 β”‚ β”‚ Port 8200 β”‚ β”‚ Port 8100 β”‚ β”‚ β”‚ +β”‚ β”‚ β”‚ 32K context β”‚ β”‚ (CPU) β”‚ β”‚ XTTS/ROCm β”‚ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` +**Historique des services supprimΓ©s** : CouchDB (Obsidian abandonnΓ©), mcpo, pipelines (mem0 abandonnΓ©) - voir [l'historique complet](./docs/ARCHIVE/HISTORIQUE-COMPLET-EFFI.md) + --- -## 🐳 Stack Services +## 🐳 Stack Services (7 services) -| Service | HΓ΄te | Port | Image | RΓ΄le | -|---------|------|------|-------|------| -| Open WebUI | effi-server | 3000 | `ghcr.io/open-webui/open-webui:main` | Interface IA principale | -| Qdrant | effi-server | 6333 | `qdrant/qdrant:latest` | Base vectorielle RAG | -| CouchDB | effi-server | 5984 | `couchdb:3.3` | Sync Obsidian LiveSync | -| n8n | effi-server | 5678 | `docker.n8n.io/n8nio/n8n:latest` | Automatisation workflows | -| mcpo | effi-server | 8000 | `ghcr.io/open-webui/mcpo:main` | Proxy MCP outils | -| wol-proxy | effi-server | 3011 | Build local | Wake-on-LAN + Proxy Ollama | -| pipelines | effi-server | 9099 | `ghcr.io/open-webui/pipelines:main` | Middleware mem0 | -| speaches | folzo-Corp | 8200 | `speaches:rocm-ct2` (build local) | STT Whisper ROCm | -| openedai-speech | folzo-Corp | 8100 | `ghcr.io/matatonic/openedai-speech` | TTS Piper/XTTS ROCm | -| Ollama | folzo-Corp | 11434 | Installation native | LLM qwen2.5:14b, bge-m3 | +| Service | HΓ΄te | Port | Image | RΓ΄le | Statut | +|---------|------|------|-------|------|--------| +| Open WebUI | effi-server | 3000 | `ghcr.io/open-webui/open-webui:main` | Interface IA principale | βœ… Actif | +| Qdrant | effi-server | 6333 | `qdrant/qdrant:latest` | Base vectorielle RAG | βœ… Actif | +| n8n | effi-server | 5678 | `docker.n8n.io/n8nio/n8n:latest` | Automatisation workflows | βœ… Actif | +| wol-proxy | effi-server | 3011 | Build local | Wake-on-LAN + Proxy Ollama | βœ… Actif | +| speaches | folzo-Corp | 8200 | `speaches:latest` (build local) | STT Whisper (CPU) | βœ… Actif | +| openedai-speech | folzo-Corp | 8100 | `ghcr.io/matatonic/openedai-speech` | TTS XTTS ROCm | βœ… Actif | +| Ollama | folzo-Corp | 11434 | Installation native | LLM qwen3.5:9b, bge-m3 | βœ… Actif | + +**Services supprimΓ©s** (voir historique) : +- ~~CouchDB~~ : SupprimΓ© (Obsidian abandonnΓ©) +- ~~mcpo~~ : SupprimΓ© (MCP Obsidian trop fragile) +- ~~pipelines~~ : SupprimΓ© (mem0 abandonnΓ©) --- @@ -78,6 +83,7 @@ Effi est un assistant IA personnel **100% auto-hΓ©bergΓ©**, avec mΓ©moire persis - [πŸ“– Guides](./docs/03-guides/) - Installation et configuration initiale - [πŸ”§ DΓ©pannage](./docs/04-depannage/) - Erreurs courantes et solutions - [πŸ““ Journal](./docs/05-journal/) - Historique des Γ©volutions +- [πŸ“š Historique Complet](./docs/ARCHIVE/HISTORIQUE-COMPLET-EFFI.md) - Toute l'histoire du projet --- @@ -86,7 +92,7 @@ Effi est un assistant IA personnel **100% auto-hΓ©bergΓ©**, avec mΓ©moire persis ### PrΓ©requis - **Serveur** : Ubuntu 22.04+ avec Docker et Docker Compose -- **PC Gaming** : Ollama installΓ© avec modΓ¨les `qwen2.5:14b` et `bge-m3` +- **PC Gaming** : Ollama installΓ© avec modΓ¨les `qwen3.5:9b` et `bge-m3` - **RΓ©seau** : Les deux machines sur le mΓͺme LAN ### Installation @@ -108,7 +114,10 @@ docker compose up -d 1. AccΓ©der Γ  `http://192.168.1.27:3000` 2. CrΓ©er un compte admin -3. Configurer les connexions (Ollama, Audio, etc.) +3. Configurer les connexions : + - **Ollama** : `http://192.168.1.11:3011` (via WOL proxy) + - **Audio STT** : `http://192.168.1.11:8200/v1` + - **Audio TTS** : `http://192.168.1.11:8100/v1` 4. Voir le [guide de premiΓ¨re configuration](./docs/03-guides/premiere-config.md) --- @@ -116,19 +125,21 @@ docker compose up -d ## πŸ”‘ CaractΓ©ristiques ClΓ©s ### 🎀 Pipeline Vocal -- **STT** : Whisper large-v3 avec ROCm sur RX 7800 XT -- **TTS** : Piper franΓ§ais (`fr_FR-upmc-medium`) ou XTTS -- **Latence** : ~500ms pour le TTS, ~10s pour STT (CPU, GPU en cours) +- **STT** : Whisper large-v3-turbo en CPU (~10s pour 5s audio) + - *Note* : Build ROCm GPU en pause (complexitΓ©) +- **TTS** : XTTS v2 avec voix "nova" sur GPU ROCm +- **Latence** : ~500ms pour le TTS, ~10s pour STT ### 🧠 MΓ©moire Persistante -- **Auto Memory** : Extraction automatique des faits importants -- **Memory Injection** : Injection des souvenirs dans le contexte -- **Stockage** : SQLite dans le conteneur OpenWebUI +- **Type** : MΓ©moire manuelle via OpenWebUI (snippets) +- **Avantage** : Rapide et prΓ©visible (vs mem0 qui Γ©tait trop lent) +- **Stockage** : Base SQLite intΓ©grΓ©e Γ  OpenWebUI +- **Utilisation** : Snippets courts injectΓ©s dans le contexte ### πŸ”— IntΓ©grations -- **Obsidian** : LiveSync via CouchDB + outils MCP +- **Sub Agent Tool** : DΓ©lΓ©gation de tΓ’ches complexes - **n8n** : Workflows d'automatisation -- **mcpo** : Protocole MCP pour outils externes +- **Joplin** : En cours d'intΓ©gration pour prise de notes --- @@ -136,17 +147,28 @@ docker compose up -d | Domaine | Technologies | |---------|-------------| -| **LLM** | Ollama, Qwen 2.5 14B | +| **LLM** | Ollama, Qwen 3.5 9B (32K context) | | **Interface** | Open WebUI | -| **STT** | Faster Whisper (ROCm) | -| **TTS** | Piper, XTTS, OpenedAI-Speech | +| **STT** | Faster Whisper (CPU) | +| **TTS** | XTTS v2, OpenedAI-Speech (ROCm) | | **Vector DB** | Qdrant | | **Automatisation** | n8n | -| **Sync Notes** | CouchDB | | **GPU** | AMD ROCm (RX 7800 XT gfx1100) | --- +## πŸ“ Historique des Changements Majeurs + +**Avril 2026** : Simplification majeure +- Suppression de CouchDB, mcpo, pipelines +- Passage Γ  mΓ©moire manuelle (abandon de mem0) +- Mise Γ  jour qwen2.5:14b β†’ **qwen3.5:9b** (meilleures performances) +- Abandon Obsidian/MCP β†’ future intΓ©gration Joplin + +Voir l'[historique complet](./docs/ARCHIVE/HISTORIQUE-COMPLET-EFFI.md) pour tous les dΓ©tails. + +--- + ## πŸ“„ Licence Ce projet est personnel et documentΓ© Γ  des fins d'apprentissage.