mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-16 00:26:51 +01:00
78 lines
2.6 KiB
Python
78 lines
2.6 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import os
|
|
import sys
|
|
import argparse
|
|
import json
|
|
from llm_classes.llama_vision import LlamaVision
|
|
from agents.llama_vision.agent_image_sorter import AgentImageSorter
|
|
|
|
def parse_args():
|
|
parser = argparse.ArgumentParser(description="Test de l'agent de tri d'images")
|
|
parser.add_argument("image_path", help="Chemin vers l'image à analyser")
|
|
parser.add_argument("--debug", "-d", action="store_true", help="Mode debug")
|
|
parser.add_argument("--ticket_id", "-t", default="T9999", help="ID du ticket pour les tests")
|
|
return parser.parse_args()
|
|
|
|
def main():
|
|
args = parse_args()
|
|
image_path = args.image_path
|
|
|
|
if not os.path.exists(image_path):
|
|
print(f"Erreur: L'image {image_path} n'existe pas")
|
|
return 1
|
|
|
|
print(f"=== TEST DE L'AGENT DE TRI D'IMAGES ===")
|
|
print(f"Image: {image_path}")
|
|
|
|
# Initialiser le modèle LlamaVision
|
|
try:
|
|
print("Initialisation du modèle LlamaVision...")
|
|
llm = LlamaVision() # modèle par défaut
|
|
print(f"Modèle initialisé: {llm.modele}")
|
|
except Exception as e:
|
|
print(f"Erreur lors de l'initialisation du modèle: {e}")
|
|
return 1
|
|
|
|
# Initialiser l'agent de tri
|
|
try:
|
|
print("Initialisation de l'agent de tri d'images...")
|
|
agent = AgentImageSorter(llm)
|
|
print("Agent initialisé")
|
|
except Exception as e:
|
|
print(f"Erreur lors de l'initialisation de l'agent: {e}")
|
|
return 1
|
|
|
|
# Exécuter l'agent sur l'image
|
|
try:
|
|
print("\nExécution de l'agent sur l'image...")
|
|
result = agent.executer(image_path)
|
|
|
|
# Afficher le résultat
|
|
print("\n=== RÉSULTAT ===")
|
|
print(f"Image pertinente: {result['is_relevant']}")
|
|
print(f"Raison: {result['reason']}")
|
|
|
|
if args.debug:
|
|
print("\n=== RÉPONSE BRUTE ===")
|
|
print(result['raw_response'])
|
|
print("\n=== OCR ===")
|
|
print(f"OCR FR: {result['ocr_fr'] or 'Aucun texte détecté'}")
|
|
print(f"OCR EN: {result['ocr_en'] or 'Aucune traduction'}")
|
|
|
|
# Sauvegarder le résultat dans un fichier JSON
|
|
output_file = f"test_tri_{os.path.basename(image_path)}.json"
|
|
with open(output_file, "w", encoding="utf-8") as f:
|
|
json.dump(result, f, ensure_ascii=False, indent=2)
|
|
print(f"\nRésultat enregistré dans {output_file}")
|
|
|
|
return 0
|
|
except Exception as e:
|
|
print(f"Erreur lors de l'exécution de l'agent: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
return 1
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main()) |