llm_ticket3/tests/README.md
2025-04-18 17:34:21 +02:00

98 lines
3.5 KiB
Markdown

# Tests modulaires pour l'analyse de tickets
Ce répertoire contient une architecture de tests modulaire pour l'analyse de tickets avec différents modèles LLM.
## Structure
- `common/` : Utilitaires communs et factories
- `ticket_utils.py` : Fonctions pour manipuler les tickets et leurs ressources
- `llm_factory.py` : Factory pour initialiser les modèles LLM
- `agent_factory.py` : Factory pour initialiser les agents
- `workflows/` : Workflows de test complets
- `ticket_analyser_workflow.py` : Workflow pour l'analyse de tickets
- `image_analyser_workflow.py` : Workflow pour l'analyse d'images
- `complete_analysis_workflow.py` : Workflow complet avec génération de rapport
- `compare_models.py` : Script pour comparer plusieurs modèles sur le même ticket
## Utilisation
### Test d'analyse de ticket
Pour tester l'analyse d'un ticket avec un modèle spécifique :
```bash
python -m tests.workflows.ticket_analyser_workflow T1234 --model mistral_large --save
```
Options :
- `--model` : Modèle LLM à utiliser (défaut: mistral_large)
- `--output_dir` : Répertoire des tickets (défaut: output)
- `--verbose` : Mode verbeux
- `--save` : Sauvegarder les résultats dans un fichier JSON
### Test d'analyse d'images
Pour tester l'analyse d'images avec un modèle spécifique :
```bash
python -m tests.workflows.image_analyser_workflow T1234 output mistral_large pixtral_large
```
Arguments :
1. `ticket_id` : ID du ticket à analyser
2. `output_dir` : Répertoire des tickets (optionnel)
3. `text_model` : Modèle pour l'analyse de ticket (optionnel)
4. `vision_model` : Modèle pour l'analyse d'images (optionnel)
### Workflow complet avec génération de rapport
Pour exécuter le workflow complet (analyse de ticket, tri d'images, analyse d'images et génération de rapport) :
```bash
python -m tests.workflows.complete_analysis_workflow T1234 --text_model mistral_large --vision_model pixtral_large
```
Options :
- `--text_model` : Modèle LLM à utiliser pour l'analyse de ticket et la génération de rapport (défaut: mistral_large)
- `--vision_model` : Modèle LLM à utiliser pour l'analyse d'images (défaut: pixtral_large)
- `--output_dir` : Répertoire des tickets (défaut: output)
- `--no-report` : Ne pas générer de rapport final
- `--no-save` : Ne pas sauvegarder les résultats intermédiaires
- `--verbose` : Mode verbeux
### Comparaison de modèles
Pour comparer plusieurs modèles sur le même ticket :
```bash
python -m tests.compare_models T1234 --type both --save
```
Options :
- `--type` : Type de modèles à comparer (text, vision ou both)
- `--text-models` : Liste des modèles texte à comparer
- `--vision-models` : Liste des modèles vision à comparer
- `--text-model` : Modèle texte à utiliser pour les tests vision
- `--output-dir` : Répertoire des tickets
- `--save` : Sauvegarder les résultats
- `--verbose` : Mode verbeux
Exemple pour comparer des modèles spécifiques :
```bash
python -m tests.compare_models T1234 --type both --text-models mistral_large mistral_medium --vision-models pixtral_large llama_vision --save
```
## Ajout d'un nouveau modèle LLM
1. Créez une classe pour le nouveau modèle dans `llm_classes/`
2. Ajoutez le modèle à `LLM_CLASSES` dans `tests/common/llm_factory.py`
3. Ajoutez le modèle à `TEXT_MODELS` ou `VISION_MODELS` selon ses capacités
## Ajout d'un nouveau workflow de test
1. Créez un nouveau fichier dans `tests/workflows/`
2. Implémentez une fonction `execute_workflow()` qui prend en charge le workflow
3. Exportez la fonction dans `tests/workflows/__init__.py`