🦙 Interface Gradio + Ollama

Chatbot 100% Local avec Outils ComfyUI

🟢 100% Gratuit 🔒 100% Local ⚡ Rapide 🎯 Débutant

ℹ️Qu'est-ce que cette méthode ?

Cette interface vous permet de discuter avec un modèle IA entièrement local (Ollama) qui peut utiliser les outils de votre serveur MCP ComfyUI. Tout fonctionne sur votre machine, aucune connexion Internet requise après l'installation.

Avantages : Gratuit, privé, rapide, fonctionne hors ligne

Inconvénients : Nécessite un GPU/CPU puissant pour les gros modèles

📋 Prérequis

Composant Version Minimale Recommandation
Python 3.8+ 3.10 Ă  3.12
RAM 8 GB 16 GB ou plus
GPU Optionnel NVIDIA avec 6GB+ VRAM
Espace Disque 10 GB 20 GB (pour plusieurs modèles)

🚀 Installation Pas à Pas

Étape 1 : Installer Ollama

Sur Windows

# Télécharger et installer depuis le site officiel
https://ollama.com/download/windows

# Ou via winget
winget install Ollama.Ollama

Sur macOS

# Télécharger et installer depuis le site officiel
https://ollama.com/download/mac

# Ou via Homebrew
brew install ollama

Sur Linux

# Installation automatique
curl -fsSL https://ollama.com/install.sh | sh

# Démarrer le service
sudo systemctl start ollama
sudo systemctl enable ollama
✅ Vérification : Ouvrir un terminal et taper :
ollama --version
Vous devriez voir la version d'Ollama s'afficher.
Étape 2 : Télécharger un Modèle IA

Choisissez un modèle selon votre matériel (exemples) :

Modèle Taille RAM Requise Function Calling
qwen2.5:3b 2 GB 4 GB âś… Oui
qwen2.5:7b 4.7 GB 8 GB ✅ Oui (Recommandé)
qwen2.5:14b 9 GB 16 GB âś… Excellent
llama3.2:3b 2 GB 4 GB âś… Oui
mistral:7b 4.1 GB 8 GB âś… Oui
granite3.1-dense:8b 4.9 GB 8 GB âś… Excellent

Télécharger le modèle (exemple : qwen2.5:7b)

# Dans un terminal
ollama pull qwen2.5:7b

# Attendre le téléchargement (peut prendre plusieurs minutes)
# Tester le modèle
ollama run qwen2.5:7b "Bonjour, peux-tu te présenter ?"
⚠️ Important : Les modèles de moins de 3B de paramètres sont moins performants pour le function calling. Privilégiez des modèles performants si votre machine le permet.
Étape 3 : Installer le Serveur MCP ComfyUI
# Cloner le projet
git clone https://github.com/orion4d/ComfyUI_mcp.git
cd ComfyUI_mcp

# Créer l'environnement virtuel
python -m venv venv

# Activer l'environnement
# Windows :
venv\Scripts\activate
# macOS/Linux :
source venv/bin/activate

# Installer les dépendances
pip install -r requirements.txt

# Générer les clés de sécurité
python generate_key.py
Étape 4 : Installer l'Interface Gradio Ollama
# Aller dans le dossier de l'interface
cd clients/gradio_ollama

