Plateforme de consensus multi-modèles IA avec souveraineté numérique
Développé par Francois Chalut - Une solution québécoise pour l'intelligence artificielle locale et éthique.
LLMUI Core est une plateforme innovante de consensus entre plusieurs modèles de langage (LLM), permettant de:
- Orchestrer plusieurs modèles IA en parallèle (workers + mergers)
- Obtenir des réponses par consensus pour une qualité supérieure
- Garantir la souveraineté numérique - hébergement local, sans cloud
- Intégrer des systèmes de mémoire avancés (RAG, hybride)
- Traiter des fichiers (PDF, DOCX, images, etc.)
- Maintenir l'historique complet avec SQLite
┌─────────────┐
│ Nginx │ ← Interface web (port 80/443)
└──────┬──────┘
│
┌──────▼──────┐
│ llmui-proxy │ ← Gestion sessions, auth (port 8080)
└──────┬──────┘
│
┌──────▼──────┐
│llmui-backend│ ← Orchestration LLM (port 5000)
└──────┬──────┘
│
┌──────▼──────┐
│ Ollama │ ← Modèles locaux (port 11434)
└─────────────┘
• phi3:3.8b (worker)
• gemma2:2b (worker)
• granite4:micro-h (merger)
- CPU: 4 cœurs minimum, 8+ recommandé
- RAM: 8GB minimum, 16GB+ recommandé
- Disque: 20GB minimum, 50GB+ recommandé
- GPU: Optionnel mais améliore les performances
- Debian 11/12
- Ubuntu 20.04/22.04/24.04
- Rocky Linux 8/9
- RHEL 8/9
- Windows 10/11 avec WSL2 activé
- Distribution Ubuntu 20.04/22.04/24.04 dans WSL
- 16GB RAM recommandés pour Windows + WSL
- Python 3.8+
- Accès root (sudo)
- Git
Ouvrez PowerShell en tant qu'administrateur:
# Activer WSL
wsl --install
# Ou si déjà installé, mettre à jour vers WSL2
wsl --set-default-version 2
# Installer Ubuntu
wsl --install -d Ubuntu-22.04Redémarrez votre ordinateur après l'installation.
Lancez Ubuntu depuis le menu Démarrer et configurez votre utilisateur.
# Mettre à jour le système
sudo apt update && sudo apt upgrade -y
# Installer les prérequis
sudo apt install -y git python3 python3-pip# Cloner le dépôt
git clone https://github.com/GenAICos/llmui-core.git
cd llmui-core
# Lancer l'installation avec Andy
sudo bash andy_setup.shUne fois installé dans WSL, accédez à l'interface via:
http://localhost/
Le navigateur Windows peut directement accéder aux services WSL!
- Performance: WSL2 offre d'excellentes performances, mais consommera de la RAM Windows
- Fichiers: Accédez aux fichiers WSL depuis Windows via
\\wsl$\Ubuntu-22.04\ - Réseau: Les ports WSL sont automatiquement forwardés vers Windows
- Mémoire: Configurez
.wslconfigpour limiter l'usage RAM si nécessaire
Créez C:\Users\VotreNom\.wslconfig:
[wsl2]
memory=8GB
processors=4
swap=4GBAndy est l'assistant DevOps autonome qui automatise l'installation complète de LLMUI Core.
# Cloner le dépôt
git clone https://github.com/GenAICos/llmui-core.git
cd llmui-core
# Lancer l'installation interactive
sudo bash andy_setup.sh# Installation en 3 étapes automatisées
sudo python3 andy_installer.py # Étape 1: Base système
sudo python3 andy_deploy_source.py # Étape 2: Fichiers source
sudo python3 andy_start_services.py # Étape 3: ServicesAndy va automatiquement:
- ✅ Mettre à jour l'OS
- ✅ Installer Ollama + 3 modèles LLM
- ✅ Configurer Python + dépendances
- ✅ Créer les services systemd
- ✅ Configurer Nginx + SSL
- ✅ Configurer le pare-feu
- ✅ Vérifier l'installation
Note: Andy vous demandera uniquement le nom d'utilisateur et le mot de passe pour l'interface LLMUI.
-
Installation de base (
andy_installer.py)- Détection automatique du système (apt/dnf/yum)
- Installation des dépendances système
- Installation d'Ollama et téléchargement des modèles
- Création de l'environnement virtuel Python
- Configuration des services systemd
- Configuration Nginx et pare-feu
-
Déploiement des sources (
andy_deploy_source.py)- Clone du dépôt Git (ou copie manuelle)
- Installation des fichiers dans
/opt/llmui-core/ - Configuration des permissions
-
Démarrage des services (
andy_start_services.py)- Activation des services systemd
- Démarrage backend → proxy → nginx
- Vérification de l'état des services
- Test HTTP et affichage de l'URL d'accès
╔═══════════════════════════════════════════════════════════════════════════╗
║ MENU PRINCIPAL ║
╚═══════════════════════════════════════════════════════════════════════════╝
[1] Installation complète (recommandé)
[2] Installation de base uniquement
[3] Déployer les fichiers source
[4] Démarrer les services
[5] Vérifier l'installation
[6] Consulter les logs
[7] Lire la documentation
[Q] Quitter
llmui-core/
├── andy_setup.sh # Menu interactif
├── andy_installer.py # Installation base système
├── andy_deploy_source.py # Déploiement sources
├── andy_start_services.py # Démarrage services
├── README.md # Ce fichier
├── README_ANDY.md # Documentation Andy
├── INSTALL.md # Guide installation détaillé
├── LICENSE # Licence propriétaire
│
├── src/ # Code source backend
│ ├── llmui_backend.py # Serveur FastAPI principal
│ ├── llmui_proxy.py # Serveur proxy
│ ├── auth.py # Authentification
│ ├── database.py # Gestion SQLite
│ ├── memory.py # Système mémoire
│ └── file_processor.py # Traitement fichiers
│
├── web/ # Interface web
│ ├── index.html
│ ├── css/
│ ├── js/
│ └── assets/
│
├── config.yaml # Configuration principale
├── requirements.txt # Dépendances Python
│
└── docs/ # Documentation
├── ARCHITECTURE.md
├── API.md
├── CONFIGURATION.md
└── TROUBLESHOOTING.md
server:
host: "0.0.0.0"
port: 5000
ssl_enabled: false
ollama:
base_url: "http://localhost:11434"
models:
workers:
- "phi3:3.8b"
- "gemma2:2b"
merger: "granite4:micro-h"
database:
path: "/opt/llmui-core/data/llmui.db"
security:
jwt_secret: "auto-generated"
session_timeout: 3600| Service | Port | Description |
|---|---|---|
| Nginx | 80/443 | Interface web |
| llmui-proxy | 8080 | Proxy + auth |
| llmui-backend | 5000 | API backend |
| Ollama | 11434 | Serveur LLM |
Une fois installé, accédez à LLMUI Core via votre navigateur:
Linux:
http://VOTRE_IP/
Windows (WSL):
http://localhost/
L'IP du serveur est affichée à la fin de l'installation par Andy.
# Statut des services
sudo systemctl status llmui-backend
sudo systemctl status llmui-proxy
sudo systemctl status nginx
# Redémarrer les services
sudo systemctl restart llmui-backend
sudo systemctl restart llmui-proxy
sudo systemctl restart nginx
# Logs en temps réel
sudo journalctl -u llmui-backend -f
sudo journalctl -u llmui-proxy -fDocumentation complète de l'API disponible dans docs/API.md.
Exemples d'endpoints:
# Health check
curl http://localhost:5000/api/health
# Liste des modèles
curl http://localhost:5000/api/models
# Nouvelle conversation
curl -X POST http://localhost:5000/api/chat \
-H "Content-Type: application/json" \
-d '{"message": "Bonjour!", "user_id": "user123"}'LLMUI Core utilise une approche unique:
- Workers analysent le prompt en parallèle
- Merger synthétise les réponses en consensus
- Qualité supérieure grâce à la diversité des modèles
- Mémoire court terme: Contexte de conversation
Formats supportés:
- Documents: PDF, DOCX, TXT, MD
- Images: PNG, JPG, WEBP
- Données: CSV, JSON, YAML
- Code: Python, JavaScript, etc.
- Authentification JWT
- Chiffrement des sessions
- Pare-feu configuré
- Headers de sécurité Nginx
- Isolation des services
- Permissions strictes
- INSTALL.md - Guide d'installation détaillé
- README_ANDY.md - Documentation Andy
- ARCHITECTURE.md - Architecture technique
- API.md - Documentation API REST
- CONFIGURATION.md - Configuration avancée
- TROUBLESHOOTING.md - Dépannage
# Vérifier les logs
sudo journalctl -u llmui-backend -n 50
sudo journalctl -u llmui-proxy -n 50
# Vérifier les permissions
ls -la /opt/llmui-core/
# Vérifier l'environnement Python
/opt/llmui-core/venv/bin/python --version
/opt/llmui-core/venv/bin/pip listLe backend n'est pas démarré:
sudo systemctl status llmui-backend
sudo systemctl start llmui-backendollama list
ollama ps
sudo systemctl status ollama
sudo systemctl restart ollama# Redémarrer WSL depuis PowerShell (Windows)
wsl --shutdown
wsl
# Vérifier la version WSL
wsl --list --verbose
# Libérer de la mémoire
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"# Log d'installation
less /tmp/andy_install.log
# Base de données SQLite
sqlite3 /tmp/andy_installation.db# Sauvegarder la configuration
sudo cp /opt/llmui-core/config.yaml /opt/llmui-core/config.yaml.bak
# Arrêter les services
sudo systemctl stop llmui-backend llmui-proxy
# Mettre à jour le code
cd /path/to/llmui-core
git pull origin main
# Redéployer
sudo python3 andy_deploy_source.py
# Redémarrer
sudo python3 andy_start_services.pyCe projet est développé par Francois Chalut
Pour toute question ou contribution:
- Email: contact@llmui.org
- Issues: GitHub Issues
© 2025 Francois Chalut.
AGPLv3 + common clause
Voir LICENSE pour plus de détails.
LLMUI Core s'inscrit dans une vision de souveraineté numérique québécoise:
- 🇨🇦 Local d'abord: Hébergement et contrôle complets
- 🔓 Open Architecture: Extensible et adaptable
- 🛡️ Sécurité par conception: Protection des données
- 🤖 IA éthique: Transparence et consensus
- 🌱 Autonomie technologique: Indépendance des GAFAM
Documentation: GitHub Wiki
Logs Andy: /tmp/andy_install.log
Base de données Andy: /tmp/andy_installation.db
Installation: /opt/llmui-core/
Développé avec 💙 au Québec par Francois Chalut