#!/usr/bin/env python3 import json import os from agents.agent_ticket_analyser import AgentTicketAnalyser from agents.agent_image_sorter import AgentImageSorter from agents.agent_image_analyser import AgentImageAnalyser from agents.agent_report_generator import AgentReportGenerator # Importer les classes LLM from llm_classes.mistral_large import MistralLarge from llm_classes.pixtral_12b import Pixtral12b from llm_classes.ollama import Ollama def test_different_models(): """ Tester les performances de différents modèles LLM avec le même agent. """ # Données de test pour le JSON test_json = { "id": "123456", "title": "Problème de connexion au serveur", "description": "Depuis ce matin, impossible de se connecter au serveur principal. Erreur 500.", "priority": "high", "tags": ["connexion", "serveur", "erreur"], "history": [ {"date": "2023-04-01", "action": "Création du ticket"}, {"date": "2023-04-02", "action": "Première tentative de résolution"} ] } # Répertoire pour les rapports os.makedirs("reports/json_reports", exist_ok=True) os.makedirs("reports/markdown_reports", exist_ok=True) # Liste des modèles à tester models = { "mistral": MistralLarge(), "pixtral": Pixtral12b(), "ollama": Ollama("llama2") # Spécifier le modèle pour Ollama } # Test de chaque modèle pour l'analyse JSON results = {} for model_name, model in models.items(): print(f"Test avec le modèle {model_name}...") # Créer l'agent avec ce modèle json_agent = AgentTicketAnalyser(model) # Afficher les paramètres de l'agent print(f" Température: {json_agent.temperature}") print(f" Prompt système: {json_agent.system_prompt[:50]}...") # Exécuter le test try: result = json_agent.executer(test_json) success = True except Exception as e: result = str(e) success = False # Enregistrer le résultat results[model_name] = { "result": result, "success": success, "metadata": json_agent.historique[-1]["metadata"] if json_agent.historique and json_agent.historique else {} } print(f" Succès: {success}") print() # Générer un rapport comparatif print("Génération du rapport comparatif...") report_generator = AgentReportGenerator(MistralLarge()) json_path = report_generator.executer( {"resultats_comparatifs": results}, "comparaison_modeles" ) print(f"Rapport généré avec succès!") print(f"JSON: {json_path}") if __name__ == "__main__": test_different_models()