2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 17:06:35 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00
2025-03-25 21:19:54 +01:00

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:latest via Ollama - pour des tests rapides et la documentation
  • CodeLlama 13B Python : codellama:13b-python via Ollama - pour le développement et le code
  • Llama2 13B : llama2:13b via 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

Utilisez le script de configuration automatique :

# Exécuter le script de configuration
./setup_env.sh

Ce script va :

  1. Vérifier et installer les dépendances système nécessaires (venv, tkinter)
  2. Créer un nouvel environnement virtuel Python
  3. Installer toutes les dépendances requises
  4. Configurer les scripts pour une utilisation facile

Installation manuelle (alternative)

Si vous préférez l'installation manuelle :

# 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

Le moyen le plus simple d'utiliser LLM Lab est d'utiliser le script de lancement run.sh :

# 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 :

# 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 :

./run.sh 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 :

./run.sh monitor

Structure du projet

  • core/ : Classes de base et implémentations des modèles
    • base_llm.py : Classe de base pour tous les modèles LLM
    • factory.py : Factory pour créer des instances de modèle
    • mistral7b.py : Implémentation du modèle Mistral 7B
    • codellama13b_python.py : Implémentation du modèle CodeLlama 13B Python
    • llama2_13b.py : Implémentation du modèle Llama2 13B
  • agents/ : Configuration des agents spécialisés
    • roles.py : Définition des différents agents et leurs paramètres
  • utils/ : Outils et utilitaires
    • agent_manager.py : Gestionnaire pour créer et configurer les agents
    • system_monitor.py : Moniteur de ressources système
    • chat_ui.py : Interface graphique de chat
  • tests/ : Tests unitaires et d'intégration
  • examples/ : Exemples d'utilisation
  • logs/ : 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)

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 :

  1. Créez une nouvelle classe dans core/ (par exemple core/nouveau_modele.py)
  2. Ajoutez le modèle au registre dans core/factory.py
  3. Mettez à jour la documentation et les tests
Description
No description provided
Readme 11 MiB
Languages
Python 99.3%
C 0.6%