- 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
163 lines
7.8 KiB
Markdown
163 lines
7.8 KiB
Markdown
# 🤖 Effi - Assistant IA Personnel Self-Hosted
|
|
|
|
Effi est un assistant IA personnel **100% auto-hébergé**, avec mémoire persistante entre sessions, discussion vocale (STT + TTS), et intégration avec les outils de productivité.
|
|
|
|
## 🎯 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
|
|
|
|
---
|
|
|
|
## 🏗️ Architecture
|
|
|
|
### Infrastructure Multi-Machines
|
|
|
|
| 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 |
|
|
|
|
### Schéma Global
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ 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
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ FOLZO-CORP (192.168.1.11) │
|
|
│ ┌─────────────────────────────────────────────────────────────────────┐ │
|
|
│ │ RX 7800 XT (ROCm) │ │
|
|
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
|
|
│ │ │ Ollama │ │ speaches │ │ openedai │ │ │
|
|
│ │ │ qwen2.5:14b │ │ Whisper STT │ │ speech TTS │ │ │
|
|
│ │ │ Port 11434 │ │ Port 8200 │ │ Port 8100 │ │ │
|
|
│ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │
|
|
│ └─────────────────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 🐳 Stack 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 |
|
|
|
|
---
|
|
|
|
## 📚 Documentation
|
|
|
|
- [📁 Architecture](./docs/01-architecture/) - Infrastructure et réseau
|
|
- [⚙️ Configuration](./docs/02-configuration/) - Docker, audio, mémoire
|
|
- [📖 Guides](./docs/03-guides/) - Installation et configuration initiale
|
|
- [🔧 Dépannage](./docs/04-depannage/) - Erreurs courantes et solutions
|
|
- [📓 Journal](./docs/05-journal/) - Historique des évolutions
|
|
|
|
---
|
|
|
|
## 🚀 Démarrage Rapide
|
|
|
|
### Prérequis
|
|
|
|
- **Serveur** : Ubuntu 22.04+ avec Docker et Docker Compose
|
|
- **PC Gaming** : Ollama installé avec modèles `qwen2.5:14b` et `bge-m3`
|
|
- **Réseau** : Les deux machines sur le même LAN
|
|
|
|
### Installation
|
|
|
|
```bash
|
|
# 1. Cloner le dépôt
|
|
git clone https://gitea.folzocorp.fr/Folzo/effi.git
|
|
cd effi
|
|
|
|
# 2. Configurer les variables d'environnement
|
|
cp .env.example .env
|
|
# Éditer .env avec tes valeurs
|
|
|
|
# 3. Démarrer les services
|
|
docker compose up -d
|
|
```
|
|
|
|
### Configuration OpenWebUI
|
|
|
|
1. Accéder à `http://192.168.1.27:3000`
|
|
2. Créer un compte admin
|
|
3. Configurer les connexions (Ollama, Audio, etc.)
|
|
4. Voir le [guide de première configuration](./docs/03-guides/premiere-config.md)
|
|
|
|
---
|
|
|
|
## 🔑 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)
|
|
|
|
### 🧠 Mémoire Persistante
|
|
- **Auto Memory** : Extraction automatique des faits importants
|
|
- **Memory Injection** : Injection des souvenirs dans le contexte
|
|
- **Stockage** : SQLite dans le conteneur OpenWebUI
|
|
|
|
### 🔗 Intégrations
|
|
- **Obsidian** : LiveSync via CouchDB + outils MCP
|
|
- **n8n** : Workflows d'automatisation
|
|
- **mcpo** : Protocole MCP pour outils externes
|
|
|
|
---
|
|
|
|
## 🛠️ Technologies
|
|
|
|
| Domaine | Technologies |
|
|
|---------|-------------|
|
|
| **LLM** | Ollama, Qwen 2.5 14B |
|
|
| **Interface** | Open WebUI |
|
|
| **STT** | Faster Whisper (ROCm) |
|
|
| **TTS** | Piper, XTTS, OpenedAI-Speech |
|
|
| **Vector DB** | Qdrant |
|
|
| **Automatisation** | n8n |
|
|
| **Sync Notes** | CouchDB |
|
|
| **GPU** | AMD ROCm (RX 7800 XT gfx1100) |
|
|
|
|
---
|
|
|
|
## 📄 Licence
|
|
|
|
Ce projet est personnel et documenté à des fins d'apprentissage.
|
|
|
|
---
|
|
|
|
## 🙋 Auteur
|
|
|
|
**Folzo** - [gitea.folzocorp.fr/Folzo](https://gitea.folzocorp.fr/Folzo)
|
|
|
|
---
|
|
|
|
*Dernière mise à jour : Avril 2026*
|