--- ### 📄 `docs/journal_developpement_llm_2025-03-26.md` ```markdown # 🧠 Journal de développement - Infrastructure LLM 📅 **Date** : 2025-03-26 🎯 **Objectif** : Structurer un système modulaire pour gérer, tester et affiner plusieurs modèles LLM via une architecture orientée objet. --- ## ✅ Étapes réalisées ### 1. 📦 Mise en place d’une architecture modulaire ``` llm_lab/ ├── core/ # Classes des modèles │ ├── base_llm.py # Classe abstraite BaseLLM │ ├── mistral7b.py # Modèle spécifique Mistral 7B │ ├── factory.py # Générateur dynamique de modèles ├── agents/ # Rôles d'agents (prompts système + paramètres) │ └── roles.py ├── utils/ # Scripts de test automatisé │ └── parameter_tester.py ├── tests/ # Scripts de test individuels ├── logs/ # Logs Markdown générés automatiquement ├── outputs/ # Exports futurs (JSON, CSV) ├── config/ # Paramètres modèles (future extensibilité) └── log_index.md # Index central des logs ``` --- ### 2. 🧱 Construction des composants #### 🔹 `BaseLLM` (abstraite) - Gère les prompts, rôles, paramètres - Centralise le logging (`.md` + index) #### 🔹 `Mistral7B` - Hérite de `BaseLLM` - Intègre les paramètres valides pour Ollama - Appelle l'API Ollama en local #### 🔹 `factory.py` - Permet de créer un modèle à partir de son nom : ```python model = LLMFactory.create("mistral:latest") ``` --- ### 3. 🎭 Système de rôles (`agents/roles.py`) Chaque rôle contient : - un `system_prompt` (décrit l’identité de l’agent) - des `params` personnalisés (optionnels) Exemples : ```python AGENTS = { "formateur": { "system_prompt": "...", "params": { "temperature": 0.6 } }, ... } ``` --- ### 4. 🧪 Automatisation de tests de paramètres (`utils/parameter_tester.py`) Fonction : ```python test_agents_on_prompt( model_class, prompt, agents, param_grid, fixed_params ) ``` ➡️ Permet de : - Lancer plusieurs agents sur un même prompt - Faire varier les paramètres automatiquement - Logger chaque test séparément --- ### 5. 📝 Système de logs - Chaque appel génère un fichier `.md` dans `logs/` - Contient : - UID, modèle, moteur, agent - paramètres complets - réponse générée - L’index central est mis à jour (`log_index.md`) --- ## 💡 Stratégie recommandée de test ### Étape 1 : tester plusieurs agents avec les mêmes paramètres → Valider que leur comportement reflète bien leur rôle ### Étape 2 : faire varier les paramètres sur chaque agent → Identifier les réglages les plus pertinents agent par agent --- ## ⚠️ Bonnes pratiques pour exécuter les tests ### ✔️ Depuis la racine du projet : ```bash python -m tests.test_single_agent ``` ### ✔️ Ou ajouter ceci au début des fichiers `tests/` : ```python import sys, os sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) ``` --- ## 🔜 Prochaines étapes possibles - Ajouter des modèles supplémentaires (`llama2`, `mixtral`, etc.) - Gérer les tests en parallèle (`ThreadPoolExecutor`) - Ajouter des dashboards CSV/JSON dans `outputs/` - Générer des rapports automatiques --- 🧠 _Tu disposes désormais d’une architecture solide pour explorer, comparer, améliorer et documenter le comportement de n’importe quel LLM à travers des rôles et des réglages variés._ ``` --- Souhaites-tu que je te livre ce fichier `.md` à télécharger directement dans un `.zip` avec l’arborescence minimale ? ```