Files
Effi/README.md
T
Folzo d1e12cff60 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
2026-04-04 08:45:59 +02:00

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*