LLM Lab
Un laboratoire pour tester et comparer différents modèles de langage (LLM) via Ollama.
Fonctionnalités
- Modèles intégrés : Support pour Mistral 7B, CodeLlama 13B et Llama2 13B via Ollama
- Agents spécialisés : Agents configurés pour différentes tâches (code, documentation, gestion de projet...)
- Interface graphique de chat : Interface visuelle complète pour interagir avec les agents et personnaliser les paramètres
- Moniteur système : Interface graphique pour surveiller les ressources système, Ollama et GPU
- Interface CLI : Interface en ligne de commande simple pour interagir avec les agents
Modèles disponibles
Ce projet prend en charge les modèles suivants :
- Mistral 7B :
mistral:latestvia Ollama - pour des tests rapides et la documentation - CodeLlama 13B Python :
codellama:13b-pythonvia Ollama - pour le développement et le code - Llama2 13B :
llama2:13bvia Ollama - pour la gestion de connaissances et de projet
Agents spécialisés
- cursor : Agent de programmation (CodeLlama) pour Python, JavaScript et développement web
- obsidian : Agent de gestion de connaissances (Llama2) pour l'organisation d'informations
- test : Agent de test rapide (Mistral) pour vérifier rapidement les fonctionnalités
- python : Expert Python (CodeLlama)
- webdev : Expert développement web (CodeLlama)
- projectmanager : Chef de projet (Llama2)
- documentaliste : Spécialiste en documentation (Mistral)
Installation
Prérequis
- Python 3.8+
- Ollama installé et en cours d'exécution sur
localhost:11434 - Les modèles correspondants installés dans Ollama
Installation des modèles Ollama
# Installation des modèles
ollama pull mistral:latest
ollama pull codellama:13b-python
ollama pull llama2:13b
Configuration de l'environnement sous Windows
Utilisez le script de configuration automatique pour Windows :
# Exécuter le script de configuration
setup_env.bat
Ce script va :
- Vérifier et installer les dépendances nécessaires
- Créer un nouvel environnement virtuel Python
- Installer toutes les dépendances requises (y compris les modules spécifiques à Windows)
- Configurer les scripts pour une utilisation facile
Configuration de l'environnement sous Linux
Utilisez le script de configuration automatique pour Linux :
# Exécuter le script de configuration
./setup_env.sh
Installation manuelle (alternative)
Si vous préférez l'installation manuelle :
Sous Windows :
# Créer un environnement virtuel
python -m venv llmlab
# Activer l'environnement virtuel
llmlab\Scripts\activate
# Installer les dépendances
pip install -r requirements.txt
pip install wmi psutil requests pillow
Sous Linux :
# Créer un environnement virtuel
python3 -m venv llmlab
# Activer l'environnement virtuel
source llmlab/bin/activate
# Installer les dépendances
pip install -r requirements.txt
# Installer tkinter si nécessaire (au niveau du système)
sudo apt install python3-tk
Utilisation
Utilisation avec le script de lancement sous Windows
# Afficher l'aide
run.bat help
# Lister les agents disponibles
run.bat list
# Lancer l'interface graphique de chat
run.bat gui
# Lancer le chat en ligne de commande avec un agent spécifique
run.bat chat cursor # Agent de programmation
run.bat chat obsidian # Agent de gestion de connaissances
run.bat chat test # Agent de test rapide
# Lancer le moniteur système
run.bat monitor
Utilisation avec le script de lancement sous Linux
# Afficher l'aide
./run.sh help
# Lister les agents disponibles
./run.sh list
# Lancer l'interface graphique de chat
./run.sh gui
# Lancer le chat en ligne de commande avec un agent spécifique
./run.sh chat cursor # Agent de programmation
./run.sh chat obsidian # Agent de gestion de connaissances
./run.sh chat test # Agent de test rapide
# Lancer le moniteur système
./run.sh monitor
Utilisation directe
Si vous préférez utiliser directement les scripts Python après avoir activé l'environnement virtuel :
Sous Windows :
# Activer l'environnement virtuel
llmlab\Scripts\activate
# Lancer l'interface graphique de chat
python chat_gui.py
# Lister les agents disponibles
python chat.py --list
# Lancer le chat en ligne de commande avec un agent
python chat.py cursor
# Lancer le moniteur système
python monitor.py
Sous Linux :
# Activer l'environnement virtuel
source llmlab/bin/activate
# Lancer l'interface graphique de chat
./chat_gui.py
# Lister les agents disponibles
./chat.py --list
# Lancer le chat en ligne de commande avec un agent
./chat.py cursor
# Lancer le moniteur système
./monitor.py
Interface graphique de chat
L'interface graphique de chat offre de nombreuses fonctionnalités avancées :
- Sélection d'agent : Choisissez parmi tous les agents disponibles
- Personnalisation des modèles : Changez le modèle utilisé par un agent
- Paramètres ajustables : Modifiez tous les paramètres de génération (température, top-p, etc.)
- Presets : Appliquez des configurations prédéfinies (Créatif, Précis, Code, etc.)
- Sauvegarde et chargement : Enregistrez et chargez des conversations
- Exportation : Exportez vos conversations en markdown, texte ou JSON
Pour lancer l'interface graphique :
# Sous Linux
./run.sh gui
# Sous Windows
run.bat gui
Moniteur système
Le moniteur système fournit une interface graphique pour surveiller :
- Ressources système : CPU, RAM, disque
- Serveur Ollama : État, modèles disponibles, tailles
- GPU NVIDIA (si disponible) : Utilisation, mémoire, température, processus
- Journaux d'activité : Logs en temps réel
Pour l'utiliser :
# Sous Linux
./run.sh monitor
# Sous Windows
run.bat monitor
Structure du projet
core/: Classes de base et implémentations des modèlesbase_llm.py: Classe de base pour tous les modèles LLMfactory.py: Factory pour créer des instances de modèlemistral7b.py: Implémentation du modèle Mistral 7Bcodellama13b_python.py: Implémentation du modèle CodeLlama 13B Pythonllama2_13b.py: Implémentation du modèle Llama2 13B
agents/: Configuration des agents spécialisésroles.py: Définition des différents agents et leurs paramètres
utils/: Outils et utilitairesagent_manager.py: Gestionnaire pour créer et configurer les agentssystem_monitor.py: Moniteur de ressources systèmechat_ui.py: Interface graphique de chat
tests/: Tests unitaires et d'intégrationexamples/: Exemples d'utilisationlogs/: Logs des résultats de génération (créé automatiquement)chat_history/: Historique des conversations (créé automatiquement)saved_params/: Paramètres personnalisés sauvegardés (créé automatiquement)
Scripts spécifiques pour Windows
Le projet inclut plusieurs scripts batch optimisés pour Windows 11 Pro :
- setup_env.bat : Configure l'environnement virtuel Python et installe les dépendances
- run.bat : Script principal pour exécuter toutes les fonctionnalités du projet
- optimize_ollama.bat : Optimise Ollama pour de meilleures performances sur Windows
- test_installation.bat : Vérifie que l'installation est correcte et fonctionnelle
Optimisation d'Ollama pour Windows
Pour maximiser les performances d'Ollama sur Windows, utilisez le script d'optimisation :
# Exécuter en tant qu'administrateur
optimize_ollama.bat
Ce script va :
- Détecter les ressources système disponibles (CPU, RAM, GPU)
- Configurer Ollama avec des paramètres optimaux
- Redémarrer le service Ollama pour appliquer les changements
Personnalisation
Ajouter un nouvel agent
Pour ajouter un nouvel agent, modifiez le fichier agents/roles.py et ajoutez une nouvelle entrée au dictionnaire AGENTS :
"mon_agent": {
"model": "mistral:latest", # Modèle à utiliser
"system_prompt": (
"Description du rôle de l'agent..."
),
"params": {
"temperature": 0.7,
"top_p": 0.9,
# Autres paramètres...
}
}
Ajouter un nouveau modèle
Pour ajouter un nouveau modèle LLM :
- Créez une nouvelle classe dans
core/(par exemplecore/nouveau_modele.py) - Ajoutez le modèle au registre dans
core/factory.py - Mettez à jour la documentation et les tests