coffreobsidian/LLM/Résumé LLM-lab.md
2025-04-14 08:52:08 +02:00

155 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
### 📄 `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 dune 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 lidentité de lagent)
- 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
- Lindex 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 dune architecture solide pour explorer, comparer, améliorer et documenter le comportement de nimporte 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 larborescence minimale ?
```