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

3.5 KiB

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 :

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 :

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) :

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 :

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 :

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