mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-16 00:36:52 +01:00
98 lines
3.5 KiB
Markdown
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` |