From 71f634560bb6419f4de09a23ce138ae2df732b47 Mon Sep 17 00:00:00 2001 From: Ladebeze66 Date: Mon, 28 Apr 2025 11:50:24 +0200 Subject: [PATCH] 2804rapportxtocrok --- ...3-2-vision-90b-instruct-q8-0_exchanges.csv | 5 + agents/llama_vision/agent_vision_ocr.py | 2 +- agents/utils/pipeline_logger.py | 46 +- debug_ocr/ocr_image_145435.png.txt | 13 + debug_ocr/optimized_image_145435.png | Bin 0 -> 91370 bytes debug_ocr/standard_image_145435.png | Bin 0 -> 105763 bytes orchestrator_llama.log | 409 +++++++++--------- ...et_llama3-vision-90b-instruct_results.json | 26 ++ ...ket_llama3-vision-90b-instruct_results.txt | 29 ++ ...lm_llama3-vision-90b-instruct_results.json | 32 ++ ...llm_llama3-vision-90b-instruct_results.txt | 94 ++++ ...962ed21795c4e943fcb8cb84fd4d7465a.jpg.json | 12 + ...20e0e112c46b4440cc938f74d10934e98.gif.json | 12 + .../pipeline/ocr_traduction/image.png.json | 12 + .../ocr_traduction/image_145435.png.json | 12 + .../ocr_traduction/ocr_traduction.txt | 220 ++++++++++ ...al_llama3-vision-90b-instruct_results.json | 24 + ...nal_llama3-vision-90b-instruct_results.txt | 32 ++ ...ge_llama3-vision-90b-instruct_results.json | 73 ++++ ...age_llama3-vision-90b-instruct_results.txt | 36 ++ ...a3-2-vision-90b-instruct-q8-0_results.json | 42 ++ ...ma3-2-vision-90b-instruct-q8-0_results.txt | 91 ++++ reports/T11143/rapport_final_T11143.txt | 26 +- 23 files changed, 1010 insertions(+), 238 deletions(-) create mode 100644 CSV/T11143/T11143_llama3-2-vision-90b-instruct-q8-0_exchanges.csv create mode 100644 debug_ocr/ocr_image_145435.png.txt create mode 100644 debug_ocr/optimized_image_145435.png create mode 100644 debug_ocr/standard_image_145435.png create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/analyse_ticket_llama3-vision-90b-instruct_results.json create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/analyse_ticket_llama3-vision-90b-instruct_results.txt create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_llm_llama3-vision-90b-instruct_results.json create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_llm_llama3-vision-90b-instruct_results.txt create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg.json create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif.json create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/image.png.json create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/image_145435.png.json create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/ocr_traduction.txt create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/rapport_final_llama3-vision-90b-instruct_results.json create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/rapport_final_llama3-vision-90b-instruct_results.txt create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/tri_image_llama3-vision-90b-instruct_results.json create mode 100644 output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/tri_image_llama3-vision-90b-instruct_results.txt create mode 100644 output/ticket_T11143/T11143_20250422_084617/resultats/analyse_image_llama3-2-vision-90b-instruct-q8-0_results.json create mode 100644 output/ticket_T11143/T11143_20250422_084617/resultats/analyse_image_llama3-2-vision-90b-instruct-q8-0_results.txt diff --git a/CSV/T11143/T11143_llama3-2-vision-90b-instruct-q8-0_exchanges.csv b/CSV/T11143/T11143_llama3-2-vision-90b-instruct-q8-0_exchanges.csv new file mode 100644 index 0000000..58eecf7 --- /dev/null +++ b/CSV/T11143/T11143_llama3-2-vision-90b-instruct-q8-0_exchanges.csv @@ -0,0 +1,5 @@ +Émetteur,Type,Date,Contenu,Éléments visuels +Client,Question,2023-02-15 10:00,"""Je rencontre un problème avec mon application logicielle. Pouvez-vous m'aider à diagnostiquer le problème?""","Image 1: Capture d'écran déformée de l'écran de l'ordinateur affichant l'interface technique de ticket de support (fond gris foncé ou noir, texte blanc, icônes / boutons faibles)" +Support,Réponse,2023-02-15 11:00,"""Merci d'avoir contacté. Pouvez-vous fournir plus d'informations sur le problème, tels que des messages d'erreur ou des sorties de journal?""",- +Client,Réponse,2023-02-16 09:00,"""J'ai joint une capture d'écran du message d'erreur que je vois.""","Image 2: Code Snippet ou Sortie du journal (horodatage, adresses IP, appels système)" +Support,Réponse,2023-02-17 10:00,"""Merci d'avoir fourni la capture d'écran. Malheureusement, l'image est déformée et nous ne pouvons pas lire clairement le texte. Pouvez-vous s'il vous plaît fournir une image ou un contexte plus clair sur le problème?""",- diff --git a/agents/llama_vision/agent_vision_ocr.py b/agents/llama_vision/agent_vision_ocr.py index 4e3d8b3..8643e36 100644 --- a/agents/llama_vision/agent_vision_ocr.py +++ b/agents/llama_vision/agent_vision_ocr.py @@ -19,7 +19,7 @@ class AgentVisionOCR(BaseAgent): self.params = { "temperature": 0.1, "top_p": 0.85, - "max_tokens": 1500 + "max_tokens": 6000 } self.system_prompt = """You are a multilingual OCR visual assistant. diff --git a/agents/utils/pipeline_logger.py b/agents/utils/pipeline_logger.py index aea143d..5343017 100644 --- a/agents/utils/pipeline_logger.py +++ b/agents/utils/pipeline_logger.py @@ -146,29 +146,26 @@ def generer_version_texte(data: Union[Dict[str, Any], list], ticket_id: str, ste for i, item in enumerate(data, 1): f.write(f"--- ÉLÉMENT {i} ---\n\n") - # Extraire et écrire la réponse si présente + # Pour les résultats OCR if isinstance(item, dict): + if "extracted_text" in item: + f.write(f"Image: {item.get('image_name', 'N/A')}\n") + f.write(f"Texte extrait:\n{item['extracted_text']}\n\n") # Priorité 1: Champ "response" (pour les rapports) - if "response" in item: + elif "response" in item: f.write(f"{item['response']}\n\n") - # Priorité 2: Champ "analyse" (pour les analyses d'images) elif "analyse" in item and isinstance(item["analyse"], str): f.write(f"{item['analyse']}\n\n") - - # Priorité 2b: Champ "analyse" + # Priorité 2b: Champ "analyse" avec langues elif "analyse" in item and isinstance(item["analyse"], dict): - # Priorité à la version française si disponible if "fr" in item["analyse"] and item["analyse"]["fr"]: f.write(f"{item['analyse']['fr']}\n\n") - # Sinon, utiliser la version anglaise elif "en" in item["analyse"] and item["analyse"]["en"]: f.write(f"{item['analyse']['en']}\n\n") - # Priorité 3: Champ "raw_response" (pour les analyses brutes) - elif "raw_response" in item and isinstance(item["raw_response"], str): + elif "raw_response" in item: f.write(f"{item['raw_response']}\n\n") - # Priorité 4: Structure imbriquée d'analyse elif "analysis" in item: if isinstance(item["analysis"], dict): @@ -176,26 +173,13 @@ def generer_version_texte(data: Union[Dict[str, Any], list], ticket_id: str, ste f.write(f"{item['analysis']['analyse']}\n\n") elif "raw_response" in item["analysis"]: f.write(f"{item['analysis']['raw_response']}\n\n") - # Priorité 5: Pour le tri d'images elif "is_relevant" in item: f.write(f"Image pertinente: {item['is_relevant']}\n") if "reason" in item: f.write(f"Raison: {item['reason']}\n\n") - - # Si aucun contenu n'a été trouvé, afficher des informations de base else: f.write("Aucun contenu d'analyse trouvé.\n\n") - - # Ajouter des métadonnées si disponibles - if "metadata" in item: - meta = item["metadata"] - if "image_name" in meta: - f.write(f"Image: {meta.get('image_name', 'N/A')}\n") - if "timestamp" in meta: - f.write(f"Horodatage: {meta.get('timestamp', 'N/A')}\n") - if "source_agent" in meta: - f.write(f"Agent source: {meta.get('source_agent', 'N/A')}\n") else: f.write(str(item) + "\n\n") @@ -203,24 +187,16 @@ def generer_version_texte(data: Union[Dict[str, Any], list], ticket_id: str, ste # Si c'est un dictionnaire unique elif isinstance(data, dict): - # Même logique que ci-dessus, mais pour un seul élément - if "response" in data: + if "extracted_text" in data: + f.write(f"Image: {data.get('image_name', 'N/A')}\n") + f.write(f"Texte extrait:\n{data['extracted_text']}\n\n") + elif "response" in data: f.write(f"{data['response']}\n\n") elif "analyse" in data and isinstance(data["analyse"], str): f.write(f"{data['analyse']}\n\n") elif "raw_response" in data: f.write(f"{data['raw_response']}\n\n") - elif "analysis" in data and isinstance(data["analysis"], dict): - if "analyse" in data["analysis"]: - f.write(f"{data['analysis']['analyse']}\n\n") - elif "raw_response" in data["analysis"]: - f.write(f"{data['analysis']['raw_response']}\n\n") - elif "is_relevant" in data: - f.write(f"Image pertinente: {data['is_relevant']}\n") - if "reason" in data: - f.write(f"Raison: {data['reason']}\n\n") else: - # Sinon on écrit un format plus général for key, value in data.items(): if key != "prompt" and not isinstance(value, dict): f.write(f"{key}: {value}\n") diff --git a/debug_ocr/ocr_image_145435.png.txt b/debug_ocr/ocr_image_145435.png.txt new file mode 100644 index 0000000..786a4d6 --- /dev/null +++ b/debug_ocr/ocr_image_145435.png.txt @@ -0,0 +1,13 @@ +OCR Langue: fra +Langue détectée: fr +-------------------------------------------------- +C3 giraudbrg-lobicom/BRG-LAB/PAGE programmetssai/zEAAAHEVNGOAA + + BRGLAS CD Béton CD Foumasew tubo © Masse + +Echantillion n° 25-0007 éceptianné le 02/04/2025 pr BOLLÉE Victor prélevi le 02/04/2025 por BOLLEE Victor n° péédéwement 25-00078 +Matériau Sable 0/20 CARRIERE ADCEG + +[vEssu JEMmarme |[ M Porrouo || onservanons ][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

s9umw4Jl=X1>-twkd3j!=V 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

W(|E-#*g~-7l3AooE}%YVU_hCP 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%0DDnwNXxZL;X^lKoV1jz8Ui|cW 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 Qn$>^#2=~8i9$yCjA3hX9fdBvi literal 0 HcmV?d00001 diff --git a/debug_ocr/standard_image_145435.png b/debug_ocr/standard_image_145435.png new file mode 100644 index 0000000000000000000000000000000000000000..8980e0bbaa0ddd96ffda9e6baaabaf5d5a0c9646 GIT binary patch literal 105763 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

  • 6I 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 z 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Ξ% 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 literal 0 HcmV?d00001 diff --git a/orchestrator_llama.log b/orchestrator_llama.log index 640ae09..0a00585 100644 --- a/orchestrator_llama.log +++ b/orchestrator_llama.log @@ -1,22 +1,22 @@ -2025-04-28 09:21:26,004 - MainLlamaVision - INFO - Initialisation du modèle LlamaVision: llama3.2-vision:90b-instruct-q8_0 -2025-04-28 09:21:26,004 - LlamaVision - INFO - Initializing LlamaVision with model llama3.2-vision:90b-instruct-q8_0 (English-only mode) -2025-04-28 09:21:26,004 - MainLlamaVision - INFO - Nom normalisé du modèle: llama3-2-vision-90b-instruct-q8-0 -2025-04-28 09:21:26,004 - MainLlamaVision - INFO - Création des agents avec LlamaVision -2025-04-28 09:21:26,004 - AgentFactoryLlamaVision - INFO - Création de tous les agents avec instances LLM indépendantes (modèle: llama3.2-vision:90b-instruct-q8_0) -2025-04-28 09:21:26,004 - AgentFactoryLlamaVision - INFO - Initialisation du modèle llama_vision (modèle: llama3.2-vision:90b-instruct-q8_0) -2025-04-28 09:21:26,004 - LlamaVision - INFO - Initializing LlamaVision with model llama3.2-vision:90b-instruct-q8_0 (English-only mode) -2025-04-28 09:21:26,004 - AgentFactoryLlamaVision - INFO - Création de l'agent de tickets (llama_vision) -2025-04-28 09:21:26,004 - AgentTicketAnalyser - INFO - AgentTicketAnalyser initialisé -2025-04-28 09:21:26,004 - AgentFactoryLlamaVision - INFO - Création de l'agent de tri des images (llama_vision) -2025-04-28 09:21:26,004 - AgentImageSorter - INFO - AgentImageSorter (llama_vision) initialisé -2025-04-28 09:21:26,004 - AgentFactoryLlamaVision - INFO - Création de l'agent d'analyse des images (llama_vision) -2025-04-28 09:21:26,004 - AgentImageAnalyser - INFO - AgentImageAnalyser initialized -2025-04-28 09:21:26,004 - AgentFactoryLlamaVision - INFO - Création de l'agent de génération de rapports (llama_vision) -2025-04-28 09:21:26,004 - AgentReportGenerator - INFO - LlamaVision mode detected: using English system prompt -2025-04-28 09:21:26,004 - AgentReportGenerator - INFO - AgentReportGenerator initialized -2025-04-28 09:21:26,004 - AgentFactoryLlamaVision - INFO - Création de l'agent d'OCR visuel (llama_vision) -2025-04-28 09:21:26,004 - AgentVisionOCR - INFO - AgentVisionOCR initialisé -2025-04-28 09:21:26,005 - MainLlamaVision - INFO - Configuration: { +2025-04-28 11:41:02,456 - MainLlamaVision - INFO - Initialisation du modèle LlamaVision: llama3.2-vision:90b-instruct-q8_0 +2025-04-28 11:41:02,456 - LlamaVision - INFO - Initializing LlamaVision with model llama3.2-vision:90b-instruct-q8_0 (English-only mode) +2025-04-28 11:41:02,456 - MainLlamaVision - INFO - Nom normalisé du modèle: llama3-2-vision-90b-instruct-q8-0 +2025-04-28 11:41:02,456 - MainLlamaVision - INFO - Création des agents avec LlamaVision +2025-04-28 11:41:02,456 - AgentFactoryLlamaVision - INFO - Création de tous les agents avec instances LLM indépendantes (modèle: llama3.2-vision:90b-instruct-q8_0) +2025-04-28 11:41:02,456 - AgentFactoryLlamaVision - INFO - Initialisation du modèle llama_vision (modèle: llama3.2-vision:90b-instruct-q8_0) +2025-04-28 11:41:02,456 - LlamaVision - INFO - Initializing LlamaVision with model llama3.2-vision:90b-instruct-q8_0 (English-only mode) +2025-04-28 11:41:02,456 - AgentFactoryLlamaVision - INFO - Création de l'agent de tickets (llama_vision) +2025-04-28 11:41:02,456 - AgentTicketAnalyser - INFO - AgentTicketAnalyser initialisé +2025-04-28 11:41:02,456 - AgentFactoryLlamaVision - INFO - Création de l'agent de tri des images (llama_vision) +2025-04-28 11:41:02,456 - AgentImageSorter - INFO - AgentImageSorter (llama_vision) initialisé +2025-04-28 11:41:02,456 - AgentFactoryLlamaVision - INFO - Création de l'agent d'analyse des images (llama_vision) +2025-04-28 11:41:02,456 - AgentImageAnalyser - INFO - AgentImageAnalyser initialized +2025-04-28 11:41:02,456 - AgentFactoryLlamaVision - INFO - Création de l'agent de génération de rapports (llama_vision) +2025-04-28 11:41:02,457 - AgentReportGenerator - INFO - LlamaVision mode detected: using English system prompt +2025-04-28 11:41:02,457 - AgentReportGenerator - INFO - AgentReportGenerator initialized +2025-04-28 11:41:02,457 - AgentFactoryLlamaVision - INFO - Création de l'agent d'OCR visuel (llama_vision) +2025-04-28 11:41:02,457 - AgentVisionOCR - INFO - AgentVisionOCR initialisé +2025-04-28 11:41:02,457 - MainLlamaVision - INFO - Configuration: { "dedup_enabled": true, "dedup_threshold": 5, "save_results": false, @@ -27,40 +27,40 @@ "english_only": true, "model_name": "llama3-2-vision-90b-instruct-q8-0" } -2025-04-28 09:21:26,005 - MainLlamaVision - INFO - Création de l'orchestrateur pour le ticket T11143 -2025-04-28 09:21:26,005 - OrchestratorLlamaVision - INFO - OrchestratorLlamaVision initialisé avec les paramètres: {'dedup_enabled': True, 'dedup_threshold': 5, 'save_results': False, 'debug_mode': False, 'reports_dir': 'reports', 'ocr_enabled': True, 'ocr_llm_enabled': True, 'english_only': True, 'model_name': 'llama3-2-vision-90b-instruct-q8-0'} -2025-04-28 09:21:26,005 - MainLlamaVision - INFO - Démarrage de l'analyse du ticket T11143 -2025-04-28 09:21:26,005 - OrchestratorLlamaVision - INFO - Traitement du ticket T11143 -2025-04-28 09:21:26,005 - OrchestratorLlamaVision - INFO - Utilisation du modèle: llama3-2-vision-90b-instruct-q8-0 -2025-04-28 09:21:26,005 - OrchestratorLlamaVision - INFO - Données du ticket chargées depuis output/ticket_T11143/T11143_20250422_084617/T11143_rapports/T11143_rapport.json avec 3 messages -2025-04-28 09:21:26,005 - OrchestratorLlamaVision - INFO - [TRADUCTION] Début de traduction du contenu du ticket T11143 (FR → EN) -2025-04-28 09:21:26,005 - OrchestratorLlamaVision - INFO - [TRADUCTION] Taille du contenu original: 1088 caractères -2025-04-28 09:21:26,005 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction du contenu original en anglais via fr_to_en -2025-04-28 09:21:26,005 - Translate - INFO - [TRADUCTION] FR → EN: Traduction de 1088 caractères -2025-04-28 09:21:27,234 - Translate - INFO - [TRADUCTION] FR → EN: Résultat obtenu de 984 caractères -2025-04-28 09:21:27,234 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction terminée: 984 caractères -2025-04-28 09:21:27,234 - OrchestratorLlamaVision - INFO - [TRADUCTION] La clé 'content_en' sera utilisée par les agents pour l'analyse en anglais -2025-04-28 09:21:27,234 - OrchestratorLlamaVision - INFO - Exécution de l'agent d'analyse de ticket pour T11143 -2025-04-28 09:21:27,234 - AgentTicketAnalyser - INFO - [LANGUE] Utilisation du contenu déjà traduit en anglais pour le ticket T11143 -2025-04-28 09:21:27,234 - AgentTicketAnalyser - INFO - [LANGUE] Génération du prompt d'analyse en anglais -2025-04-28 09:21:27,234 - AgentTicketAnalyser - INFO - [LANGUE] Taille du prompt en anglais: 1446 caractères -2025-04-28 09:21:27,234 - AgentTicketAnalyser - INFO - [LANGUE] Envoi du prompt en anglais au modèle pour analyse du ticket T11143 -2025-04-28 09:22:47,399 - AgentTicketAnalyser - INFO - [LANGUE] Réponse reçue du modèle en anglais: 1194 caractères -2025-04-28 09:22:47,400 - AgentTicketAnalyser - INFO - [ANALYSE] 4 URLs extraites de l'analyse: ['https://zk1.brg-lab.com', 'https://odoo.cbao.fr', 'https://zk1.brg-lab.com/', 'https://odoo.cbao.fr/web/image/145435?access_token=608ac9e7-3627-4a13-8ec-06ff5046ebf3'] -2025-04-28 09:22:47,401 - AgentTicketAnalyser - INFO - [TRADUCTION] Traduction de la réponse d'analyse du ticket de EN vers FR -2025-04-28 09:22:47,401 - AgentTicketAnalyser - INFO - [TRADUCTION] Taille de la réponse en anglais: 1194 caractères -2025-04-28 09:22:47,401 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 1194 caractères -2025-04-28 09:22:47,816 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 1293 caractères -2025-04-28 09:22:47,816 - AgentTicketAnalyser - INFO - [TRADUCTION] Taille de la réponse traduite en français: 1293 caractères -2025-04-28 09:22:47,816 - AgentTicketAnalyser - INFO - [LANGUES] Résultat d'analyse disponible en deux langues: EN et FR -2025-04-28 09:22:47,816 - AgentTicketAnalyser - INFO - [LANGUES] Traduction du contenu original: True -2025-04-28 09:22:47,817 - OrchestratorLlamaVision - INFO - Analyse du ticket terminée: 1293 caractères -2025-04-28 09:22:47,828 - OrchestratorLlamaVision - INFO - 6 images trouvées dans output/ticket_T11143/T11143_20250422_084617/attachments -2025-04-28 09:22:48,090 - OrchestratorLlamaVision - INFO - Traitement OCR de 4 images -2025-04-28 09:22:48,091 - OCR - INFO - Traitement OCR pour output/ticket_T11143/T11143_20250422_084617/attachments/image.png (langue: auto) -2025-04-28 09:22:50,883 - OCR - INFO - Langue détectée: eng -2025-04-28 09:22:51,561 - OCR - WARNING - Impossible de sauvegarder les fichiers de débogage: cannot write mode RGBA as JPEG -2025-04-28 09:22:51,561 - OCR - INFO - OCR réussi [output/ticket_T11143/T11143_20250422_084617/attachments/image.png] — 1347 caractères: Apache Tomcat x + +2025-04-28 11:41:02,457 - MainLlamaVision - INFO - Création de l'orchestrateur pour le ticket T11143 +2025-04-28 11:41:02,457 - OrchestratorLlamaVision - INFO - OrchestratorLlamaVision initialisé avec les paramètres: {'dedup_enabled': True, 'dedup_threshold': 5, 'save_results': False, 'debug_mode': False, 'reports_dir': 'reports', 'ocr_enabled': True, 'ocr_llm_enabled': True, 'english_only': True, 'model_name': 'llama3-2-vision-90b-instruct-q8-0'} +2025-04-28 11:41:02,457 - MainLlamaVision - INFO - Démarrage de l'analyse du ticket T11143 +2025-04-28 11:41:02,457 - OrchestratorLlamaVision - INFO - Traitement du ticket T11143 +2025-04-28 11:41:02,457 - OrchestratorLlamaVision - INFO - Utilisation du modèle: llama3-2-vision-90b-instruct-q8-0 +2025-04-28 11:41:02,457 - OrchestratorLlamaVision - INFO - Données du ticket chargées depuis output/ticket_T11143/T11143_20250422_084617/T11143_rapports/T11143_rapport.json avec 3 messages +2025-04-28 11:41:02,457 - OrchestratorLlamaVision - INFO - [TRADUCTION] Début de traduction du contenu du ticket T11143 (FR → EN) +2025-04-28 11:41:02,457 - OrchestratorLlamaVision - INFO - [TRADUCTION] Taille du contenu original: 1088 caractères +2025-04-28 11:41:02,457 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction du contenu original en anglais via fr_to_en +2025-04-28 11:41:02,457 - Translate - INFO - [TRADUCTION] FR → EN: Traduction de 1088 caractères +2025-04-28 11:41:02,699 - Translate - INFO - [TRADUCTION] FR → EN: Résultat obtenu de 984 caractères +2025-04-28 11:41:02,699 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction terminée: 984 caractères +2025-04-28 11:41:02,699 - OrchestratorLlamaVision - INFO - [TRADUCTION] La clé 'content_en' sera utilisée par les agents pour l'analyse en anglais +2025-04-28 11:41:02,699 - OrchestratorLlamaVision - INFO - Exécution de l'agent d'analyse de ticket pour T11143 +2025-04-28 11:41:02,699 - AgentTicketAnalyser - INFO - [LANGUE] Utilisation du contenu déjà traduit en anglais pour le ticket T11143 +2025-04-28 11:41:02,699 - AgentTicketAnalyser - INFO - [LANGUE] Génération du prompt d'analyse en anglais +2025-04-28 11:41:02,699 - AgentTicketAnalyser - INFO - [LANGUE] Taille du prompt en anglais: 1446 caractères +2025-04-28 11:41:02,699 - AgentTicketAnalyser - INFO - [LANGUE] Envoi du prompt en anglais au modèle pour analyse du ticket T11143 +2025-04-28 11:42:12,559 - AgentTicketAnalyser - INFO - [LANGUE] Réponse reçue du modèle en anglais: 1220 caractères +2025-04-28 11:42:12,563 - AgentTicketAnalyser - INFO - [ANALYSE] 4 URLs extraites de l'analyse: ['https://zk1.brg-lab.com', 'https://odoo.cbao.fr', 'https://zk1.brg-lab.com/', 'https://odoo.cbao.fr/web/image/145435?access_token=608ac9e7-3627-4a13-8ec-06ff5046ebf3'] +2025-04-28 11:42:12,563 - AgentTicketAnalyser - INFO - [TRADUCTION] Traduction de la réponse d'analyse du ticket de EN vers FR +2025-04-28 11:42:12,564 - AgentTicketAnalyser - INFO - [TRADUCTION] Taille de la réponse en anglais: 1220 caractères +2025-04-28 11:42:12,564 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 1220 caractères +2025-04-28 11:42:12,814 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 1307 caractères +2025-04-28 11:42:12,814 - AgentTicketAnalyser - INFO - [TRADUCTION] Taille de la réponse traduite en français: 1307 caractères +2025-04-28 11:42:12,814 - AgentTicketAnalyser - INFO - [LANGUES] Résultat d'analyse disponible en deux langues: EN et FR +2025-04-28 11:42:12,814 - AgentTicketAnalyser - INFO - [LANGUES] Traduction du contenu original: True +2025-04-28 11:42:12,817 - OrchestratorLlamaVision - INFO - Analyse du ticket terminée: 1307 caractères +2025-04-28 11:42:12,828 - OrchestratorLlamaVision - INFO - 6 images trouvées dans output/ticket_T11143/T11143_20250422_084617/attachments +2025-04-28 11:42:13,067 - OrchestratorLlamaVision - INFO - Traitement OCR de 4 images +2025-04-28 11:42:13,067 - OCR - INFO - Traitement OCR pour output/ticket_T11143/T11143_20250422_084617/attachments/image.png (langue: auto) +2025-04-28 11:42:15,697 - OCR - INFO - Langue détectée: eng +2025-04-28 11:42:16,322 - OCR - WARNING - Impossible de sauvegarder les fichiers de débogage: cannot write mode RGBA as JPEG +2025-04-28 11:42:16,322 - OCR - INFO - OCR réussi [output/ticket_T11143/T11143_20250422_084617/attachments/image.png] — 1347 caractères: Apache Tomcat x + GC @ 2 zk1.brg-lab.com @@ -69,156 +69,163 @@ GC @ 2 zk1.brg-lab.com It works ! If you're ... -2025-04-28 09:22:51,562 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR pour image.png (FR → EN) -2025-04-28 09:22:51,562 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR original (FR): 1347 caractères -2025-04-28 09:22:51,562 - Translate - INFO - [TRADUCTION] FR → EN: Traduction de 1347 caractères -2025-04-28 09:22:52,155 - Translate - INFO - [TRADUCTION] FR → EN: Résultat obtenu de 1328 caractères -2025-04-28 09:22:52,155 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR traduit (EN): 1328 caractères -2025-04-28 09:22:52,155 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR inverse pour validation (EN → FR) -2025-04-28 09:22:52,155 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 1328 caractères -2025-04-28 09:22:52,603 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 1499 caractères -2025-04-28 09:22:52,603 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR retraduit (FR): 1499 caractères -2025-04-28 09:22:52,603 - Translate - INFO - [SAUVEGARDE] Sauvegarde des résultats OCR et traduction pour image.png -2025-04-28 09:22:52,603 - Translate - INFO - [SAUVEGARDE] Contenus: OCR FR=1347 caractères, OCR EN=1328 caractères, OCR EN→FR=1499 caractères -2025-04-28 09:22:52,603 - Translate - INFO - [SAUVEGARDE] Utilisation du répertoire fourni: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction -2025-04-28 09:22:52,604 - Translate - INFO - [SAUVEGARDE] Fichier JSON enregistré: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/image.png.json -2025-04-28 09:22:52,604 - Translate - INFO - [SAUVEGARDE] Ligne ajoutée dans le fichier global: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/ocr_traduction.txt -2025-04-28 09:22:52,604 - OrchestratorLlamaVision - INFO - OCR terminé pour image.png: 1347 caractères (en) -2025-04-28 09:22:52,604 - OCR - INFO - Traitement OCR pour output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png (langue: auto) -2025-04-28 09:22:53,721 - OCR - INFO - Langue détectée: fra -2025-04-28 09:22:54,016 - OCR - INFO - Images prétraitées et résultat OCR sauvegardés dans debug_ocr -2025-04-28 09:22:54,016 - OCR - INFO - OCR réussi [output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png] — 373 caractères: C3 giraudbrg-lobicom/BRG-LAB/PAGE programmetssai/zEAAAHEVNGOAA +2025-04-28 11:42:16,323 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR pour image.png (FR → EN) +2025-04-28 11:42:16,323 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR original (FR): 1347 caractères +2025-04-28 11:42:16,323 - Translate - INFO - [TRADUCTION] FR → EN: Traduction de 1347 caractères +2025-04-28 11:42:16,481 - Translate - INFO - [TRADUCTION] FR → EN: Résultat obtenu de 1328 caractères +2025-04-28 11:42:16,481 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR traduit (EN): 1328 caractères +2025-04-28 11:42:16,481 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR inverse pour validation (EN → FR) +2025-04-28 11:42:16,481 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 1328 caractères +2025-04-28 11:42:16,659 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 1499 caractères +2025-04-28 11:42:16,659 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR retraduit (FR): 1499 caractères +2025-04-28 11:42:16,659 - Translate - INFO - [SAUVEGARDE] Sauvegarde des résultats OCR et traduction pour image.png +2025-04-28 11:42:16,659 - Translate - INFO - [SAUVEGARDE] Contenus: OCR FR=1347 caractères, OCR EN=1328 caractères, OCR EN→FR=1499 caractères +2025-04-28 11:42:16,659 - Translate - INFO - [SAUVEGARDE] Utilisation du répertoire fourni: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction +2025-04-28 11:42:16,661 - Translate - INFO - [SAUVEGARDE] Fichier JSON enregistré: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/image.png.json +2025-04-28 11:42:16,662 - Translate - INFO - [SAUVEGARDE] Ligne ajoutée dans le fichier global: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/ocr_traduction.txt +2025-04-28 11:42:16,662 - OrchestratorLlamaVision - INFO - OCR terminé pour image.png: 1347 caractères (en) +2025-04-28 11:42:16,662 - OCR - INFO - Traitement OCR pour output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png (langue: auto) +2025-04-28 11:42:17,706 - OCR - INFO - Langue détectée: fra +2025-04-28 11:42:17,972 - OCR - INFO - Images prétraitées et résultat OCR sauvegardés dans debug_ocr +2025-04-28 11:42:17,972 - OCR - INFO - OCR réussi [output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png] — 373 caractères: C3 giraudbrg-lobicom/BRG-LAB/PAGE programmetssai/zEAAAHEVNGOAA BRGLAS CD Béton CD Foumasew tubo © ... -2025-04-28 09:22:54,016 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR pour image_145435.png (FR → EN) -2025-04-28 09:22:54,016 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR original (FR): 373 caractères -2025-04-28 09:22:54,016 - Translate - INFO - [TRADUCTION] FR → EN: Traduction de 373 caractères -2025-04-28 09:22:54,355 - Translate - INFO - [TRADUCTION] FR → EN: Résultat obtenu de 367 caractères -2025-04-28 09:22:54,355 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR traduit (EN): 367 caractères -2025-04-28 09:22:54,355 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR inverse pour validation (EN → FR) -2025-04-28 09:22:54,355 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 367 caractères -2025-04-28 09:22:54,795 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 378 caractères -2025-04-28 09:22:54,796 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR retraduit (FR): 378 caractères -2025-04-28 09:22:54,796 - Translate - INFO - [SAUVEGARDE] Sauvegarde des résultats OCR et traduction pour image_145435.png -2025-04-28 09:22:54,796 - Translate - INFO - [SAUVEGARDE] Contenus: OCR FR=373 caractères, OCR EN=367 caractères, OCR EN→FR=378 caractères -2025-04-28 09:22:54,797 - Translate - INFO - [SAUVEGARDE] Utilisation du répertoire fourni: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction -2025-04-28 09:22:54,797 - Translate - INFO - [SAUVEGARDE] Fichier JSON enregistré: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/image_145435.png.json -2025-04-28 09:22:54,797 - Translate - INFO - [SAUVEGARDE] Ligne ajoutée dans le fichier global: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/ocr_traduction.txt -2025-04-28 09:22:54,797 - OrchestratorLlamaVision - INFO - OCR terminé pour image_145435.png: 373 caractères (fr) -2025-04-28 09:22:54,797 - OCR - INFO - Traitement OCR pour output/ticket_T11143/T11143_20250422_084617/attachments/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg (langue: auto) -2025-04-28 09:22:56,742 - OCR - INFO - Langue détectée: fra -2025-04-28 09:22:57,943 - OCR - WARNING - OCR vide (aucun texte détecté) pour output/ticket_T11143/T11143_20250422_084617/attachments/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg -2025-04-28 09:22:57,943 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR pour 543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg (FR → EN) -2025-04-28 09:22:57,943 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR original (FR): 0 caractères -2025-04-28 09:22:57,943 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR traduit (EN): 0 caractères -2025-04-28 09:22:57,943 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR inverse pour validation (EN → FR) -2025-04-28 09:22:57,943 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR retraduit (FR): 0 caractères -2025-04-28 09:22:57,943 - Translate - INFO - [SAUVEGARDE] Sauvegarde des résultats OCR et traduction pour 543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg -2025-04-28 09:22:57,943 - Translate - INFO - [SAUVEGARDE] Contenus: OCR FR=0 caractères, OCR EN=0 caractères, OCR EN→FR=0 caractères -2025-04-28 09:22:57,943 - Translate - INFO - [SAUVEGARDE] Utilisation du répertoire fourni: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction -2025-04-28 09:22:57,943 - Translate - INFO - [SAUVEGARDE] Fichier JSON enregistré: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg.json -2025-04-28 09:22:57,943 - Translate - INFO - [SAUVEGARDE] Ligne ajoutée dans le fichier global: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/ocr_traduction.txt -2025-04-28 09:22:57,943 - OrchestratorLlamaVision - INFO - OCR terminé pour 543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg: 0 caractères (unknown) -2025-04-28 09:22:57,943 - OCR - INFO - Traitement OCR pour output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif (langue: auto) -2025-04-28 09:22:57,944 - OCR - ERROR - Erreur lors du prétraitement de l'image output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif: image has wrong mode -2025-04-28 09:22:58,190 - OCR - INFO - Langue détectée: fra -2025-04-28 09:22:58,304 - OCR - WARNING - OCR vide (aucun texte détecté) pour output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif -2025-04-28 09:22:58,304 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR pour a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif (FR → EN) -2025-04-28 09:22:58,304 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR original (FR): 0 caractères -2025-04-28 09:22:58,304 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR traduit (EN): 0 caractères -2025-04-28 09:22:58,304 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR inverse pour validation (EN → FR) -2025-04-28 09:22:58,304 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR retraduit (FR): 0 caractères -2025-04-28 09:22:58,304 - Translate - INFO - [SAUVEGARDE] Sauvegarde des résultats OCR et traduction pour a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif -2025-04-28 09:22:58,304 - Translate - INFO - [SAUVEGARDE] Contenus: OCR FR=0 caractères, OCR EN=0 caractères, OCR EN→FR=0 caractères -2025-04-28 09:22:58,304 - Translate - INFO - [SAUVEGARDE] Utilisation du répertoire fourni: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction -2025-04-28 09:22:58,304 - Translate - INFO - [SAUVEGARDE] Fichier JSON enregistré: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif.json -2025-04-28 09:22:58,304 - Translate - INFO - [SAUVEGARDE] Ligne ajoutée dans le fichier global: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/ocr_traduction.txt -2025-04-28 09:22:58,304 - OrchestratorLlamaVision - INFO - OCR terminé pour a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif: 0 caractères (unknown) -2025-04-28 09:22:58,304 - OrchestratorLlamaVision - INFO - Traitement de 4 images uniques avec l'agent de tri -2025-04-28 09:22:58,305 - OrchestratorLlamaVision - INFO - [AGENT] Transmission à l'agent de tri: image=image.png, OCR EN=1328 caractères -2025-04-28 09:23:17,129 - OrchestratorLlamaVision - INFO - [AGENT] Transmission à l'agent de tri: image=image_145435.png, OCR EN=367 caractères -2025-04-28 09:23:33,379 - OrchestratorLlamaVision - INFO - [AGENT] Transmission à l'agent de tri: image=543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg, OCR EN=0 caractères -2025-04-28 09:23:44,867 - OrchestratorLlamaVision - INFO - [AGENT] Transmission à l'agent de tri: image=a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif, OCR EN=0 caractères -2025-04-28 09:23:44,869 - AgentImageSorter - WARNING - Image trop petite: output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif (1x1) -2025-04-28 09:23:44,869 - AgentImageSorter - INFO - Sauvegarde de 4 résultats de tri d'images -2025-04-28 09:23:44,871 - OrchestratorLlamaVision - INFO - Sauvegarde groupée de 4 résultats de tri d'images effectuée -2025-04-28 09:23:44,871 - OrchestratorLlamaVision - INFO - Traitement OCR avancé avec LLM pour 2 images pertinentes -2025-04-28 09:23:44,871 - OrchestratorLlamaVision - INFO - [AGENT] OCR avancé sur l'image: image.png -2025-04-28 09:24:30,296 - AgentVisionOCR - INFO - OCR LLM réussi pour image.png -2025-04-28 09:24:30,296 - OrchestratorLlamaVision - INFO - OCR avancé terminé pour image.png: 886 caractères -2025-04-28 09:24:30,296 - OrchestratorLlamaVision - INFO - [AGENT] OCR avancé sur l'image: image_145435.png -2025-04-28 09:25:22,915 - AgentVisionOCR - INFO - OCR LLM réussi pour image_145435.png -2025-04-28 09:25:22,915 - OrchestratorLlamaVision - INFO - OCR avancé terminé pour image_145435.png: 789 caractères -2025-04-28 09:25:22,915 - OrchestratorLlamaVision - INFO - Début de l'analyse des images avec 2 images pertinentes -2025-04-28 09:25:22,915 - OrchestratorLlamaVision - INFO - [AGENT] Contexte transmis: ticket_analysis=True, OCR_FR=1347, OCR_EN=1328, OCR_LLM=886 -2025-04-28 09:25:22,915 - OrchestratorLlamaVision - INFO - [AGENT] Analyse de l'image: image.png -2025-04-28 09:25:22,915 - OrchestratorLlamaVision - INFO - [AGENT] Contexte transmis: ticket_analysis=True, OCR_FR=1347, OCR_EN=1328, OCR_LLM=0 -2025-04-28 09:25:22,916 - AgentImageAnalyser - INFO - Analyzing image: output/ticket_T11143/T11143_20250422_084617/attachments/image.png -2025-04-28 09:25:22,916 - AgentImageAnalyser - INFO - [LANGUE] Envoi d'une requête en anglais au modèle avec une image: image.png -2025-04-28 09:25:22,916 - AgentImageAnalyser - INFO - [LANGUE] Taille du prompt en anglais: 617 caractères -2025-04-28 09:26:43,066 - AgentImageAnalyser - INFO - [LANGUE] Réponse reçue du modèle en anglais: 1882 caractères -2025-04-28 09:26:43,067 - AgentImageAnalyser - INFO - [TRADUCTION] Traduction de la réponse d'analyse d'image de EN vers FR -2025-04-28 09:26:43,067 - AgentImageAnalyser - INFO - [TRADUCTION] Taille de la réponse en anglais: 1882 caractères -2025-04-28 09:26:43,067 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 1882 caractères -2025-04-28 09:26:43,805 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 2113 caractères -2025-04-28 09:26:43,805 - AgentImageAnalyser - INFO - [TRADUCTION] Taille de la réponse traduite en français: 2113 caractères -2025-04-28 09:26:43,806 - AgentImageAnalyser - INFO - [LANGUES] Résultat d'analyse disponible en deux langues: EN et FR -2025-04-28 09:26:43,806 - OrchestratorLlamaVision - INFO - Analyse terminée pour image.png -2025-04-28 09:26:43,806 - OrchestratorLlamaVision - INFO - [AGENT] Contexte transmis: ticket_analysis=True, OCR_FR=373, OCR_EN=367, OCR_LLM=789 -2025-04-28 09:26:43,806 - OrchestratorLlamaVision - INFO - [AGENT] Analyse de l'image: image_145435.png -2025-04-28 09:26:43,806 - OrchestratorLlamaVision - INFO - [AGENT] Contexte transmis: ticket_analysis=True, OCR_FR=373, OCR_EN=367, OCR_LLM=0 -2025-04-28 09:26:43,806 - AgentImageAnalyser - INFO - Analyzing image: output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png -2025-04-28 09:26:43,806 - AgentImageAnalyser - INFO - [LANGUE] Envoi d'une requête en anglais au modèle avec une image: image_145435.png -2025-04-28 09:26:43,806 - AgentImageAnalyser - INFO - [LANGUE] Taille du prompt en anglais: 624 caractères -2025-04-28 09:28:08,051 - AgentImageAnalyser - INFO - [LANGUE] Réponse reçue du modèle en anglais: 1967 caractères -2025-04-28 09:28:08,051 - AgentImageAnalyser - INFO - [TRADUCTION] Traduction de la réponse d'analyse d'image de EN vers FR -2025-04-28 09:28:08,051 - AgentImageAnalyser - INFO - [TRADUCTION] Taille de la réponse en anglais: 1967 caractères -2025-04-28 09:28:08,051 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 1967 caractères -2025-04-28 09:28:08,663 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 2281 caractères -2025-04-28 09:28:08,663 - AgentImageAnalyser - INFO - [TRADUCTION] Taille de la réponse traduite en français: 2281 caractères -2025-04-28 09:28:08,664 - AgentImageAnalyser - INFO - [LANGUES] Résultat d'analyse disponible en deux langues: EN et FR -2025-04-28 09:28:08,664 - OrchestratorLlamaVision - INFO - Analyse terminée pour image_145435.png -2025-04-28 09:28:08,664 - AgentImageAnalyser - INFO - Sauvegarde de 2 résultats d'analyse d'images -2025-04-28 09:28:08,664 - AgentImageAnalyser - INFO - Nom de modèle normalisé pour la sauvegarde: llama3-2-vision-90b-instruct-q8-0 -2025-04-28 09:28:08,664 - AgentImageAnalyser - INFO - Modèle utilisé pour sauvegarder les résultats: llama3-2-vision-90b-instruct-q8-0 -2025-04-28 09:28:08,665 - AgentImageAnalyser - INFO - Sauvegarde groupée de 2 résultats d'analyse d'images avec le modèle llama3-2-vision-90b-instruct-q8-0 -2025-04-28 09:28:08,665 - AgentImageAnalyser - INFO - Fichiers d'analyse d'images trouvés après sauvegarde: ['analyse_image_llama3-vision-90b-instruct_results.json'] -2025-04-28 09:28:08,665 - OrchestratorLlamaVision - INFO - Sauvegarde des résultats d'analyse d'images via sauvegarder_resultats -2025-04-28 09:28:08,665 - OrchestratorLlamaVision - INFO - [AGENT] Transmission au générateur de rapport: ticket_id=T11143, ticket_analyse=True, images_analysées=4 -2025-04-28 09:28:08,665 - OrchestratorLlamaVision - INFO - [AGENT] Données du ticket transmises: originales (FR) et traduites (EN) -2025-04-28 09:28:08,666 - AgentReportGenerator - DEBUG - Data received for T11143: {"ticket_id": "T11143", "ticket_data": {"id": "11122", "code": "T11143", "name": "BRGLAB - Essai inaccessible", "description": "*Contenu non extractible*", "project_name": "Demandes", "stage_name": "Cl\u00f4tur\u00e9", "user_id": "", "partner_id_email_from": "GIRAUD TP (JCG), Victor BOLL\u00c9E, v.bollee@labojcg.fr", "create_date": "03/04/2025 08:34:43", "write_date_last_modification": "03/04/2025 12:23:31", "date_deadline": "18/04/2025 00:00:00", "messages": [{"author_id": "Fabien LAFAY", "date... -2025-04-28 09:28:08,666 - AgentReportGenerator - INFO - Validation for T11143: OK, 2 images analyzed out of 4 images -2025-04-28 09:28:08,666 - AgentReportGenerator - INFO - Number of images to analyze: 4 -2025-04-28 09:28:08,666 - AgentReportGenerator - INFO - Adding analysis of image image.png (1882 characters) -2025-04-28 09:28:08,666 - AgentReportGenerator - INFO - Adding analysis of image image_145435.png (1967 characters) -2025-04-28 09:28:08,666 - AgentReportGenerator - WARNING - Image 543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg without analysis -2025-04-28 09:28:08,666 - AgentReportGenerator - WARNING - Image a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif without analysis -2025-04-28 09:28:08,666 - AgentReportGenerator - INFO - Size of ticket analysis: 6 characters -2025-04-28 09:28:08,666 - AgentReportGenerator - INFO - Size of image block: 3911 characters -2025-04-28 09:28:08,666 - AgentReportGenerator - DEBUG - Generated prompt (9873 characters): Voici les données d'analyse pour un ticket de support : +2025-04-28 11:42:17,972 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR pour image_145435.png (FR → EN) +2025-04-28 11:42:17,973 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR original (FR): 373 caractères +2025-04-28 11:42:17,973 - Translate - INFO - [TRADUCTION] FR → EN: Traduction de 373 caractères +2025-04-28 11:42:18,160 - Translate - INFO - [TRADUCTION] FR → EN: Résultat obtenu de 367 caractères +2025-04-28 11:42:18,160 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR traduit (EN): 367 caractères +2025-04-28 11:42:18,160 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR inverse pour validation (EN → FR) +2025-04-28 11:42:18,160 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 367 caractères +2025-04-28 11:42:18,293 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 378 caractères +2025-04-28 11:42:18,293 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR retraduit (FR): 378 caractères +2025-04-28 11:42:18,293 - Translate - INFO - [SAUVEGARDE] Sauvegarde des résultats OCR et traduction pour image_145435.png +2025-04-28 11:42:18,293 - Translate - INFO - [SAUVEGARDE] Contenus: OCR FR=373 caractères, OCR EN=367 caractères, OCR EN→FR=378 caractères +2025-04-28 11:42:18,293 - Translate - INFO - [SAUVEGARDE] Utilisation du répertoire fourni: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction +2025-04-28 11:42:18,294 - Translate - INFO - [SAUVEGARDE] Fichier JSON enregistré: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/image_145435.png.json +2025-04-28 11:42:18,294 - Translate - INFO - [SAUVEGARDE] Ligne ajoutée dans le fichier global: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/ocr_traduction.txt +2025-04-28 11:42:18,294 - OrchestratorLlamaVision - INFO - OCR terminé pour image_145435.png: 373 caractères (fr) +2025-04-28 11:42:18,294 - OCR - INFO - Traitement OCR pour output/ticket_T11143/T11143_20250422_084617/attachments/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg (langue: auto) +2025-04-28 11:42:20,208 - OCR - INFO - Langue détectée: fra +2025-04-28 11:42:21,358 - OCR - WARNING - OCR vide (aucun texte détecté) pour output/ticket_T11143/T11143_20250422_084617/attachments/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg +2025-04-28 11:42:21,358 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR pour 543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg (FR → EN) +2025-04-28 11:42:21,358 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR original (FR): 0 caractères +2025-04-28 11:42:21,358 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR traduit (EN): 0 caractères +2025-04-28 11:42:21,358 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR inverse pour validation (EN → FR) +2025-04-28 11:42:21,358 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR retraduit (FR): 0 caractères +2025-04-28 11:42:21,358 - Translate - INFO - [SAUVEGARDE] Sauvegarde des résultats OCR et traduction pour 543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg +2025-04-28 11:42:21,358 - Translate - INFO - [SAUVEGARDE] Contenus: OCR FR=0 caractères, OCR EN=0 caractères, OCR EN→FR=0 caractères +2025-04-28 11:42:21,358 - Translate - INFO - [SAUVEGARDE] Utilisation du répertoire fourni: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction +2025-04-28 11:42:21,359 - Translate - INFO - [SAUVEGARDE] Fichier JSON enregistré: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg.json +2025-04-28 11:42:21,359 - Translate - INFO - [SAUVEGARDE] Ligne ajoutée dans le fichier global: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/ocr_traduction.txt +2025-04-28 11:42:21,359 - OrchestratorLlamaVision - INFO - OCR terminé pour 543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg: 0 caractères (unknown) +2025-04-28 11:42:21,359 - OCR - INFO - Traitement OCR pour output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif (langue: auto) +2025-04-28 11:42:21,359 - OCR - ERROR - Erreur lors du prétraitement de l'image output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif: image has wrong mode +2025-04-28 11:42:21,603 - OCR - INFO - Langue détectée: fra +2025-04-28 11:42:21,712 - OCR - WARNING - OCR vide (aucun texte détecté) pour output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif +2025-04-28 11:42:21,712 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR pour a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif (FR → EN) +2025-04-28 11:42:21,712 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR original (FR): 0 caractères +2025-04-28 11:42:21,712 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR traduit (EN): 0 caractères +2025-04-28 11:42:21,713 - OrchestratorLlamaVision - INFO - [TRADUCTION] Traduction OCR inverse pour validation (EN → FR) +2025-04-28 11:42:21,713 - OrchestratorLlamaVision - INFO - [TRADUCTION] Texte OCR retraduit (FR): 0 caractères +2025-04-28 11:42:21,713 - Translate - INFO - [SAUVEGARDE] Sauvegarde des résultats OCR et traduction pour a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif +2025-04-28 11:42:21,713 - Translate - INFO - [SAUVEGARDE] Contenus: OCR FR=0 caractères, OCR EN=0 caractères, OCR EN→FR=0 caractères +2025-04-28 11:42:21,713 - Translate - INFO - [SAUVEGARDE] Utilisation du répertoire fourni: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction +2025-04-28 11:42:21,713 - Translate - INFO - [SAUVEGARDE] Fichier JSON enregistré: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif.json +2025-04-28 11:42:21,713 - Translate - INFO - [SAUVEGARDE] Ligne ajoutée dans le fichier global: output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_traduction/ocr_traduction.txt +2025-04-28 11:42:21,713 - OrchestratorLlamaVision - INFO - OCR terminé pour a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif: 0 caractères (unknown) +2025-04-28 11:42:21,713 - OrchestratorLlamaVision - INFO - Traitement de 4 images uniques avec l'agent de tri +2025-04-28 11:42:21,713 - OrchestratorLlamaVision - INFO - [AGENT] Transmission à l'agent de tri: image=image.png, OCR EN=1328 caractères +2025-04-28 11:42:41,326 - OrchestratorLlamaVision - INFO - [AGENT] Transmission à l'agent de tri: image=image_145435.png, OCR EN=367 caractères +2025-04-28 11:42:57,717 - OrchestratorLlamaVision - INFO - [AGENT] Transmission à l'agent de tri: image=543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg, OCR EN=0 caractères +2025-04-28 11:43:09,407 - OrchestratorLlamaVision - INFO - [AGENT] Transmission à l'agent de tri: image=a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif, OCR EN=0 caractères +2025-04-28 11:43:09,408 - AgentImageSorter - WARNING - Image trop petite: output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif (1x1) +2025-04-28 11:43:09,408 - AgentImageSorter - INFO - Sauvegarde de 4 résultats de tri d'images +2025-04-28 11:43:09,410 - OrchestratorLlamaVision - INFO - Sauvegarde groupée de 4 résultats de tri d'images effectuée +2025-04-28 11:43:09,410 - OrchestratorLlamaVision - INFO - Traitement OCR avancé avec LLM pour 2 images pertinentes +2025-04-28 11:43:09,410 - OrchestratorLlamaVision - INFO - [AGENT] OCR avancé sur l'image: image.png +2025-04-28 11:43:55,307 - AgentVisionOCR - INFO - OCR LLM réussi pour image.png +2025-04-28 11:43:55,307 - OrchestratorLlamaVision - INFO - OCR avancé terminé pour image.png: 886 caractères +2025-04-28 11:43:55,307 - OrchestratorLlamaVision - INFO - [AGENT] OCR avancé sur l'image: image_145435.png +2025-04-28 11:44:47,061 - AgentVisionOCR - INFO - OCR LLM réussi pour image_145435.png +2025-04-28 11:44:47,061 - OrchestratorLlamaVision - INFO - OCR avancé terminé pour image_145435.png: 789 caractères +2025-04-28 11:44:47,061 - OrchestratorLlamaVision - INFO - Début de l'analyse des images avec 2 images pertinentes +2025-04-28 11:44:47,061 - OrchestratorLlamaVision - INFO - Utilisation de l'OCR LLM pour l'analyse de image.png: 886 caractères +2025-04-28 11:44:47,061 - OrchestratorLlamaVision - INFO - [AGENT] Contexte transmis: ticket_analysis=True, OCR_FR=1347, OCR_EN=1328, OCR_LLM=886 +2025-04-28 11:44:47,062 - OrchestratorLlamaVision - INFO - Analyse de l'image: image.png +2025-04-28 11:44:47,062 - OrchestratorLlamaVision - INFO - [AGENT] Contexte transmis: ticket_analysis=True, OCR_FR=1347, OCR_EN=1328, OCR_LLM=886 +2025-04-28 11:44:47,062 - AgentImageAnalyser - INFO - Analyzing image: output/ticket_T11143/T11143_20250422_084617/attachments/image.png +2025-04-28 11:44:47,062 - AgentImageAnalyser - INFO - [LANGUE] Envoi d'une requête en anglais au modèle avec une image: image.png +2025-04-28 11:44:47,062 - AgentImageAnalyser - INFO - [LANGUE] Taille du prompt en anglais: 617 caractères +2025-04-28 11:46:07,684 - AgentImageAnalyser - INFO - [LANGUE] Réponse reçue du modèle en anglais: 1882 caractères +2025-04-28 11:46:07,684 - AgentImageAnalyser - INFO - [TRADUCTION] Traduction de la réponse d'analyse d'image de EN vers FR +2025-04-28 11:46:07,684 - AgentImageAnalyser - INFO - [TRADUCTION] Taille de la réponse en anglais: 1882 caractères +2025-04-28 11:46:07,684 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 1882 caractères +2025-04-28 11:46:07,883 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 2113 caractères +2025-04-28 11:46:07,883 - AgentImageAnalyser - INFO - [TRADUCTION] Taille de la réponse traduite en français: 2113 caractères +2025-04-28 11:46:07,883 - AgentImageAnalyser - INFO - [LANGUES] Résultat d'analyse disponible en deux langues: EN et FR +2025-04-28 11:46:07,883 - OrchestratorLlamaVision - INFO - Analyse terminée pour image.png +2025-04-28 11:46:07,883 - OrchestratorLlamaVision - INFO - Utilisation de l'OCR LLM pour l'analyse de image_145435.png: 789 caractères +2025-04-28 11:46:07,883 - OrchestratorLlamaVision - INFO - [AGENT] Contexte transmis: ticket_analysis=True, OCR_FR=373, OCR_EN=367, OCR_LLM=789 +2025-04-28 11:46:07,883 - OrchestratorLlamaVision - INFO - Analyse de l'image: image_145435.png +2025-04-28 11:46:07,883 - OrchestratorLlamaVision - INFO - [AGENT] Contexte transmis: ticket_analysis=True, OCR_FR=373, OCR_EN=367, OCR_LLM=789 +2025-04-28 11:46:07,883 - AgentImageAnalyser - INFO - Analyzing image: output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png +2025-04-28 11:46:07,884 - AgentImageAnalyser - INFO - [LANGUE] Envoi d'une requête en anglais au modèle avec une image: image_145435.png +2025-04-28 11:46:07,884 - AgentImageAnalyser - INFO - [LANGUE] Taille du prompt en anglais: 624 caractères +2025-04-28 11:47:31,880 - AgentImageAnalyser - INFO - [LANGUE] Réponse reçue du modèle en anglais: 1967 caractères +2025-04-28 11:47:31,881 - AgentImageAnalyser - INFO - [TRADUCTION] Traduction de la réponse d'analyse d'image de EN vers FR +2025-04-28 11:47:31,881 - AgentImageAnalyser - INFO - [TRADUCTION] Taille de la réponse en anglais: 1967 caractères +2025-04-28 11:47:31,881 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 1967 caractères +2025-04-28 11:47:32,087 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 2281 caractères +2025-04-28 11:47:32,088 - AgentImageAnalyser - INFO - [TRADUCTION] Taille de la réponse traduite en français: 2281 caractères +2025-04-28 11:47:32,088 - AgentImageAnalyser - INFO - [LANGUES] Résultat d'analyse disponible en deux langues: EN et FR +2025-04-28 11:47:32,088 - OrchestratorLlamaVision - INFO - Analyse terminée pour image_145435.png +2025-04-28 11:47:32,090 - agents.llama_vision.agent_image_analyser - INFO - Résultats d'analyse d'images sauvegardés dans output/ticket_T11143/T11143_20250422_084617/resultats/analyse_image_llama3-2-vision-90b-instruct-q8-0_results.json et output/ticket_T11143/T11143_20250422_084617/resultats/analyse_image_llama3-2-vision-90b-instruct-q8-0_results.txt +2025-04-28 11:47:32,090 - OrchestratorLlamaVision - INFO - Sauvegarde des résultats d'analyse d'images via sauvegarder_resultats +2025-04-28 11:47:32,090 - OrchestratorLlamaVision - INFO - [AGENT] Transmission au générateur de rapport: ticket_id=T11143, ticket_analyse=True, images_analysées=4 +2025-04-28 11:47:32,090 - OrchestratorLlamaVision - INFO - [AGENT] Données du ticket transmises: originales (FR) et traduites (EN) +2025-04-28 11:47:32,090 - AgentReportGenerator - DEBUG - Data received for T11143: {"ticket_id": "T11143", "ticket_data": {"id": "11122", "code": "T11143", "name": "BRGLAB - Essai inaccessible", "description": "*Contenu non extractible*", "project_name": "Demandes", "stage_name": "Cl\u00f4tur\u00e9", "user_id": "", "partner_id_email_from": "GIRAUD TP (JCG), Victor BOLL\u00c9E, v.bollee@labojcg.fr", "create_date": "03/04/2025 08:34:43", "write_date_last_modification": "03/04/2025 12:23:31", "date_deadline": "18/04/2025 00:00:00", "messages": [{"author_id": "Fabien LAFAY", "date... +2025-04-28 11:47:32,090 - AgentReportGenerator - INFO - Validation for T11143: OK, 2 images analyzed out of 4 images +2025-04-28 11:47:32,090 - AgentReportGenerator - INFO - Number of images to analyze: 4 +2025-04-28 11:47:32,090 - AgentReportGenerator - INFO - Adding analysis of image image.png (1882 characters) +2025-04-28 11:47:32,090 - AgentReportGenerator - INFO - Adding analysis of image image_145435.png (1967 characters) +2025-04-28 11:47:32,090 - AgentReportGenerator - WARNING - Image 543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg without analysis +2025-04-28 11:47:32,090 - AgentReportGenerator - WARNING - Image a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif without analysis +2025-04-28 11:47:32,090 - AgentReportGenerator - INFO - Size of ticket analysis: 6 characters +2025-04-28 11:47:32,090 - AgentReportGenerator - INFO - Size of image block: 3911 characters +2025-04-28 11:47:32,091 - AgentReportGenerator - DEBUG - Generated prompt (9913 characters): Voici les données d'analyse pour un ticket de support : === ANALYSE DU TICKET === {'prompt': "TITRE: BRGLAB - Essai inaccessible\n\n[03/04/2025 08:35:20] Fabien LAFAY (Système):\nGIRAUD TP (JCG), Victor BOLLÉE\n-\nil y a 9 minutes\n;\nFabien LAFAY\n;\nRomuald GRUSON\n;\nsupport\n;\nsupport\n-\nQuentin FAIVRE\n-\nFabien LAFAY\n-\nRomuald GRUSON\nBonjour,\nJe ne parviens pas à accéder au l’essai au bleu\xa0:\nMerci par avance pour votre.\nCordialement\n![Image](https://odoo.cbao.fr/web/image/1454... -2025-04-28 09:28:08,666 - AgentReportGenerator - INFO - [LANGUE] Le modèle 'llama3.2-vision:90b-instruct-q8_0' nécessite une entrée en anglais -2025-04-28 09:28:08,666 - AgentReportGenerator - INFO - [TRADUCTION] Traduction du prompt FR → EN pour T11143 -2025-04-28 09:28:08,666 - AgentReportGenerator - INFO - [TRADUCTION] Taille du prompt original en français: 9873 caractères -2025-04-28 09:28:08,666 - Translate - INFO - [TRADUCTION] FR → EN: Traduction de 9873 caractères -2025-04-28 09:28:08,666 - Translate - INFO - [TRADUCTION] Texte trop long (9873 caractères), découpage en 2 morceaux -2025-04-28 09:28:10,617 - Translate - INFO - [TRADUCTION] FR → EN: Résultat obtenu de 9740 caractères -2025-04-28 09:28:10,617 - AgentReportGenerator - INFO - [TRADUCTION] Taille du prompt traduit en anglais: 9770 caractères -2025-04-28 09:28:10,618 - AgentReportGenerator - INFO - [LANGUE] Envoi du prompt en anglais au modèle -2025-04-28 09:30:10,751 - AgentReportGenerator - INFO - [LANGUE] Réponse reçue du modèle en anglais: 90 caractères -2025-04-28 09:30:10,752 - AgentReportGenerator - INFO - [TRADUCTION] Traduction de la réponse EN → FR pour compatibilité -2025-04-28 09:30:10,752 - AgentReportGenerator - INFO - [TRADUCTION] Taille de la réponse originale en anglais: 90 caractères -2025-04-28 09:30:10,752 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 90 caractères -2025-04-28 09:30:11,332 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 105 caractères -2025-04-28 09:30:11,332 - AgentReportGenerator - INFO - [TRADUCTION] Taille de la réponse traduite en français: 105 caractères -2025-04-28 09:30:11,333 - AgentReportGenerator - DEBUG - Response received (105 characters): HttpConnectionPool (host = '217.182.105.173', port = 11434): Lire expiré. (Lire le délai d'attente = 120)... -2025-04-28 09:30:11,337 - OrchestratorLlamaVision - INFO - Traitement terminé pour le ticket T11143 -2025-04-28 09:30:11,337 - MainLlamaVision - INFO - Analyse du ticket T11143 terminée -2025-04-28 09:30:11,337 - MainLlamaVision - INFO - Génération des fichiers CSV pour le ticket T11143 -2025-04-28 09:30:11,337 - ReportCSVExporter - INFO - Traitement du rapport: rapport_final_llama3-vision-90b-instruct_results.json -2025-04-28 09:30:11,339 - ReportCSVExporter - WARNING - Aucun tableau trouvé dans le texte -2025-04-28 09:30:11,339 - ReportCSVExporter - WARNING - Aucun tableau à exporter depuis output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/rapport_final_llama3-vision-90b-instruct_results.json -2025-04-28 09:30:11,339 - ReportCSVExporter - INFO - Traitement terminé. 1 modèles traités: llama3-2-vision-90b-instruct-q8-0 -2025-04-28 09:30:11,339 - MainLlamaVision - INFO - Fichiers CSV générés avec succès +2025-04-28 11:47:32,091 - AgentReportGenerator - INFO - [LANGUE] Le modèle 'llama3.2-vision:90b-instruct-q8_0' nécessite une entrée en anglais +2025-04-28 11:47:32,091 - AgentReportGenerator - INFO - [TRADUCTION] Traduction du prompt FR → EN pour T11143 +2025-04-28 11:47:32,091 - AgentReportGenerator - INFO - [TRADUCTION] Taille du prompt original en français: 9913 caractères +2025-04-28 11:47:32,091 - Translate - INFO - [TRADUCTION] FR → EN: Traduction de 9913 caractères +2025-04-28 11:47:32,091 - Translate - INFO - [TRADUCTION] Texte trop long (9913 caractères), découpage en 2 morceaux +2025-04-28 11:47:34,011 - Translate - INFO - [TRADUCTION] FR → EN: Résultat obtenu de 9780 caractères +2025-04-28 11:47:34,011 - AgentReportGenerator - INFO - [TRADUCTION] Taille du prompt traduit en anglais: 9810 caractères +2025-04-28 11:47:34,011 - AgentReportGenerator - INFO - [LANGUE] Envoi du prompt en anglais au modèle +2025-04-28 11:49:13,895 - AgentReportGenerator - INFO - [LANGUE] Réponse reçue du modèle en anglais: 2173 caractères +2025-04-28 11:49:13,895 - AgentReportGenerator - INFO - [TRADUCTION] Traduction de la réponse EN → FR pour compatibilité +2025-04-28 11:49:13,895 - AgentReportGenerator - INFO - [TRADUCTION] Taille de la réponse originale en anglais: 2173 caractères +2025-04-28 11:49:13,895 - Translate - INFO - [TRADUCTION] EN → FR: Traduction de 2173 caractères +2025-04-28 11:49:14,710 - Translate - INFO - [TRADUCTION] EN → FR: Résultat obtenu de 2386 caractères +2025-04-28 11:49:14,710 - AgentReportGenerator - INFO - [TRADUCTION] Taille de la réponse traduite en français: 2386 caractères +2025-04-28 11:49:14,710 - AgentReportGenerator - DEBUG - Response received (2386 characters): ** Rapport croisé ** + +**Résumé:** +Le client a soumis un billet d'assistance concernant un problème technique avec une application ou un système logiciel. Le client a fourni deux images, dont l'une est une capture d'écran déformée d'un écran d'ordinateur affichant une interface de billets de support technique, et une autre qui semble être un extrait de code ou une sortie de journal. + +** Tableau chronologique des échanges: ** + +| Émetteur | Type | Date | Contenu | Éléments visuels | +| --- | --- | -... +2025-04-28 11:49:14,712 - OrchestratorLlamaVision - INFO - Traitement terminé pour le ticket T11143 +2025-04-28 11:49:14,712 - MainLlamaVision - INFO - Analyse du ticket T11143 terminée +2025-04-28 11:49:14,712 - MainLlamaVision - INFO - Génération des fichiers CSV pour le ticket T11143 +2025-04-28 11:49:14,712 - ReportCSVExporter - INFO - Traitement du rapport: rapport_final_llama3-vision-90b-instruct_results.json +2025-04-28 11:49:14,713 - ReportCSVExporter - INFO - CSV échanges généré: /home/fgras-ca/llm-ticket3/CSV/T11143/T11143_llama3-2-vision-90b-instruct-q8-0_exchanges.csv +2025-04-28 11:49:14,713 - ReportCSVExporter - INFO - Traitement du rapport: rapport_final_mistral-large-latest_results.json +2025-04-28 11:49:14,715 - ReportCSVExporter - INFO - CSV échanges généré: /home/fgras-ca/llm-ticket3/CSV/T11143/T11143_mistral-large-latest_exchanges.csv +2025-04-28 11:49:14,715 - ReportCSVExporter - INFO - Traitement terminé. 2 modèles traités: llama3-2-vision-90b-instruct-q8-0, mistral-large-latest +2025-04-28 11:49:14,715 - MainLlamaVision - INFO - Fichiers CSV générés avec succès diff --git a/output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/analyse_ticket_llama3-vision-90b-instruct_results.json b/output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/analyse_ticket_llama3-vision-90b-instruct_results.json new file mode 100644 index 0000000..f182a57 --- /dev/null +++ b/output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/analyse_ticket_llama3-vision-90b-instruct_results.json @@ -0,0 +1,26 @@ +{ + "prompt": "TITRE: BRGLAB - Essai inaccessible\n\n[03/04/2025 08:35:20] Fabien LAFAY (Système):\nGIRAUD TP (JCG), Victor BOLLÉE\n-\nil y a 9 minutes\n;\nFabien LAFAY\n;\nRomuald GRUSON\n;\nsupport\n;\nsupport\n-\nQuentin FAIVRE\n-\nFabien LAFAY\n-\nRomuald GRUSON\nBonjour,\nJe ne parviens pas à accéder au l’essai au bleu :\nMerci par avance pour votre.\nCordialement\n![Image](https://odoo.cbao.fr/web/image/145435?access_token=608ac9e7-3627-4a13-a8ec-06ff5046ebf3)\n\n---\n\n[03/04/2025 12:17:41] Fabien LAFAY (E-mail):\nBonjour\n,\nPouvez-vous vérifier si vous avez bien accès à la page suivante en l'ouvrant dans votre navigateur :\nhttps://zk1.brg-lab.com/\nVoici ce que vous devriez voir affiché :\nSi ce n'est pas le cas, pouvez-vous me faire une capture d'écran de ce qui est affiché?\nJe reste à votre entière disposition pour toute information complémentaire.\nCordialement,\n---\nSupport technique\n\n- image.png (image/png) [ID: 145453]\n\n---\n\n[03/04/2025 12:21:13] Victor BOLLÉE (E-mail):\nBonjour,\nLe problème s’est résolu seul par la suite.\nJe vous remercie pour votre retour.\nBonne journée\nPS : l’adresse fonctionne\nDe :\n\n---", + "prompt_en": "Title: BRGLAB - Inaccessible test\n\n[03/04/2025 08:35:20] Fabien Lafay (System):\nGiraud TP (JCG), Victor Bollée\n-\n9 minutes ago\n;\nFabien Lafay\n;\nROMUALD GRUSON\n;\nsupport\n;\nsupport\n-\nQuentin Faivre\n-\nFabien Lafay\n-\nROMUALD GRUSON\nGood morning,\nI cannot access the blue test:\nThank you in advance for your.\nSincerely\n! [Image] (https://odoo.cbao.fr/web/image/145435?access_token=608ac9e7-3627-4a13-8ec-06ff5046ebf3)\n\n---\n\n[03/04/2025 12:17:41] Fabien Lafay (E-mail):\nGood morning\n,,\nCan you check if you have access to the next page by opening it in your browser:\nhttps://zk1.brg-lab.com/\nHere is what you should see displayed:\nIf not, can you give me a screenshot of what is displayed?\nI remain at your entire disposal for any further information.\nSincerely,\n---\nTechnical support\n\n- Image.png (Image/PNG) [ID: 145453]\n\n---\n\n[03/04/2025 12:21:13] Victor Bollée (E-mail):\nGood morning,\nThe problem resolved alone later.\nThank you for your return.\nGood day\nPS: the address works\nOf :\n\n---", + "response": "** Résumé chronologique des échanges **\n\n1. [03/04/2025 08:35:20] Fabien Lafay (système) rapporte un problème avec l'accès au test bleu et envoie une image.\n2. [03/04/2025 12:17:41] Fabien Lafay répond au rapport initial, demandant à l'utilisateur de vérifier l'accès à une URL spécifique et de fournir un résultat attendu.\n3. [03/04/2025 12:21:13] Victor Bollée répond, déclarant que le problème s'est résolu et remerciant la réponse.\n\n** Extraction des détails techniques importants **\n\n* Le test bleu est inaccessible (rapport initial)\n* Une capture d'écran a été envoyée avec le rapport initial (image.png, id: 145435)\n* Fabien Lafay demande à l'utilisateur de vérifier l'accès à une URL spécifique: [URL] https://zk1.brg-lob.com/\n* Un résultat attendu pour accéder à l'URL ci-dessus est fourni\n* Une autre image a été envoyée par Fabien Lafay (image.png, id: 145453)\n\n** Identification des URL **\n\n* [Url] https://odoo.cbao.fr/web/image/145435?access_token=608AC9E7-3627-4A13-8EC-06FF5046EBF3\n* [URL] https://zk1.brg-lab.com/\n\n** Analyse de la résolution des problèmes **\n\nLe problème a été rapporté comme résolu par l'utilisateur (Victor Bollée) dans sa réponse, déclarant que \"le problème a résolu seul plus tard\". Aucune autre action ou dépannage n'a été nécessaire de l'équipe de support technique.", + "response_en": "**Chronological Summary of Exchanges**\n\n1. [03/04/2025 08:35:20] Fabien Lafay (System) reports an issue with accessing the blue test and sends an image.\n2. [03/04/2025 12:17:41] Fabien Lafay responds to the initial report, asking the user to check access to a specific URL and providing an expected outcome.\n3. [03/04/2025 12:21:13] Victor Bollée responds, stating that the issue resolved itself and thanking for the response.\n\n**Extraction of Important Technical Details**\n\n* The blue test is inaccessible (initial report)\n* A screenshot was sent with the initial report (Image.png, ID: 145435)\n* Fabien Lafay asks the user to check access to a specific URL: [URL]https://zk1.brg-lab.com/\n* An expected outcome for accessing the above URL is provided\n* Another image was sent by Fabien Lafay (Image.png, ID: 145453)\n\n**Identification of URLs**\n\n* [URL]https://odoo.cbao.fr/web/image/145435?access_token=608ac9e7-3627-4a13-8ec-06ff5046ebf3\n* [URL]https://zk1.brg-lab.com/\n\n**Analysis of Issue Resolution**\n\nThe issue was reported as resolved by the user (Victor Bollée) in their response, stating that \"the problem resolved alone later\". No further action or troubleshooting was required from the technical support team.", + "urls_extracted": [ + "https://zk1.brg-lab.com", + "https://odoo.cbao.fr", + "https://zk1.brg-lab.com/", + "https://odoo.cbao.fr/web/image/145435?access_token=608ac9e7-3627-4a13-8ec-06ff5046ebf3" + ], + "metadata": { + "timestamp": "20250428_114212", + "source_agent": "AgentTicketAnalyser", + "ticket_id": "T11143", + "model_info": { + "model": "llama3-2-vision-90b-instruct-q8-0", + "temperature": 0.1, + "top_p": 0.5, + "max_tokens": 4000 + }, + "language": "en-fr", + "translation_markers": true, + "is_translated": true + } +} \ No newline at end of file diff --git a/output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/analyse_ticket_llama3-vision-90b-instruct_results.txt b/output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/analyse_ticket_llama3-vision-90b-instruct_results.txt new file mode 100644 index 0000000..c5599c5 --- /dev/null +++ b/output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/analyse_ticket_llama3-vision-90b-instruct_results.txt @@ -0,0 +1,29 @@ +RÉSULTATS DE L'ANALYSE ANALYSE_TICKET - TICKET T11143 +================================================================================ + +** Résumé chronologique des échanges ** + +1. [03/04/2025 08:35:20] Fabien Lafay (système) rapporte un problème avec l'accès au test bleu et envoie une image. +2. [03/04/2025 12:17:41] Fabien Lafay répond au rapport initial, demandant à l'utilisateur de vérifier l'accès à une URL spécifique et de fournir un résultat attendu. +3. [03/04/2025 12:21:13] Victor Bollée répond, déclarant que le problème s'est résolu et remerciant la réponse. + +** Extraction des détails techniques importants ** + +* Le test bleu est inaccessible (rapport initial) +* Une capture d'écran a été envoyée avec le rapport initial (image.png, id: 145435) +* Fabien Lafay demande à l'utilisateur de vérifier l'accès à une URL spécifique: [URL] https://zk1.brg-lob.com/ +* Un résultat attendu pour accéder à l'URL ci-dessus est fourni +* Une autre image a été envoyée par Fabien Lafay (image.png, id: 145453) + +** Identification des URL ** + +* [Url] https://odoo.cbao.fr/web/image/145435?access_token=608AC9E7-3627-4A13-8EC-06FF5046EBF3 +* [URL] https://zk1.brg-lab.com/ + +** Analyse de la résolution des problèmes ** + +Le problème a été rapporté comme résolu par l'utilisateur (Victor Bollée) dans sa réponse, déclarant que "le problème a résolu seul plus tard". Aucune autre action ou dépannage n'a été nécessaire de l'équipe de support technique. + + +================================================================================ +Fichier original: analyse_ticket_llama3-vision-90b-instruct_results.json \ No newline at end of file diff --git a/output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_llm_llama3-vision-90b-instruct_results.json b/output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_llm_llama3-vision-90b-instruct_results.json new file mode 100644 index 0000000..847d841 --- /dev/null +++ b/output/ticket_T11143/T11143_20250422_084617/T11143_rapports/pipeline/ocr_llm_llama3-vision-90b-instruct_results.json @@ -0,0 +1,32 @@ +[ + { + "extracted_text": "After analyzing the provided image, I extracted the following visible text:\n\n**Labels and Text:**\n\n* N/A (no readable labels or text found)\n\n**Titles:**\n\n* N/A (no readable titles found)\n\n**Buttons:**\n\n* N/A (no readable buttons found)\n\n**Errors:**\n\n* N/A (no error messages found)\n\n**URLs:**\n\n* N/A (no URLs found)\n\n**Other Text:**\n\n* A large amount of unreadable, blurry, and stylized characters are present in the image. It appears to be a jumbled mix of letters and symbols.\n\n**Unreadable or Missing Parts:**\n\n* The entire image contains unreadable text due to its blurry and stylized nature.\n* No clear or recognizable text can be extracted from the image.\n\nPlease note that the provided image does not contain any readable text, making it impossible for me to extract meaningful information. If you have a different image with clearer text, I would be happy to assist you further.", + "image_name": "image.png", + "image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/image.png", + "ocr_script_text": "Apache Tomcat x +\n\nGC @ 2 zk1.brg-lab.com\n\n@ Andre Demo Devmat @ Base model\n\nIt works!\n\nIf you are seeing this page via a web browser, it means you've setup tomcat successfully. Congratulations!\n\nThis is the Default Tomcat Home Page. It can be found on the local Filesystem at: /var/lib/tomcat7/webapps/root/index.html\n\nTomcat? veterans might be pleased to read this system instance of tomcat is installed with catalina_home in/usr/tomcat7 and catalina_base in/var/1ib/tomcat7, following the rules from/usr/share/doc/tomcat7-common/Running. TXT. Gz.\nYou might consider installing the following packages, if you have alreni done so:\n\nTomcat7-Docs: This Package Installes A Web Application that Allows to Browse the Tomcat 7 Locally documentation. Once Installed, you can access it by clicking\n\nTomcat7-Example: This Package Installes A Web Application that Allows to Access the Tomcat 7 Servlet and JSP Examples. Once Installed, you can access it by clicking\n\nTomcat7-Admin: This Package Installes Two Web Applications that can help managing this tomcat instance. Once Installed, you can access the and the\n\nNote: For Security Reasons, Using the Manager Webapp is restricted to users with role \"manager-gui\". The Host-Manager Webapp is restricted to users with role \"admin-gui\". USERS ARE DEFINED in/and/TOMCAT7/TOMCTA-users.xml.", + "ticket_id": "T11143", + "timestamp": "2025-04-28 11:43:55", + "source_agent": "AgentVisionOCR", + "model_info": { + "model": "llama3-2-vision-90b-instruct-q8-0", + "temperature": 0.1, + "top_p": 0.85, + "max_tokens": 1500 + } + }, + { + "extracted_text": "After analyzing the provided image, I extracted the following visible text:\n\n**Labels/Titles:**\n\n* None\n\n**Buttons:**\n\n* None\n\n**Errors:**\n\n* None\n\n**URLs:**\n\n* None\n\n**Text:**\n\n* `pH 7,4`\n* `NaCl 150 mM`\n* `NaN3 0,02 %`\n* `PBS-Tween`\n* `1X`\n* `100 ml`\n* `pH 7,2`\n* `NaCl 137 mM`\n* `KCl 2,7 mM`\n* `NaN3 0,02 %`\n\n**Partial/Blurry Text:**\n\n* `[illegible characters]...ml` (appears to be a volume measurement)\n* `[stylized font]...PBS-Tween` (partially readable)\n\n**Unreadable/Missing Parts:**\n\n* The image contains some blurry and stylized text, making it difficult to extract certain parts.\n* There are no completely missing parts in the image.\n\nPlease note that the extracted text is mostly related to chemical compositions and measurements, likely from a laboratory or scientific context.", + "image_name": "image_145435.png", + "image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png", + "ocr_script_text": "C3 GIRAUDBRG-LOBICOM/BRG-LAB/PAGE PROGRATSSAI/ZEAAAHEVNGOAAA\n\n Brglas CD concrete CD Foumasew Tubo © Mass\n\nEchantillion n ° 25-0007 eceptian on 02/04/2025 PR BOLLÉ Victor prevoted on 04/04/2025 POR BOLLEE Victor N ° Pédéwment 25-00078\nSand material 0/20 CARRIERE ADCEG\n\n[FAI JEMMARME | [M porrouo || onservanons] [