mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-15 19:46:53 +01:00
2204-16:01
This commit is contained in:
parent
baaee5cb32
commit
d4d5747e50
File diff suppressed because one or more lines are too long
106
main_llama.py
106
main_llama.py
@ -0,0 +1,106 @@
|
||||
"""Point d'entrée principal pour l'analyse d'un ticket de support en utilisant exclusivementLlama_vision."""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import argparse
|
||||
import logging
|
||||
import json
|
||||
from typing import Dict, Any
|
||||
|
||||
from agent_factory_llama import AgentFactoryLlamaVision
|
||||
from orchestrator_llama import OrchestratorLlamaVision
|
||||
from agents.utils.report_csv_exporter import traiter_rapports_ticket
|
||||
|
||||
# Configuration du logging
|
||||
logging.basicConfig(level=logging.INFO,
|
||||
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
||||
handlers=[
|
||||
logging.StreamHandler(),
|
||||
logging.FileHandler('main_llama.log')
|
||||
])
|
||||
|
||||
logger = logging.getLogger("MainLlamaVision")
|
||||
|
||||
def parse_arguments():
|
||||
parser = argparse.ArgumentParser(description="Analyse complète d'un ticket avec llama_vision.")
|
||||
|
||||
parser.add_argument("ticket_id", help="ID du ticket à analyser (ex: T1234)")
|
||||
parser.add_argument("--output_dir", default="output", help="Répertoire de sortie (par défaut:)")
|
||||
#Options de configuration
|
||||
parser.add_argument("--no-dedup", action="store_true", help="Désactiver le préfiltrage des doublons d'images")
|
||||
parser.add_argument("--seuil", type=int, default=5, help="Seuil de similarité pour la déduplication (0-10)")
|
||||
parser.add_argument("--save-results", action="store_true", help="Sauvegarder les résultats intermédiaires")
|
||||
parser.add_argument("--debug", action="store_true", help="Activer le mode debug")
|
||||
parser.add_argument("--reports-dir", default="reports", help="Répertoire de suvegarde des rapports")
|
||||
# Etapes falcutatives
|
||||
parser.add_argument("--skip-ticket-analysis", action="store_true", help="Sauter l'analyse du ticket")
|
||||
parser.add_argument("--skip-image-sorting", action="store_true", help="Sauter le tri d'images")
|
||||
parser.add_argument("--skip-image-analysis", action="store_true", help="Sauter l'analyse des images")
|
||||
parser.add_argument("--skip-report", action="store_true", help="Sauter la génération du rapport")
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
def main():
|
||||
"""Fonction principale pour l'analyse des tickets de support."""
|
||||
args = parse_arguments()
|
||||
|
||||
if args.debug:
|
||||
logging.getLogger().setLevel(logging.DEBUG)
|
||||
logger.debug("Mode debug activé")
|
||||
|
||||
config = {
|
||||
"dedup_enabled": not args.no_dedup,
|
||||
"dedup_threshold": args.seuil,
|
||||
"save_results": args.save_results,
|
||||
"debug_mode": args.debug,
|
||||
"reports_dir": args.reports_dir
|
||||
}
|
||||
|
||||
logger.info(f"Configuration: {json.dumps(config, indent=2)}")
|
||||
|
||||
try:
|
||||
# Initialisation des agents llama_vision
|
||||
agents = AgentFactoryLlamaVision.create_all_agents()
|
||||
|
||||
# Application des skips
|
||||
if args.skip_ticket_analysis:
|
||||
agents["ticket_analyser"] = None
|
||||
if args.skip_image_sorting:
|
||||
agents["image_sorter"] = None
|
||||
if args.skip_image_analysis:
|
||||
agents["image_analyser"] = None
|
||||
if args.skip_report:
|
||||
agents["report_generator"] = None
|
||||
|
||||
# Orchestrateur de llama_vision
|
||||
orchestrator = OrchestratorLlamaVision(
|
||||
output_dir=args.output_dir,
|
||||
ticket_agent=agents.get("ticket_analyser"),
|
||||
image_sorter=agents.get("image_sorter"),
|
||||
image_analyser=agents.get("image_analyser"),
|
||||
report_generator=agents.get("report_generator"),
|
||||
config=config
|
||||
)
|
||||
|
||||
logger.info(f"Lancement de l'analyse du ticket {args.ticket_id}")
|
||||
orchestrator.executer(args.ticket_id)
|
||||
logger.info(f"Analyse du ticket {args.ticket_id} terminée avec succès")
|
||||
|
||||
if agents.get("report_generator") and not args.skip_report:
|
||||
try:
|
||||
logger.info(f"Génération des fichiers CSV pour le ticket {args.ticket_id}")
|
||||
traiter_rapports_ticket(args.ticket_id)
|
||||
logger.info("Fichiers CSV générés avec succès")
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur lors de la génération des fichiers CSV: {e}", exc_info=True)
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur lors de l'éxécution : {e}", exc_info=True)
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
|
||||
|
||||
190
orchestrator_llama.py
Normal file
190
orchestrator_llama.py
Normal file
@ -0,0 +1,190 @@
|
||||
import os
|
||||
import json
|
||||
import logging
|
||||
import time
|
||||
import traceback
|
||||
from typing import List, Dict, Any, Optional
|
||||
|
||||
from agents.base_agent import BaseAgent
|
||||
from loaders.ticket_data_loader import TicketDataLoader
|
||||
from utils.image_dedup import filtrer_images_uniques
|
||||
|
||||
# Configuration du logging
|
||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
||||
filename='orchestrator_llama.log', filemode='w')
|
||||
logger = logging.getLogger("OrchestratorLlamaVision")
|
||||
|
||||
class OrchestratorLlamaVision:
|
||||
"""Orchestrateur pour l'analyse des tickets avec llama_vision."""
|
||||
|
||||
def __init__(self,
|
||||
output_dir: str = "output/",
|
||||
ticket_agent: Optional[BaseAgent] = None,
|
||||
image_sorter: Optional[BaseAgent] = None,
|
||||
image_analyser: Optional[BaseAgent] = None,
|
||||
report_generator: Optional[BaseAgent] = None,
|
||||
config: Optional[Dict[str, Any]] = None):
|
||||
|
||||
"""Initialisation de l'orchestrateur."""
|
||||
self.output_dir = output_dir
|
||||
self.ticket_agent = ticket_agent
|
||||
self.image_sorter = image_sorter
|
||||
self.image_analyser = image_analyser
|
||||
self.report_generator = report_generator
|
||||
self.ticket_loader = TicketDataLoader()
|
||||
|
||||
self.config = {
|
||||
"dedup_enabled": True,
|
||||
"dedup_threshold": 5,
|
||||
"save_results": True,
|
||||
"debug_mode": False,
|
||||
"reports_dir": "reports"
|
||||
}
|
||||
|
||||
if config:
|
||||
self.config.update(config)
|
||||
|
||||
logger.info(f"OrchestratorLlamaVision initialisé avec les paramètres: {self.config}")
|
||||
|
||||
def executer(self, ticket_id: Optional[str] = None):
|
||||
ticket_path = os.path.join(self.output_dir, f"ticket_{ticket_id}")
|
||||
if not os.path.exists(ticket_path):
|
||||
logger.error(f"Le ticket {ticket_id} est introuvable dans {ticket_path}")
|
||||
return
|
||||
|
||||
try:
|
||||
self.traiter_ticket(ticket_path)
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur globale sur le ticket {ticket_id}: {e}")
|
||||
if self.config.get("debug_mode"):
|
||||
logger.error(traceback.format_exc())
|
||||
|
||||
def traiter_ticket(self, ticket_path: str):
|
||||
ticket_id = os.path.basename(ticket_path).replace("ticket_", "")
|
||||
logger.info(f"Traitement du ticket {ticket_id}")
|
||||
|
||||
extractions = self._trouver_extractions(ticket_path, ticket_id)
|
||||
if not extractions:
|
||||
logger.warning(f"Aucune extraction trouvée pour le ticket {ticket_id}")
|
||||
return
|
||||
extraction_path = extractions[0]
|
||||
|
||||
attachments_dir = os.path.join(extraction_path, "attachments")
|
||||
rapport_dir = os.path.join(extraction_path, f"{ticket_id}_rapports")
|
||||
os.makedirs(rapport_dir, exist_ok=True)
|
||||
|
||||
json_path = self.ticket_loader.trouver_ticket(extraction_path, ticket_id)
|
||||
ticket_data = self._charger_ticket(json_path)
|
||||
if not ticket_data:
|
||||
return
|
||||
|
||||
ticket_analysis = None
|
||||
if self.ticket_agent:
|
||||
try:
|
||||
ticket_analysis = self.ticket_agent.executer(ticket_data)
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur analyse ticket : {e}")
|
||||
if self.config.get("debug_mode"):
|
||||
logger.error(traceback.format_exc())
|
||||
|
||||
images_analyses, relevant_images = {}, []
|
||||
if os.path.exists(attachments_dir):
|
||||
images = self._lister_images(attachments_dir)
|
||||
if self.config.get("dedup_enabled", True):
|
||||
images = filtrer_images_uniques(images, seuil_hamming=self.config["dedup_threshold"], ticket_id=ticket_id)
|
||||
|
||||
for img in images:
|
||||
result_sort = {}
|
||||
is_relevant = True
|
||||
if self.image_sorter:
|
||||
try:
|
||||
result_sort = self.image_sorter.executer(img)
|
||||
is_relevant = result_sort.get("is_relevant", True)
|
||||
except Exception as e:
|
||||
logger.warning(f"Erreur tri image {os.path.basename(img)}: {e}")
|
||||
|
||||
if is_relevant:
|
||||
relevant_images.append(img)
|
||||
|
||||
images_analyses[img] = {
|
||||
"sorting": result_sort or {"is_relevant": True},
|
||||
"analysis": None
|
||||
}
|
||||
|
||||
if self.image_analyser and ticket_analysis:
|
||||
for img in relevant_images:
|
||||
try:
|
||||
result = self.image_analyser.executer(img, contexte=ticket_analysis)
|
||||
images_analyses[img]["analysis"] = result
|
||||
except Exception as e:
|
||||
logger.warning(f"Erreur analyse image {os.path.basename(img)}: {e}")
|
||||
|
||||
if self.report_generator and ticket_analysis:
|
||||
try:
|
||||
rapport_data = {
|
||||
"ticket_id": ticket_id,
|
||||
"ticket_data": ticket_data,
|
||||
"ticket_analyse": ticket_analysis,
|
||||
"analyse_images": images_analyses
|
||||
}
|
||||
|
||||
dest_dir = os.path.join(self.config["reports_dir"], ticket_id)
|
||||
os.makedirs(dest_dir, exist_ok=True)
|
||||
|
||||
rapport_final = self.report_generator.executer(rapport_data)
|
||||
|
||||
if self.config.get("save_results", True):
|
||||
with open(os.path.join(dest_dir, f"rapport_final_{ticket_id}.json"), "w", encoding="utf-8") as f:
|
||||
json.dump({
|
||||
"ticket_id": ticket_id,
|
||||
"rapport": rapport_final,
|
||||
"metadata": {
|
||||
"images_total": len(images_analyses),
|
||||
"images_pertinentes": len(relevant_images),
|
||||
"images_analysees": sum(1 for x in images_analyses.values() if x.get("analysis")),
|
||||
"timestamp": time.strftime("%Y%m%d_%H%M%S")
|
||||
}
|
||||
}, f, ensure_ascii=False, indent=2)
|
||||
|
||||
with open(os.path.join(dest_dir, f"rapport_final_{ticket_id}.txt"), "w", encoding="utf-8") as f:
|
||||
f.write(f"RAPPORT TICKET {ticket_id}\n{'='*40}\n\n")
|
||||
f.write(rapport_final)
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur lors du rapport : {e}")
|
||||
if self.config.get("debug_mode"):
|
||||
logger.error(traceback.format_exc())
|
||||
|
||||
logger.info(f"Traitement terminé pour le ticket {ticket_id}")
|
||||
|
||||
def _charger_ticket(self, json_path: Optional[str]) -> Optional[Dict[str, Any]]:
|
||||
if not json_path:
|
||||
logger.warning("Aucun chemin JSON fourni")
|
||||
return None
|
||||
try:
|
||||
return self.ticket_loader.charger(json_path)
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur chargemnt ticket JSON : {e}")
|
||||
return None
|
||||
|
||||
def _trouver_extractions(self, ticket_path: str, ticket_id: str) -> List[str]:
|
||||
return sorted(
|
||||
[os.path.join(ticket_path, d) for d in os.listdir(ticket_path)
|
||||
if os.path.isdir(os.path.join(ticket_path, d)) and d.startswith(ticket_id)],
|
||||
key=lambda x: os.path.getmtime(x),
|
||||
reverse=True
|
||||
)
|
||||
|
||||
def _lister_images(self, dossier: str) -> List[str]:
|
||||
extensions = ['.png', '.jpeg', 'jpg', '.gif', '.webp', '.bmp']
|
||||
images = []
|
||||
for racine, _, fichiers in os.walk(dossier):
|
||||
for f in fichiers:
|
||||
if any(f.lower().endswith(ext) for ext in extensions):
|
||||
images.append(os.path.join(racine, f))
|
||||
return images
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"prompt": "### TICKET T11143\n\n--- MESSAGE INITIAL DU CLIENT ---\nAuteur : GIRAUD TP (JCG), Victor BOLLÉE, v.bollee@labojcg.fr\nDate : 03/04/2025 08:34\nContenu :\nBRGLAB - Essai inaccessible\n*Contenu non extractible*\n\n--- MESSAGE 1 ---\nAuteur : Fabien LAFAY\nDate : 03/04/2025 08:35\nType : Système\nSujet : Re: [T11143] BRGLAB - Essai inaccessible\nContenu :\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\n\n---\n\n--- MESSAGE 2 ---\nAuteur : Fabien LAFAY\nDate : 03/04/2025 12:17\nType : E-mail\nSujet : Re: [T11143] - BRGLAB - Essai inaccessible\nContenu :\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--- MESSAGE 3 ---\nAuteur : Victor BOLLÉE\nDate : 03/04/2025 12:21\nType : E-mail\nSujet : TR: [T11143] - BRGLAB - Essai inaccessible\nContenu :\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---\n\n",
|
||||
"response": "Le problème d'accessibilité à l'essai BRGLAB a été résolu de lui-même.",
|
||||
"metadata": {
|
||||
"timestamp": "20250422_155823",
|
||||
"source_agent": "AgentTicketAnalyser",
|
||||
"ticket_id": "T11143",
|
||||
"model_info": {
|
||||
"model": "llama3.2-vision:90b-instruct-q8_0",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"top_k": 30,
|
||||
"num_ctx": 1024,
|
||||
"repeat_penalty": 1.1,
|
||||
"repeat_last_n": 64,
|
||||
"mirostat": 0,
|
||||
"mirostat_eta": 0.1,
|
||||
"mirostat_tau": 5,
|
||||
"keep_alive": 120,
|
||||
"num_predict": 1024,
|
||||
"min_p": 0,
|
||||
"seed": 0,
|
||||
"stop": [
|
||||
"\n\n",
|
||||
"###"
|
||||
],
|
||||
"stream": false
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -0,0 +1,12 @@
|
||||
RÉSULTATS DE L'ANALYSE ANALYSE_TICKET - TICKET T11143
|
||||
================================================================================
|
||||
|
||||
--- ÉLÉMENT 1 ---
|
||||
|
||||
Le problème d'accessibilité à l'essai BRGLAB a été résolu de lui-même.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
|
||||
================================================================================
|
||||
Fichier original: analyse_ticket_llama3.2-vision:90b-instruct-q8_0_results.json
|
||||
@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"prompt": "Voici les données d'analyse pour un ticket de support :\n\n=== ANALYSE DU TICKET ===\nLe problème d'accessibilité à l'essai BRGLAB a été résolu de lui-même.\n\n=== ANALYSES D'IMAGES ===\n\n\nGénère un rapport croisé en suivant les instructions précédentes, incluant un tableau chronologique des échanges entre CLIENT et SUPPORT. Utilise le format suivant pour le tableau :\n| ÉMETTEUR | TYPE | DATE | CONTENU | ÉLÉMENTS VISUELS |\n| --- | --- | --- | --- | --- |\n| CLIENT | question | date | texte de la question | éléments pertinents des images |\n| SUPPORT | réponse | date | texte de la réponse | éléments pertinents des images |\n\nCe tableau doit synthétiser les échanges tout en intégrant les données pertinentes des images avec le maximum de contexte technique.",
|
||||
"response": "Voici un exemple de rapport croisé basé sur les instructions fournies :",
|
||||
"metadata": {
|
||||
"ticket_id": "T11143",
|
||||
"timestamp": "20250422_155921",
|
||||
"source_agent": "AgentReportGenerator",
|
||||
"model_info": {
|
||||
"model": "llama3.2-vision:90b-instruct-q8_0",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"top_k": 30,
|
||||
"num_ctx": 1024,
|
||||
"repeat_penalty": 1.1,
|
||||
"repeat_last_n": 64,
|
||||
"mirostat": 0,
|
||||
"mirostat_eta": 0.1,
|
||||
"mirostat_tau": 5,
|
||||
"keep_alive": 120,
|
||||
"num_predict": 1024,
|
||||
"min_p": 0,
|
||||
"seed": 0,
|
||||
"stop": [
|
||||
"\n\n",
|
||||
"###"
|
||||
],
|
||||
"stream": false
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -0,0 +1,12 @@
|
||||
RÉSULTATS DE L'ANALYSE RAPPORT_FINAL - TICKET T11143
|
||||
================================================================================
|
||||
|
||||
--- ÉLÉMENT 1 ---
|
||||
|
||||
Voici un exemple de rapport croisé basé sur les instructions fournies :
|
||||
|
||||
----------------------------------------
|
||||
|
||||
|
||||
================================================================================
|
||||
Fichier original: rapport_final_llama3.2-vision:90b-instruct-q8_0_results.json
|
||||
@ -1,34 +1,4 @@
|
||||
RAPPORT D'ANALYSE DU TICKET T11143
|
||||
==================================================
|
||||
|
||||
### Rapport Final
|
||||
|
||||
#### 1. Contexte général
|
||||
Le client signale un problème d'accès à l'essai au bleu, qui s'est résolu de lui-même par la suite, et confirme que l'adresse https://zk1.brg-lab.com/ fonctionne.
|
||||
|
||||
#### 2. Problèmes ou questions identifiés
|
||||
- Pourquoi l'essai au bleu est-il inaccessible ?
|
||||
- Comment accéder à la page https://zk1.brg-lab.com/ ?
|
||||
|
||||
#### 3. Résumé croisé image/texte pour chaque question
|
||||
|
||||
**Pourquoi l'essai au bleu est-il inaccessible ?**
|
||||
- **Texte du ticket** : Le client mentionne un problème d'accès à l'essai au bleu.
|
||||
- **Image (image_145435.png)** : L'image montre l'interface de l'essai au bleu de méthylène de méthylène (MB) - NF EN 933-9. Un message d'erreur en bas de l'écran indique : "Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com".
|
||||
|
||||
**Comment accéder à la page https://zk1.brg-lab.com/ ?**
|
||||
- **Texte du ticket** : Le support demande au client de vérifier l'accès à la page https://zk1.brg-lab.com/.
|
||||
- **Image (image.png)** : L'image confirme que la page https://zk1.brg-lab.com/ est accessible et affiche une page de confirmation d'installation de Tomcat 7.
|
||||
|
||||
#### 4. Liste d'observations supplémentaires pertinentes
|
||||
- L'essai au bleu mentionné par le client correspond à l'essai au bleu de méthylène de méthylène (MB) - NF EN 933-9.
|
||||
- Le message d'erreur "Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com" pourrait être lié au problème d'accès initial signalé par le client.
|
||||
- La page https://zk1.brg-lab.com/ affiche une confirmation d'installation de Tomcat 7, indiquant que le serveur est opérationnel.
|
||||
|
||||
#### 5. Tableau chronologique d'échanges
|
||||
|
||||
| ÉMETTEUR | TYPE | DATE | CONTENU | ÉLÉMENTS VISUELS |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| CLIENT | question | 03/04/2025 08:34 | Problème d'accès à l'essai au bleu. | Message d'erreur : "Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com" (image_145435.png) |
|
||||
| SUPPORT | réponse | 03/04/2025 12:17 | Demande de vérification de l'accès à la page https://zk1.brg-lab.com/. | Page de confirmation d'installation de Tomcat 7 (image.png) |
|
||||
| CLIENT | information | 03/04/2025 12:21 | Le problème s'est résolu de lui-même. L'adresse https://zk1.brg-lab.com/ fonctionne. | Page de confirmation d'installation de Tomcat 7 (image.png) |
|
||||
Voici un exemple de rapport croisé basé sur les instructions fournies :
|
||||
@ -0,0 +1,130 @@
|
||||
[
|
||||
{
|
||||
"is_relevant": false,
|
||||
"reason": "Non, l'image semble être un code aléatoire et non liée à un problème technique spécifique. Elle ne fournit aucune information utile pour résoudre un problème technique. Il est probable qu'il s'agisse d'un erreur ou d'un fichier corrompu.",
|
||||
"raw_response": "Non, l'image semble être un code aléatoire et non liée à un problème technique spécifique. Elle ne fournit aucune information utile pour résoudre un problème technique. Il est probable qu'il s'agisse d'un erreur ou d'un fichier corrompu.",
|
||||
"metadata": {
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/image.png",
|
||||
"image_name": "image.png",
|
||||
"timestamp": "20250422_155840",
|
||||
"model_info": {
|
||||
"model": "llama3.2-vision:90b-instruct-q8_0",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"top_k": 30,
|
||||
"num_ctx": 1024,
|
||||
"repeat_penalty": 1.1,
|
||||
"repeat_last_n": 64,
|
||||
"mirostat": 0,
|
||||
"mirostat_eta": 0.1,
|
||||
"mirostat_tau": 5,
|
||||
"keep_alive": 120,
|
||||
"num_predict": 1024,
|
||||
"min_p": 0,
|
||||
"seed": 0,
|
||||
"stop": [
|
||||
"\n\n",
|
||||
"###"
|
||||
],
|
||||
"stream": false
|
||||
},
|
||||
"source_agent": "AgentImageSorter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"is_relevant": false,
|
||||
"reason": "Non, l'image semble être un code aléatoire et non liée à un problème technique spécifique. Elle ne fournit aucune information utile pour résoudre un problème technique. Il est probable qu'il s'agisse d'un erreur ou d'un fichier corrompu.",
|
||||
"raw_response": "Non, l'image semble être un code aléatoire et non liée à un problème technique spécifique. Elle ne fournit aucune information utile pour résoudre un problème technique. Il est probable qu'il s'agisse d'un erreur ou d'un fichier corrompu.",
|
||||
"metadata": {
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png",
|
||||
"image_name": "image_145435.png",
|
||||
"timestamp": "20250422_155855",
|
||||
"model_info": {
|
||||
"model": "llama3.2-vision:90b-instruct-q8_0",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"top_k": 30,
|
||||
"num_ctx": 1024,
|
||||
"repeat_penalty": 1.1,
|
||||
"repeat_last_n": 64,
|
||||
"mirostat": 0,
|
||||
"mirostat_eta": 0.1,
|
||||
"mirostat_tau": 5,
|
||||
"keep_alive": 120,
|
||||
"num_predict": 1024,
|
||||
"min_p": 0,
|
||||
"seed": 0,
|
||||
"stop": [
|
||||
"\n\n",
|
||||
"###"
|
||||
],
|
||||
"stream": false
|
||||
},
|
||||
"source_agent": "AgentImageSorter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"is_relevant": false,
|
||||
"reason": "Non, l'image semble être un code ou un texte aléatoire et ne contient aucune information visuelle pertinente pour un ticket de support technique.",
|
||||
"raw_response": "Non, l'image semble être un code ou un texte aléatoire et ne contient aucune information visuelle pertinente pour un ticket de support technique.",
|
||||
"metadata": {
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg",
|
||||
"image_name": "543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg",
|
||||
"timestamp": "20250422_155905",
|
||||
"model_info": {
|
||||
"model": "llama3.2-vision:90b-instruct-q8_0",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"top_k": 30,
|
||||
"num_ctx": 1024,
|
||||
"repeat_penalty": 1.1,
|
||||
"repeat_last_n": 64,
|
||||
"mirostat": 0,
|
||||
"mirostat_eta": 0.1,
|
||||
"mirostat_tau": 5,
|
||||
"keep_alive": 120,
|
||||
"num_predict": 1024,
|
||||
"min_p": 0,
|
||||
"seed": 0,
|
||||
"stop": [
|
||||
"\n\n",
|
||||
"###"
|
||||
],
|
||||
"stream": false
|
||||
},
|
||||
"source_agent": "AgentImageSorter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"is_relevant": false,
|
||||
"reason": "Non, l'image semble être un code binaire représentant une image, mais sans description ni contexte lié à un problème technique spécifique, elle n'est pas pertinente pour un ticket de support technique.",
|
||||
"raw_response": "Non, l'image semble être un code binaire représentant une image, mais sans description ni contexte lié à un problème technique spécifique, elle n'est pas pertinente pour un ticket de support technique.",
|
||||
"metadata": {
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif",
|
||||
"image_name": "a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif",
|
||||
"timestamp": "20250422_155917",
|
||||
"model_info": {
|
||||
"model": "llama3.2-vision:90b-instruct-q8_0",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"top_k": 30,
|
||||
"num_ctx": 1024,
|
||||
"repeat_penalty": 1.1,
|
||||
"repeat_last_n": 64,
|
||||
"mirostat": 0,
|
||||
"mirostat_eta": 0.1,
|
||||
"mirostat_tau": 5,
|
||||
"keep_alive": 120,
|
||||
"num_predict": 1024,
|
||||
"min_p": 0,
|
||||
"seed": 0,
|
||||
"stop": [
|
||||
"\n\n",
|
||||
"###"
|
||||
],
|
||||
"stream": false
|
||||
},
|
||||
"source_agent": "AgentImageSorter"
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -0,0 +1,30 @@
|
||||
RÉSULTATS DE L'ANALYSE TRI_IMAGE - TICKET T11143
|
||||
================================================================================
|
||||
|
||||
--- ÉLÉMENT 1 ---
|
||||
|
||||
Non, l'image semble être un code aléatoire et non liée à un problème technique spécifique. Elle ne fournit aucune information utile pour résoudre un problème technique. Il est probable qu'il s'agisse d'un erreur ou d'un fichier corrompu.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
--- ÉLÉMENT 2 ---
|
||||
|
||||
Non, l'image semble être un code aléatoire et non liée à un problème technique spécifique. Elle ne fournit aucune information utile pour résoudre un problème technique. Il est probable qu'il s'agisse d'un erreur ou d'un fichier corrompu.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
--- ÉLÉMENT 3 ---
|
||||
|
||||
Non, l'image semble être un code ou un texte aléatoire et ne contient aucune information visuelle pertinente pour un ticket de support technique.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
--- ÉLÉMENT 4 ---
|
||||
|
||||
Non, l'image semble être un code binaire représentant une image, mais sans description ni contexte lié à un problème technique spécifique, elle n'est pas pertinente pour un ticket de support technique.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
|
||||
================================================================================
|
||||
Fichier original: tri_image_llama3.2-vision:90b-instruct-q8_0_results.json
|
||||
@ -1,34 +1,4 @@
|
||||
RAPPORT D'ANALYSE DU TICKET T11143
|
||||
==================================================
|
||||
|
||||
### Rapport Final
|
||||
|
||||
#### 1. Contexte général
|
||||
Le client signale un problème d'accès à l'essai au bleu, qui s'est résolu de lui-même par la suite, et confirme que l'adresse https://zk1.brg-lab.com/ fonctionne.
|
||||
|
||||
#### 2. Problèmes ou questions identifiés
|
||||
- Pourquoi l'essai au bleu est-il inaccessible ?
|
||||
- Comment accéder à la page https://zk1.brg-lab.com/ ?
|
||||
|
||||
#### 3. Résumé croisé image/texte pour chaque question
|
||||
|
||||
**Pourquoi l'essai au bleu est-il inaccessible ?**
|
||||
- **Texte du ticket** : Le client mentionne un problème d'accès à l'essai au bleu.
|
||||
- **Image (image_145435.png)** : L'image montre l'interface de l'essai au bleu de méthylène de méthylène (MB) - NF EN 933-9. Un message d'erreur en bas de l'écran indique : "Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com".
|
||||
|
||||
**Comment accéder à la page https://zk1.brg-lab.com/ ?**
|
||||
- **Texte du ticket** : Le support demande au client de vérifier l'accès à la page https://zk1.brg-lab.com/.
|
||||
- **Image (image.png)** : L'image confirme que la page https://zk1.brg-lab.com/ est accessible et affiche une page de confirmation d'installation de Tomcat 7.
|
||||
|
||||
#### 4. Liste d'observations supplémentaires pertinentes
|
||||
- L'essai au bleu mentionné par le client correspond à l'essai au bleu de méthylène de méthylène (MB) - NF EN 933-9.
|
||||
- Le message d'erreur "Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com" pourrait être lié au problème d'accès initial signalé par le client.
|
||||
- La page https://zk1.brg-lab.com/ affiche une confirmation d'installation de Tomcat 7, indiquant que le serveur est opérationnel.
|
||||
|
||||
#### 5. Tableau chronologique d'échanges
|
||||
|
||||
| ÉMETTEUR | TYPE | DATE | CONTENU | ÉLÉMENTS VISUELS |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| CLIENT | question | 03/04/2025 08:34 | Problème d'accès à l'essai au bleu. | Message d'erreur : "Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com" (image_145435.png) |
|
||||
| SUPPORT | réponse | 03/04/2025 12:17 | Demande de vérification de l'accès à la page https://zk1.brg-lab.com/. | Page de confirmation d'installation de Tomcat 7 (image.png) |
|
||||
| CLIENT | information | 03/04/2025 12:21 | Le problème s'est résolu de lui-même. L'adresse https://zk1.brg-lab.com/ fonctionne. | Page de confirmation d'installation de Tomcat 7 (image.png) |
|
||||
Voici un exemple de rapport croisé basé sur les instructions fournies :
|
||||
Loading…
x
Reference in New Issue
Block a user