llm_ticket3/test_orchestrator.py
2025-04-07 09:46:27 +02:00

89 lines
3.2 KiB
Python

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é")