3.6 KiB
📄 docs/journal_developpement_llm_2025-03-26.md
# 🧠 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
paramspersonnalisés (optionnels)
Exemples :
AGENTS = {
"formateur": {
"system_prompt": "...",
"params": { "temperature": 0.6 }
},
...
}
4. 🧪 Automatisation de tests de paramètres (utils/parameter_tester.py)
Fonction :
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
.mddanslogs/ -
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 :
python -m tests.test_single_agent
✔️ Ou ajouter ceci au début des fichiers tests/ :
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 ?