from orchestrator import Orchestrator from agents.agent_json_analyser import AgentJsonAnalyser from agents.agent_image_sorter import AgentImageSorter from agents.agent_image_analyser import AgentImageAnalyser from agents.agent_report_generator import AgentReportGenerator from llm_classes.mistral_large import MistralLarge from llm_classes.pixtral_12b import Pixtral12b from llm_classes.ollama import Ollama import os import logging # Configuration du logging logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s', filename='test_orchestrator.log', filemode='w') logger = logging.getLogger("TestOrchestrator") def test_orchestrator(): # Vérifier que le dossier output existe if not os.path.exists("output/"): os.makedirs("output/") logger.warning("Le dossier output/ n'existait pas et a été créé") print("ATTENTION: Le dossier output/ n'existait pas et a été créé") # Vérifier le contenu du dossier output tickets = [d for d in os.listdir("output/") if d.startswith("ticket_") and os.path.isdir(os.path.join("output/", d))] logger.info(f"Tickets trouvés dans output/: {tickets}") print(f"Tickets existants dans output/: {tickets}") # Initialisation des LLM json_llm = MistralLarge() logger.info("LLM MistralLarge initialisé") print("LLM MistralLarge initialisé") image_sorter_llm = Pixtral12b() logger.info("LLM Pixtral12b initialisé") print("LLM Pixtral12b initialisé") image_analyser_llm = Ollama() logger.info("LLM Ollama initialisé") print("LLM Ollama initialisé") report_generator_llm = MistralLarge() logger.info("Deuxième LLM MistralLarge initialisé") print("Deuxième LLM MistralLarge initialisé") # Création des agents json_agent = AgentJsonAnalyser(json_llm) logger.info("Agent JSON analyser initialisé") print("Agent JSON analyser initialisé") image_sorter = AgentImageSorter(image_sorter_llm) logger.info("Agent Image sorter initialisé") print("Agent Image sorter initialisé") image_analyser = AgentImageAnalyser(image_analyser_llm) logger.info("Agent Image analyser initialisé") print("Agent Image analyser initialisé") report_generator = AgentReportGenerator(report_generator_llm) logger.info("Agent Rapport générateur initialisé") print("Agent Rapport générateur initialisé") # Initialisation de l'orchestrateur avec les agents logger.info("Initialisation de l'orchestrateur") print("Initialisation de l'orchestrateur") orchestrator = Orchestrator( output_dir="output/", json_agent=json_agent, image_sorter=image_sorter, image_analyser=image_analyser, report_generator=report_generator ) # Exécution complète de l'orchestrateur logger.info("Début de l'exécution de l'orchestrateur") print("Début de l'exécution de l'orchestrateur") orchestrator.executer() logger.info("Fin de l'exécution de l'orchestrateur") print("Fin de l'exécution de l'orchestrateur") if __name__ == "__main__": print("Démarrage du test de l'orchestrateur") test_orchestrator() print("Test terminé")