# Installer les dépendances spécifiques
pip install -r requirements.txt
✅ Vérification : Les packages suivants doivent être installés :
  • gradio
  • openai (pour l'API Ollama compatible)
  • requests

▶️ Démarrage

Étape 1 : Démarrer le Serveur MCP
# Dans un terminal (Ă  la racine du projet)
cd ComfyUI_mcp
python server.py

# Vous devriez voir :
# INFO:     Uvicorn running on http://127.0.0.1:8000
Étape 2 : Vérifier qu'Ollama est Actif
# Dans un autre terminal
ollama serve

# Si Ollama est déjà actif, vous verrez :
# Error: listen tcp 127.0.0.1:11434: bind: address already in use
# (C'est normal et bon signe !)
Étape 3 : Lancer l'Interface Gradio
# Dans un troisième terminal
cd ComfyUI_mcp/clients/gradio_ollama
python app.py

# L'interface démarre sur :
# Running on local URL:  http://127.0.0.1:7860

âś…PrĂŞt Ă  Utiliser !

Ouvrez votre navigateur et allez sur : http://127.0.0.1:7860

Vous devriez voir l'interface de chat avec la liste des outils MCP disponibles sur le côté.

đź’¬ Utilisation

Exemples de Questions

  • "Liste tous mes workflows ComfyUI disponibles"
  • "Peux-tu m'aider Ă  crĂ©er un nouveau custom node ?"
  • "Affiche l'historique de mes gĂ©nĂ©rations rĂ©centes"
  • "Queue un prompt avec le workflow 'default'"
  • "Lis le contenu du custom node 'mon_node.py'"

Activer/Désactiver les Outils

Dans le panneau de droite, vous pouvez :

Changer de Modèle

Pour utiliser un autre modèle Ollama, éditez le fichier app.py :

# Ligne 11 dans app.py
OLLAMA_MODEL = "qwen2.5:7b"  # Remplacez par votre modèle

# Exemples :
OLLAMA_MODEL = "qwen2.5:14b"
OLLAMA_MODEL = "llama3.2:3b"
OLLAMA_MODEL = "mistral:7b"

🔧 Configuration Avancée

Modifier le Port de Gradio

# Dans app.py, Ă  la fin du fichier :
demo.launch(
    server_name="127.0.0.1",
    server_port=7860,  # Changez le port ici
    share=False
)

Modifier l'URL du Serveur MCP

# Ligne 10 dans app.py
MCP_SERVER_URL = "http://127.0.0.1:8000"

# Si votre serveur MCP est sur un autre port :
MCP_SERVER_URL = "http://127.0.0.1:8080"

Activer le Partage Public (Gradio Share)

⚠️ Attention : Cela expose votre interface sur Internet via un lien temporaire Gradio.
# Dans app.py
demo.launch(
    server_name="127.0.0.1",
    server_port=7860,
    share=True  # ⚠️ Génère une URL publique temporaire
)

Ne faites ceci que si vous comprenez les implications de sécurité !

Utiliser un GPU NVIDIA avec Ollama

# Ollama détecte automatiquement votre GPU NVIDIA
# Vérifier que CUDA est utilisé :
ollama run qwen2.5:7b

# Dans les logs, vous devriez voir :
# [CUDA] GPU detected

❓ Dépannage

❌ Erreur : "Connection refused" (port 11434)

Problème : Ollama n'est pas démarré

Solution :

# Démarrer Ollama
ollama serve

# Ou sur Linux :
sudo systemctl start ollama

❌ Erreur : "No tools available"

Problème : Le serveur MCP n'est pas accessible

Solution :

  1. Vérifier que le serveur MCP est démarré (python server.py)
  2. Tester manuellement : curl http://127.0.0.1:8000/debug/health
  3. Cliquer sur "🔄 Rafraîchir les outils" dans l'interface

❌ Le modèle ne répond pas / très lent

Problème : Modèle trop lourd pour votre machine

Solution : Essayez un modèle plus léger

# Supprimer le modèle lourd
ollama rm qwen2.5:14b

# Télécharger un modèle plus léger
ollama pull qwen2.5:3b

# Modifier app.py
OLLAMA_MODEL = "qwen2.5:3b"

❌ Les outils ne sont pas appelés

Problème : Le modèle ne supporte pas bien le function calling

Solution :

  • Utilisez un modèle recommandĂ© : qwen2.5:7b, qwen2.5:14b, ou granite3.1-dense:8b
  • Soyez plus explicite dans vos questions : "Utilise l'outil list_workflows pour lister mes workflows"