mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-15 19:46:53 +01:00
2204-17:29
This commit is contained in:
parent
d4d5747e50
commit
42346239df
@ -1,4 +0,0 @@
|
||||
É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)
|
||||
|
@ -1,2 +0,0 @@
|
||||
Question,Réponse,Contexte Question,Contexte Réponse
|
||||
Problème d'accès à l'essai au bleu.,Demande de vérification de l'accès à la page https://zk1.brg-lab.com/.,"Message d'erreur : ""Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com"" (image_145435.png)",Page de confirmation d'installation de Tomcat 7 (image.png)
|
||||
|
@ -27,6 +27,10 @@ class AgentFactoryLlamaVision:
|
||||
|
||||
@staticmethod
|
||||
def create_llm() -> LlamaVision:
|
||||
"""
|
||||
Crée une nouvelle instance du modèle LlamaVision.
|
||||
Chaque instance est indépendante pour permettre des configurations spécifiques par agent.
|
||||
"""
|
||||
logger.info("Initialisation du modèle llama_vision")
|
||||
start_time = time.time()
|
||||
model = LlamaVision()
|
||||
@ -35,35 +39,87 @@ class AgentFactoryLlamaVision:
|
||||
return model
|
||||
|
||||
@staticmethod
|
||||
def create_ticket_analyser(llm: LlamaVision) -> AgentTicketAnalyser:
|
||||
def create_ticket_analyser(llm: Optional[LlamaVision] = None) -> AgentTicketAnalyser:
|
||||
"""
|
||||
Crée un agent d'analyse de tickets avec sa propre instance LLM.
|
||||
|
||||
Args:
|
||||
llm: Instance LlamaVision existante (optionnel, une nouvelle instance sera créée si None)
|
||||
|
||||
Returns:
|
||||
Agent d'analyse de tickets configuré
|
||||
"""
|
||||
logger.info("Création de l'agent de tickets (llama_vision)")
|
||||
# Créer une nouvelle instance LLM spécifique à cet agent si aucune n'est fournie
|
||||
if llm is None:
|
||||
llm = AgentFactoryLlamaVision.create_llm()
|
||||
return AgentTicketAnalyser(llm)
|
||||
|
||||
@staticmethod
|
||||
def create_image_sorter(llm: LlamaVision) -> AgentImageSorter:
|
||||
def create_image_sorter(llm: Optional[LlamaVision] = None) -> AgentImageSorter:
|
||||
"""
|
||||
Crée un agent de tri d'images avec sa propre instance LLM.
|
||||
|
||||
Args:
|
||||
llm: Instance LlamaVision existante (optionnel, une nouvelle instance sera créée si None)
|
||||
|
||||
Returns:
|
||||
Agent de tri d'images configuré
|
||||
"""
|
||||
logger.info("Création de l'agent de tri des images (llama_vision)")
|
||||
# Créer une nouvelle instance LLM spécifique à cet agent si aucune n'est fournie
|
||||
if llm is None:
|
||||
llm = AgentFactoryLlamaVision.create_llm()
|
||||
return AgentImageSorter(llm)
|
||||
|
||||
@staticmethod
|
||||
def create_image_analyser(llm: LlamaVision) -> AgentImageAnalyser:
|
||||
def create_image_analyser(llm: Optional[LlamaVision] = None) -> AgentImageAnalyser:
|
||||
"""
|
||||
Crée un agent d'analyse d'images avec sa propre instance LLM.
|
||||
|
||||
Args:
|
||||
llm: Instance LlamaVision existante (optionnel, une nouvelle instance sera créée si None)
|
||||
|
||||
Returns:
|
||||
Agent d'analyse d'images configuré
|
||||
"""
|
||||
logger.info("Création de l'agent d'analyse des images (llama_vision)")
|
||||
# Créer une nouvelle instance LLM spécifique à cet agent si aucune n'est fournie
|
||||
if llm is None:
|
||||
llm = AgentFactoryLlamaVision.create_llm()
|
||||
return AgentImageAnalyser(llm)
|
||||
|
||||
@staticmethod
|
||||
def create_report_generator(llm: LlamaVision) -> AgentReportGenerator:
|
||||
def create_report_generator(llm: Optional[LlamaVision] = None) -> AgentReportGenerator:
|
||||
"""
|
||||
Crée un agent de génération de rapports avec sa propre instance LLM.
|
||||
|
||||
Args:
|
||||
llm: Instance LlamaVision existante (optionnel, une nouvelle instance sera créée si None)
|
||||
|
||||
Returns:
|
||||
Agent de génération de rapports configuré
|
||||
"""
|
||||
logger.info("Création de l'agent de génération de rapports (llama_vision)")
|
||||
# Créer une nouvelle instance LLM spécifique à cet agent si aucune n'est fournie
|
||||
if llm is None:
|
||||
llm = AgentFactoryLlamaVision.create_llm()
|
||||
return AgentReportGenerator(llm)
|
||||
|
||||
@staticmethod
|
||||
def create_all_agents() -> Dict[str, Any]:
|
||||
"""
|
||||
Crée tous les agents nécessaires pour Llama_vision.
|
||||
Crée tous les agents nécessaires pour Llama_vision avec des instances LLM séparées.
|
||||
Chaque agent reçoit sa propre instance pour éviter les problèmes de configuration partagée.
|
||||
|
||||
Returns:
|
||||
Dictionnaire contenant tous les agents créés
|
||||
"""
|
||||
llm = AgentFactoryLlamaVision.create_llm()
|
||||
logger.info("Création de tous les agents avec instances LLM indépendantes")
|
||||
return {
|
||||
"ticket_analyser": AgentFactoryLlamaVision.create_ticket_analyser(llm),
|
||||
"image_sorter": AgentFactoryLlamaVision.create_image_sorter(llm),
|
||||
"image_analyser": AgentFactoryLlamaVision.create_image_analyser(llm),
|
||||
"report_generator": AgentFactoryLlamaVision.create_report_generator(llm)
|
||||
"ticket_analyser": AgentFactoryLlamaVision.create_ticket_analyser(),
|
||||
"image_sorter": AgentFactoryLlamaVision.create_image_sorter(),
|
||||
"image_analyser": AgentFactoryLlamaVision.create_image_analyser(),
|
||||
"report_generator": AgentFactoryLlamaVision.create_report_generator()
|
||||
}
|
||||
|
||||
@ -178,8 +178,11 @@ Reste strictement factuel. Ne fais aucune hypothèse. Ne suggère pas d'étapes
|
||||
# S'assurer que le répertoire existe
|
||||
os.makedirs(pipeline_dir, exist_ok=True)
|
||||
|
||||
# Sauvegarder en format texte uniquement
|
||||
rapport_txt_path = os.path.join(pipeline_dir, f"rapport_final_mistral-large-latest.txt")
|
||||
# Récupérer le nom du modèle
|
||||
model_name = getattr(self.llm, "modele", "unknown")
|
||||
|
||||
# Sauvegarder en format texte uniquement avec le nom du modèle
|
||||
rapport_txt_path = os.path.join(pipeline_dir, f"rapport_final_{model_name}_results.txt")
|
||||
with open(rapport_txt_path, "w", encoding="utf-8") as f:
|
||||
f.write(f"RAPPORT D'ANALYSE DU TICKET {ticket_id}\n")
|
||||
f.write("="*50 + "\n\n")
|
||||
@ -195,8 +198,11 @@ Reste strictement factuel. Ne fais aucune hypothèse. Ne suggère pas d'étapes
|
||||
ticket_reports_dir = os.path.join(reports_dir, ticket_id)
|
||||
os.makedirs(ticket_reports_dir, exist_ok=True)
|
||||
|
||||
# Récupérer le nom du modèle
|
||||
model_name = getattr(self.llm, "modele", "unknown")
|
||||
|
||||
# Sauvegarder aussi en texte pour faciliter la lecture
|
||||
rapport_txt_path = os.path.join(ticket_reports_dir, f"rapport_final_{ticket_id}.txt")
|
||||
rapport_txt_path = os.path.join(ticket_reports_dir, f"rapport_final_{ticket_id}_{model_name}.txt")
|
||||
with open(rapport_txt_path, "w", encoding="utf-8") as f:
|
||||
f.write(f"RAPPORT D'ANALYSE DU TICKET {ticket_id}\n")
|
||||
f.write("="*50 + "\n\n")
|
||||
|
||||
@ -69,7 +69,22 @@ class ReportCSVExporter:
|
||||
|
||||
# Utiliser le modèle depuis les métadonnées si non spécifié
|
||||
if not model_name:
|
||||
model_name = data.get('metadata', {}).get('model', 'unknown')
|
||||
# Chercher le nom du modèle dans les métadonnées (comme dans pipeline_logger.py)
|
||||
model_name = "unknown"
|
||||
if isinstance(data, dict):
|
||||
# Priorité 1: Vérifier model_info.model (structure principale)
|
||||
if "metadata" in data and "model_info" in data["metadata"] and "model" in data["metadata"]["model_info"]:
|
||||
model_name = data["metadata"]["model_info"]["model"]
|
||||
# Priorité 2: Vérifier metadata.model (structure alternative)
|
||||
elif "metadata" in data and "model" in data["metadata"]:
|
||||
model_name = data["metadata"]["model"]
|
||||
|
||||
# S'assurer que model_name n'est pas None avant d'appeler lower()
|
||||
if model_name:
|
||||
# Nettoyer le nom du modèle pour éviter les caractères problématiques dans le nom de fichier
|
||||
model_name = model_name.lower().replace("/", "_").replace(":", "_").replace("\\", "_").replace(" ", "_")
|
||||
else:
|
||||
model_name = "unknown"
|
||||
|
||||
# Ajouter un timestamp pour éviter les écrasements
|
||||
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
||||
@ -307,14 +322,28 @@ def generer_csv_depuis_rapport(json_path: str, output_dir: Optional[str] = None)
|
||||
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
# Créer le chemin du fichier CSV
|
||||
model_info = ""
|
||||
if "_results" in basename:
|
||||
model_match = re.search(r'_([a-zA-Z0-9-]+)_results', basename)
|
||||
if model_match:
|
||||
model_info = f"_{model_match.group(1)}"
|
||||
# Extraire le nom du modèle directement à partir du contenu JSON
|
||||
model_name = "unknown"
|
||||
try:
|
||||
with open(json_path, 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
# Chercher le nom du modèle dans les métadonnées (comme dans pipeline_logger.py)
|
||||
if isinstance(data, dict):
|
||||
# Priorité 1: Vérifier model_info.model (structure principale)
|
||||
if "metadata" in data and "model_info" in data["metadata"] and "model" in data["metadata"]["model_info"]:
|
||||
model_name = data["metadata"]["model_info"]["model"]
|
||||
# Priorité 2: Vérifier metadata.model (structure alternative)
|
||||
elif "metadata" in data and "model" in data["metadata"]:
|
||||
model_name = data["metadata"]["model"]
|
||||
|
||||
# Nettoyer le nom du modèle pour éviter les problèmes de caractères spéciaux
|
||||
model_name = model_name.lower().replace("/", "_").replace(":", "_").replace("\\", "_").replace(" ", "_")
|
||||
except Exception as e:
|
||||
logger.warning(f"Erreur lors de l'extraction du nom du modèle: {e}")
|
||||
|
||||
csv_path = os.path.join(output_dir, f"{ticket_id}{model_info}_exchanges.csv")
|
||||
# Créer le chemin du fichier CSV
|
||||
csv_path = os.path.join(output_dir, f"{ticket_id}_{model_name}_exchanges.csv")
|
||||
|
||||
# Extraire le tableau du rapport
|
||||
tableau = extraire_tableau_du_rapport(json_path)
|
||||
@ -432,14 +461,28 @@ def generer_csv_qr(json_path: str, output_dir: Optional[str] = None) -> Optional
|
||||
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
# Créer le chemin du fichier CSV
|
||||
model_info = ""
|
||||
if "_results" in basename:
|
||||
model_match = re.search(r'_([a-zA-Z0-9-]+)_results', basename)
|
||||
if model_match:
|
||||
model_info = f"_{model_match.group(1)}"
|
||||
# Extraire le nom du modèle directement à partir du contenu JSON
|
||||
model_name = "unknown"
|
||||
try:
|
||||
with open(json_path, 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
# Chercher le nom du modèle dans les métadonnées (comme dans pipeline_logger.py)
|
||||
if isinstance(data, dict):
|
||||
# Priorité 1: Vérifier model_info.model (structure principale)
|
||||
if "metadata" in data and "model_info" in data["metadata"] and "model" in data["metadata"]["model_info"]:
|
||||
model_name = data["metadata"]["model_info"]["model"]
|
||||
# Priorité 2: Vérifier metadata.model (structure alternative)
|
||||
elif "metadata" in data and "model" in data["metadata"]:
|
||||
model_name = data["metadata"]["model"]
|
||||
|
||||
# Nettoyer le nom du modèle pour éviter les problèmes de caractères spéciaux
|
||||
model_name = model_name.lower().replace("/", "_").replace(":", "_").replace("\\", "_").replace(" ", "_")
|
||||
except Exception as e:
|
||||
logger.warning(f"Erreur lors de l'extraction du nom du modèle: {e}")
|
||||
|
||||
csv_path = os.path.join(output_dir, f"{ticket_id}{model_info}_qa.csv")
|
||||
# Créer le chemin du fichier CSV
|
||||
csv_path = os.path.join(output_dir, f"{ticket_id}_{model_name}_qa.csv")
|
||||
|
||||
# Extraire le tableau du rapport
|
||||
tableau = extraire_tableau_du_rapport(json_path)
|
||||
@ -516,20 +559,134 @@ def traiter_rapports_ticket(ticket_id: str) -> None:
|
||||
logger.warning(f"Dossier pipeline non trouvé: {pipeline_dir}")
|
||||
return
|
||||
|
||||
# Créer le répertoire pour les fichiers CSV
|
||||
csv_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "CSV", ticket_id)
|
||||
os.makedirs(csv_dir, exist_ok=True)
|
||||
|
||||
# Dictionnaire pour suivre quels modèles ont déjà été traités
|
||||
modeles_traites = set()
|
||||
|
||||
# Liste les fichiers par ordre alphabétique pour un traitement stable
|
||||
fichiers = sorted([f for f in os.listdir(pipeline_dir) if f.startswith("rapport_final") and f.endswith(".json")])
|
||||
|
||||
# Chercher tous les rapports finaux
|
||||
for filename in os.listdir(pipeline_dir):
|
||||
if filename.startswith("rapport_final") and filename.endswith(".json"):
|
||||
json_path = os.path.join(pipeline_dir, filename)
|
||||
logger.info(f"Traitement du rapport: {filename}")
|
||||
|
||||
# Générer les deux types de CSV
|
||||
csv_path = generer_csv_depuis_rapport(json_path)
|
||||
csv_qr_path = generer_csv_qr(json_path)
|
||||
|
||||
if csv_path:
|
||||
logger.info(f"CSV généré: {csv_path}")
|
||||
if csv_qr_path:
|
||||
logger.info(f"CSV Q/R généré: {csv_qr_path}")
|
||||
for filename in fichiers:
|
||||
json_path = os.path.join(pipeline_dir, filename)
|
||||
logger.info(f"Traitement du rapport: {filename}")
|
||||
|
||||
# Extraire le nom du modèle depuis le contenu du fichier JSON
|
||||
try:
|
||||
with open(json_path, 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
# Utiliser le même système d'extraction que pipeline_logger.py
|
||||
model_name = "unknown"
|
||||
|
||||
# Si les données sont dans une liste, prendre le premier élément
|
||||
if isinstance(data, list) and len(data) > 0 and isinstance(data[0], dict):
|
||||
data = data[0]
|
||||
|
||||
# Extraire des métadonnées
|
||||
if isinstance(data, dict):
|
||||
# Priorité 1: Vérifier model_info.model (structure principale)
|
||||
if "metadata" in data and "model_info" in data["metadata"] and "model" in data["metadata"]["model_info"]:
|
||||
model_name = data["metadata"]["model_info"]["model"]
|
||||
# Priorité 2: Vérifier metadata.model (structure alternative)
|
||||
elif "metadata" in data and "model" in data["metadata"]:
|
||||
model_name = data["metadata"]["model"]
|
||||
|
||||
# Si extraction échouée, essayer d'extraire du nom de fichier comme fallback
|
||||
if model_name == "unknown":
|
||||
model_match = re.search(r'rapport_final_([^_]+)', filename)
|
||||
if model_match:
|
||||
model_name_full = model_match.group(1)
|
||||
# Simplifier le nom du modèle
|
||||
if "mistral" in model_name_full.lower():
|
||||
model_name = "mistral"
|
||||
elif "llama" in model_name_full.lower():
|
||||
model_name = "llama"
|
||||
elif "pixtral" in model_name_full.lower():
|
||||
model_name = "pixtral"
|
||||
else:
|
||||
model_name = model_name_full.split("-")[0].split(":")[0]
|
||||
|
||||
# Nettoyer le nom du modèle
|
||||
if model_name and model_name != "unknown":
|
||||
model_name = model_name.lower().replace("/", "_").replace(":", "_").replace("\\", "_").replace(" ", "_")
|
||||
|
||||
except Exception as e:
|
||||
logger.warning(f"Erreur lors de l'extraction du modèle depuis {json_path}: {e}")
|
||||
# Fallback à l'extraction par nom de fichier
|
||||
model_match = re.search(r'rapport_final_([^_]+)', filename)
|
||||
if model_match:
|
||||
model_name_full = model_match.group(1)
|
||||
if "mistral" in model_name_full.lower():
|
||||
model_name = "mistral"
|
||||
elif "llama" in model_name_full.lower():
|
||||
model_name = "llama"
|
||||
elif "pixtral" in model_name_full.lower():
|
||||
model_name = "pixtral"
|
||||
else:
|
||||
model_name = model_name_full.split("-")[0].split(":")[0]
|
||||
else:
|
||||
model_name = "unknown"
|
||||
|
||||
# Vérifier si ce modèle a déjà été traité pour éviter les doublons
|
||||
if model_name in modeles_traites:
|
||||
logger.info(f"Modèle {model_name} déjà traité, ignoré pour éviter les doublons")
|
||||
continue
|
||||
|
||||
# Marquer ce modèle comme traité
|
||||
modeles_traites.add(model_name)
|
||||
|
||||
# Créer directement les noms de fichiers CSV
|
||||
csv_exchanges = os.path.join(csv_dir, f"{ticket_id}_{model_name}_exchanges.csv")
|
||||
csv_qa = os.path.join(csv_dir, f"{ticket_id}_{model_name}_qa.csv")
|
||||
|
||||
# Supprimer les fichiers existants pour éviter les doublons
|
||||
if os.path.exists(csv_exchanges):
|
||||
os.remove(csv_exchanges)
|
||||
if os.path.exists(csv_qa):
|
||||
os.remove(csv_qa)
|
||||
|
||||
# Extraire le tableau du rapport
|
||||
tableau = extraire_tableau_du_rapport(json_path)
|
||||
if not tableau:
|
||||
logger.warning(f"Aucun tableau à exporter depuis {json_path}")
|
||||
continue
|
||||
|
||||
# Écrire le CSV des échanges
|
||||
try:
|
||||
with open(csv_exchanges, 'w', newline='', encoding='utf-8') as f:
|
||||
writer = csv.writer(f)
|
||||
writer.writerows(tableau)
|
||||
logger.info(f"CSV échanges généré: {csv_exchanges}")
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur lors de la génération du CSV échanges: {e}")
|
||||
|
||||
# Extraire les paires Q/R et écrire le CSV Q/R
|
||||
paires_qr = extraire_questions_reponses(tableau)
|
||||
if paires_qr:
|
||||
try:
|
||||
with open(csv_qa, 'w', newline='', encoding='utf-8') as f:
|
||||
writer = csv.writer(f)
|
||||
# Écrire l'en-tête
|
||||
writer.writerow(["Question", "Réponse", "Contexte Question", "Contexte Réponse"])
|
||||
# Écrire les données
|
||||
for paire in paires_qr:
|
||||
writer.writerow([
|
||||
paire.get("question", ""),
|
||||
paire.get("réponse", ""),
|
||||
paire.get("contexte_question", ""),
|
||||
paire.get("contexte_réponse", "")
|
||||
])
|
||||
logger.info(f"CSV Q/R généré: {csv_qa}")
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur lors de la génération du CSV Q/R: {e}")
|
||||
else:
|
||||
logger.warning(f"Aucune paire Q/R extraite de {json_path}")
|
||||
|
||||
logger.info(f"Traitement terminé. {len(modeles_traites)} modèles traités: {', '.join(modeles_traites)}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Configurer l'analyse des arguments
|
||||
|
||||
@ -1,30 +1,20 @@
|
||||
{
|
||||
"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 :",
|
||||
"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 automatiquement.\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 :\n\n| ÉMETTEUR | TYPE | DATE | CONTENU | ÉLÉMENTS VISUELS |\n| --- | --- | --- | --- | --- |\n| CLIENT | question | [insérer date] | Problème d'accessibilité à l'essai BRGLAB. Impossible de se connecter. | Capture d'écran de la page d'accueil avec erreur d'accès |\n| SUPPORT | réponse | [insérer date] | Le problème a été résolu automatiquement. Veuillez réessayer de vous connecter. | - |\n\nNote : Puisqu'il n'y a pas d'autres informations fournies sur les échanges entre le client et le support, ce tableau est très succinct. Dans un scénario réel, il faudrait inclure toutes les interactions pertinentes avec leurs dates respectives, ainsi que des descriptions détaillées du contenu et des éléments visuels associés.",
|
||||
"metadata": {
|
||||
"ticket_id": "T11143",
|
||||
"timestamp": "20250422_155921",
|
||||
"timestamp": "20250422_172810",
|
||||
"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
|
||||
"max_tokens": 8000,
|
||||
"presence_penalty": 0,
|
||||
"frequency_penalty": 0,
|
||||
"stop": [],
|
||||
"stream": false,
|
||||
"n": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -16,27 +16,15 @@ class LlamaVision(BaseLLM):
|
||||
super().__init__(modele)
|
||||
self.api_url = "http://217.182.105.173:11434/api/generate"
|
||||
|
||||
# Paramètres optimisés pour réduire les timeouts
|
||||
self.params: Dict[str, Any] = {
|
||||
"temperature": 0.1, # Réduit pour des réponses plus prévisibles
|
||||
"top_p": 0.8, # Légèrement réduit pour accélérer
|
||||
"top_k": 30, # Réduit pour limiter les choix et accélérer
|
||||
"num_ctx": 1024, # Contexte réduit pour des réponses plus rapides
|
||||
"repeat_penalty": 1.1,
|
||||
"repeat_last_n": 64,
|
||||
"mirostat": 0, # Désactivé pour accélérer
|
||||
"mirostat_eta": 0.1,
|
||||
"mirostat_tau": 5,
|
||||
"keep_alive": int(timedelta(minutes=2).total_seconds()), # Réduit le temps de maintien
|
||||
"num_predict": 1024, # Limite la longueur de sortie
|
||||
"min_p": 0,
|
||||
"seed": 0,
|
||||
"stop": ["\n\n", "###"], # Ajout de tokens d'arrêt pour terminer plus tôt
|
||||
"stream": False
|
||||
}
|
||||
|
||||
# Timeout de requête augmenté pour les images volumineuses
|
||||
self.request_timeout = 300 # 5 minutes
|
||||
|
||||
# Configuration standard via la méthode héritée
|
||||
self.configurer(
|
||||
temperature=0.1,
|
||||
top_p=0.8,
|
||||
max_tokens=1024,
|
||||
)
|
||||
|
||||
def urlBase(self) -> str:
|
||||
"""
|
||||
@ -69,20 +57,21 @@ class LlamaVision(BaseLLM):
|
||||
"options": {
|
||||
"temperature": self.params["temperature"],
|
||||
"top_p": self.params["top_p"],
|
||||
"top_k": self.params["top_k"],
|
||||
"num_ctx": self.params["num_ctx"],
|
||||
"repeat_penalty": self.params["repeat_penalty"],
|
||||
"repeat_last_n": self.params["repeat_last_n"],
|
||||
"mirostat": self.params["mirostat"],
|
||||
"mirostat_eta": self.params["mirostat_eta"],
|
||||
"mirostat_tau": self.params["mirostat_tau"],
|
||||
"keep_alive": self.params["keep_alive"],
|
||||
"num_predict": self.params["num_predict"],
|
||||
"min_p": self.params["min_p"],
|
||||
"seed": self.params["seed"],
|
||||
"stop": self.params["stop"],
|
||||
"num_predict": self.params.get("max_tokens", 1024),
|
||||
"stop": self.params.get("stop", []),
|
||||
# Paramètres Ollama spécifiques avec valeurs par défaut
|
||||
"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": int(timedelta(minutes=2).total_seconds()),
|
||||
"min_p": 0,
|
||||
"seed": 0,
|
||||
},
|
||||
"stream": self.params["stream"]
|
||||
"stream": False
|
||||
}
|
||||
return contenu
|
||||
|
||||
@ -197,20 +186,21 @@ Question: {question}"""
|
||||
"options": {
|
||||
"temperature": self.params["temperature"],
|
||||
"top_p": self.params["top_p"],
|
||||
"top_k": self.params["top_k"],
|
||||
"num_ctx": self.params["num_ctx"],
|
||||
"repeat_penalty": self.params["repeat_penalty"],
|
||||
"repeat_last_n": self.params["repeat_last_n"],
|
||||
"mirostat": self.params["mirostat"],
|
||||
"mirostat_eta": self.params["mirostat_eta"],
|
||||
"mirostat_tau": self.params["mirostat_tau"],
|
||||
"keep_alive": self.params["keep_alive"],
|
||||
"num_predict": self.params["num_predict"],
|
||||
"min_p": self.params["min_p"],
|
||||
"seed": self.params["seed"],
|
||||
"stop": self.params["stop"],
|
||||
"num_predict": self.params.get("max_tokens", 1024),
|
||||
"stop": self.params.get("stop", []),
|
||||
# Paramètres Ollama spécifiques
|
||||
"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": int(timedelta(minutes=2).total_seconds()),
|
||||
"min_p": 0,
|
||||
"seed": 0,
|
||||
},
|
||||
"stream": self.params["stream"]
|
||||
"stream": False
|
||||
}
|
||||
|
||||
self.heureDepart = datetime.now()
|
||||
@ -247,10 +237,12 @@ Question: {question}"""
|
||||
|
||||
def configurer(self, **kwargs):
|
||||
"""
|
||||
Mise à jour facile des paramètres spécifiques à Llama Vision.
|
||||
Mise à jour des paramètres du modèle.
|
||||
Utilise la méthode de BaseLLM pour mettre à jour les paramètres.
|
||||
"""
|
||||
for key, value in kwargs.items():
|
||||
if key in self.params:
|
||||
self.params[key] = value
|
||||
elif key == "request_timeout" and isinstance(value, int):
|
||||
self.request_timeout = value
|
||||
# Si request_timeout est spécifié, le mettre à jour séparément
|
||||
if "request_timeout" in kwargs and isinstance(kwargs["request_timeout"], int):
|
||||
self.request_timeout = kwargs.pop("request_timeout")
|
||||
|
||||
# Utiliser la méthode de la classe parente pour mettre à jour les paramètres standards
|
||||
super().configurer(**kwargs)
|
||||
@ -44,60 +44,62 @@ def main():
|
||||
"""Fonction principale pour l'analyse des tickets de support."""
|
||||
args = parse_arguments()
|
||||
|
||||
# Configuration du niveau de log
|
||||
if args.debug:
|
||||
logging.getLogger().setLevel(logging.DEBUG)
|
||||
logger.debug("Mode debug activé")
|
||||
|
||||
# Configuration de l'orchestrateur
|
||||
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()
|
||||
|
||||
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
|
||||
}
|
||||
# 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
|
||||
|
||||
logger.info(f"Configuration: {json.dumps(config, indent=2)}")
|
||||
# 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
|
||||
)
|
||||
|
||||
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
|
||||
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'exécution : {e}", exc_info=True)
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,167 +0,0 @@
|
||||
RÉSULTATS DE L'ANALYSE ANALYSE_IMAGE - TICKET T11143
|
||||
================================================================================
|
||||
|
||||
--- ÉLÉMENT 1 ---
|
||||
|
||||
### Analyse de l'image
|
||||
|
||||
#### 1. Description objective
|
||||
L'image montre une page web affichée dans un navigateur (probablement Google Chrome, comme indiqué par l'icône). La page semble être une interface d'administration ou de gestion d'un serveur Tomcat. Voici les éléments visibles :
|
||||
- **Titre de la page** : "It works !"
|
||||
- **Message principal** : "If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!"
|
||||
- **Contenu de la page** :
|
||||
- La page explique que Tomcat a été installé avec succès et fournit des informations sur la localisation du fichier par défaut de Tomcat (`/var/lib/tomcat7/webapps/ROOT/index.html`).
|
||||
- Elle mentionne également que Tomcat a été installé avec `CATALINA_HOME` et `CATALINA_BASE` configurés sur `/var/lib/tomcat7`.
|
||||
- Des instructions sont données pour accéder à d'autres packages Tomcat :
|
||||
- `tomcat7-docs` : Documentation locale accessible via `http://localhost/docs`.
|
||||
- `tomcat7-examples` : Exemples accessibles via `http://localhost/examples`.
|
||||
- `tomcat7-admin` : Interface d'administration accessible via `http://localhost/manager/html`.
|
||||
- Une note de sécurité indique que l'accès aux interfaces d'administration est restreint aux utilisateurs avec les rôles "manager-gui" et "admin-gui".
|
||||
|
||||
#### 2. Éléments techniques clés
|
||||
- **Version logicielle** :
|
||||
- La page mentionne Tomcat 7 (`tomcat7`), ce qui indique que la version du serveur est Tomcat 7.
|
||||
- **Codes d'erreur visibles** :
|
||||
- Aucun code d'erreur n'est visible dans l'image.
|
||||
- **Paramètres configurables** :
|
||||
- Aucun paramètre configurable n'est visible dans cette interface.
|
||||
- **Valeurs affichées ou préremplies** :
|
||||
- Les chemins d'accès aux packages Tomcat sont affichés (`tomcat7-docs`, `tomcat7-examples`, `tomcat7-admin`).
|
||||
- **Éléments désactivés, grisés ou masqués** :
|
||||
- Aucun élément désactivé, grisé ou masqué n'est visible.
|
||||
- **Boutons actifs/inactifs** :
|
||||
- Aucun bouton n'est visible dans cette interface.
|
||||
- **Boutons RAZ ou réinitialisation** :
|
||||
- Aucun bouton "RAZ" ou de réinitialisation n'est visible.
|
||||
- **Éléments colorés** :
|
||||
- Les liens vers les packages Tomcat (`tomcat7-docs`, `tomcat7-examples`, `tomcat7-admin`) sont en bleu, ce qui est standard pour les liens hypertexte.
|
||||
|
||||
#### 3. Éléments mis en évidence
|
||||
- **Zones entourées, encadrées, surlignées ou fléchées** :
|
||||
- Aucune zone n'est entourée, encadrée, surlignée ou fléchée dans l'image.
|
||||
- **Messages d'erreur visibles** :
|
||||
- Aucun message d'erreur n'est visible dans l'image.
|
||||
|
||||
#### 4. Relation avec le problème
|
||||
- **Lien avec le problème décrit dans le ticket** :
|
||||
- La page affichée correspond à une installation réussie de Tomcat 7, ce qui indique que le serveur est opérationnel.
|
||||
- Le client mentionnait un problème d'accès à l'essai au bleu, mais cette capture d'écran ne montre pas directement cet essai.
|
||||
- L'image confirme que l'adresse https://zk1.brg-lab.com/ fonctionne, comme indiqué par le client dans son dernier message.
|
||||
- **Nom complet du module/essai concerné** :
|
||||
- L'image ne montre pas directement l'essai au bleu, donc le nom complet ("Essai au bleu de méthylène de méthylène") n'est pas visible.
|
||||
- **Accès à l'écran d'essai** :
|
||||
- L'image ne permet pas de déterminer si l'utilisateur a accès à l'écran d'essai au bleu.
|
||||
|
||||
#### 5. Réponses potentielles
|
||||
- **Réponse à la question posée dans le ticket** :
|
||||
- L'image confirme que l'adresse https://zk1.brg-lab.com/ fonctionne et affiche une page de confirmation d'installation de Tomcat 7.
|
||||
- Elle ne fournit pas d'informations sur l'accès à l'essai au bleu.
|
||||
- **Contexte technique précis** :
|
||||
- L'image montre une installation réussie de Tomcat 7, ce qui suggère que le serveur est opérationnel.
|
||||
|
||||
#### 6. Lien avec la discussion
|
||||
- **Correspondance avec le fil de discussion** :
|
||||
- L'image correspond à la demande de vérification de l'accès à la page https://zk1.brg-lab.com/, comme demandé par Fabien LAFAY.
|
||||
- Le client a confirmé que l'adresse fonctionne, ce qui est cohérent avec le contenu de l'image.
|
||||
- **Connexions explicites** :
|
||||
- Le client utilisait le terme "essai au bleu", mais l'image ne montre pas cet essai.
|
||||
- L'image confirme uniquement que le serveur Tomcat est opérationnel.
|
||||
|
||||
#### 7. Contexte technique élargi
|
||||
- **Contexte de l'application** :
|
||||
- L'image montre une interface d'administration de serveur Tomcat, ce qui suggère un environnement de gestion de serveurs web.
|
||||
- **Références à des normes ou standards** :
|
||||
- Aucune référence à des normes ou standards n'est visible dans l'image.
|
||||
- **Codes ou identifiants visibles** :
|
||||
- Les chemins d'accès aux packages Tomcat (`tomcat7-docs`, `tomcat7-examples`, `tomcat7-admin`) sont visibles.
|
||||
|
||||
### Conclusion
|
||||
L'image confirme que l'adresse https://zk1.brg-lab.com/ fonctionne et affiche une page de confirmation d'installation de Tomcat 7. Elle ne fournit pas d'informations sur l'accès à l'essai au bleu de méthylène.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
--- ÉLÉMENT 2 ---
|
||||
|
||||
### Analyse de l'image
|
||||
|
||||
#### 1. Description objective
|
||||
- **Interface logicielle** : L'image montre une interface web du logiciel **BRG-LAB**.
|
||||
- **Menus et onglets** :
|
||||
- Menu principal à gauche avec les sections suivantes :
|
||||
- **ESSAIS** (sélectionné)
|
||||
- **MATÉRIELS**
|
||||
- **PORTEFEUILLE**
|
||||
- **OBSERVATIONS**
|
||||
- **SMO**
|
||||
- **HISTORIQUE**
|
||||
- Sous-menu dans la section **ESSAIS** :
|
||||
- **ENREGISTRE**
|
||||
- **RAZ** (probablement "Préparation Avant Essai")
|
||||
- **EXÉCUTER**
|
||||
- **RAPPORT**
|
||||
- **IMPRESSION**
|
||||
- **STATISTIQUES**
|
||||
- **Titre du module** : **Essai au bleu de méthylène de méthylène (MB) - NF EN 933-9 (02-2022)**.
|
||||
- **Informations supplémentaires** :
|
||||
- Échantillon : **n° 25-00075** réceptionné le 02/04/2025 par **BOLLÉE Victor**, prélevé le 02/04/2025 par **BOLLÉE Victor**, n° prélèvement : **25-00075**.
|
||||
- Matériau : **Sable 0/2 C - CARRIÈRE ADCE9**.
|
||||
- **Messages d'erreur ou système** : Aucun message d'erreur visible dans l'image.
|
||||
- **Autres éléments** :
|
||||
- Un bouton avec une icône de flèche circulaire (probablement pour actualiser ou réinitialiser).
|
||||
- Un message en bas de l'écran : **Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com**.
|
||||
|
||||
#### 2. Éléments techniques clés
|
||||
- **Version logicielle ou module** : **Essai au bleu de méthylène de méthylène (MB) - NF EN 933-9 (02-2022)**.
|
||||
- **Codes d'erreur visibles** : Aucun code d'erreur spécifique visible.
|
||||
- **Paramètres configurables** : Aucun paramètre configurable visible dans cette capture.
|
||||
- **Valeurs affichées ou préremplies** :
|
||||
- Numéro d'échantillon : **25-00075**.
|
||||
- Date de réception : **02/04/2025**.
|
||||
- Nom du responsable : **BOLLÉE Victor**.
|
||||
- Matériau : **Sable 0/2 C - CARRIÈRE ADCE9**.
|
||||
- **Éléments désactivés, grisés ou masqués** : Aucun élément désactivé ou grisé visible.
|
||||
- **Boutons actifs/inactifs** :
|
||||
- Bouton avec une icône de flèche circulaire (actif).
|
||||
- **Boutons RAZ ou réinitialisation** : Aucun bouton "RAZ" visible dans cette capture.
|
||||
- **Éléments colorés** :
|
||||
- Le bouton avec l'icône de flèche circulaire est en bleu, ce qui semble faire partie de l'interface standard.
|
||||
|
||||
#### 3. Éléments mis en évidence
|
||||
- **Zones entourées, encadrées, surlignées ou fléchées** : Aucune zone spécifique n'est mise en évidence dans cette capture.
|
||||
- **Messages d'erreur** : Le message **Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com** est visible en bas de l'écran.
|
||||
|
||||
#### 4. Relation avec le problème
|
||||
- **Lien avec le problème décrit dans le ticket** :
|
||||
- Le client mentionne un problème d'accès à l'**essai au bleu**. L'image montre l'interface de l'**Essai au bleu de méthylène de méthylène (MB) - NF EN 933-9**, ce qui correspond au module concerné.
|
||||
- Le message en bas de l'écran (**Impossible de trouver l'adresse IP du serveur de zk1.brg-lab.com**) pourrait être lié au problème d'accès signalé par le client.
|
||||
- **Accès à l'essai** : L'utilisateur semble avoir accès à l'écran de l'essai, mais le message d'erreur en bas de l'écran indique un problème potentiel.
|
||||
|
||||
#### 5. Réponses potentielles
|
||||
- **Réponse à la question du ticket** :
|
||||
- L'image montre que l'utilisateur a accès à l'interface de l'**Essai au bleu de méthylène de méthylène (MB) - NF EN 933-9**.
|
||||
- Le message d'erreur en bas de l'écran pourrait expliquer le problème d'accès signalé initialement par le client.
|
||||
- **Contexte technique précis** :
|
||||
- L'**essai au bleu** mentionné par le client correspond clairement à l'**Essai au bleu de méthylène de méthylène (MB) - NF EN 933-9**.
|
||||
|
||||
#### 6. Lien avec la discussion
|
||||
- **Correspondance avec le fil de discussion** :
|
||||
- Le client a mentionné un problème d'accès à l'**essai au bleu**, et l'image montre l'interface de ce module.
|
||||
- Le support a demandé une vérification de l'accès à la page https://zk1.brg-lab.com/, et le message d'erreur en bas de l'écran semble lié à cette adresse.
|
||||
- **Connexion avec le vocabulaire du client** :
|
||||
- Le terme **essai au bleu** utilisé par le client correspond à l'**Essai au bleu de méthylène de méthylène (MB)** visible dans l'interface.
|
||||
|
||||
#### 7. Contexte technique élargi
|
||||
- **Contexte de l'application** : Le logiciel **BRG-LAB** est utilisé pour des essais techniques en laboratoire, notamment pour des tests normalisés.
|
||||
- **Références à des normes ou standards** : L'essai visible est conforme à la norme **NF EN 933-9 (02-2022)**.
|
||||
- **Codes ou identifiants visibles** :
|
||||
- Numéro d'échantillon : **25-00075**.
|
||||
- Matériau : **Sable 0/2 C - CARRIÈRE ADCE9**.
|
||||
|
||||
### Conclusion
|
||||
L'image montre que l'utilisateur a accès à l'interface de l'**Essai au bleu de méthylène de méthylène (MB) - NF EN 933-9**, mais un message d'erreur indique un problème potentiel lié à l'adresse IP du serveur. Ce message pourrait être lié au problème d'accès signalé par le client.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
|
||||
================================================================================
|
||||
Fichier original: analyse_image_pixtral-large-latest_results.json
|
||||
@ -1,32 +0,0 @@
|
||||
[
|
||||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,12 +0,0 @@
|
||||
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
|
||||
@ -1,22 +0,0 @@
|
||||
[
|
||||
{
|
||||
"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": "### Résumé du contexte\n- **Client** : Victor BOLLÉE, v.bollee@labojcg.fr\n- **Sujet du ticket reformulé en une ou plusieurs questions** :\n - Pourquoi l'essai au bleu est-il inaccessible ?\n - Comment accéder à la page https://zk1.brg-lab.com/ ?\n- **Description technique synthétique** :\n - Le client ne parvient pas à accéder à l'essai au bleu.\n - Le problème s'est résolu de lui-même par la suite.\n - L'adresse https://zk1.brg-lab.com/ fonctionne.\n\n### Informations techniques détectées\n- **Logiciels/modules mentionnés** :\n - Essai au bleu\n- **Paramètres évoqués** :\n - Aucun paramètre spécifique mentionné.\n- **Fonctionnalités impactées** :\n - Accès à l'essai au bleu.\n- **Conditions spécifiques** :\n - Aucune condition spécifique mentionnée.\n\n### Fil de discussion (filtrée, nettoyée, classée)\n- **Intervenant** : Victor BOLLÉE (Client)\n - **Date** : 03/04/2025 08:34\n - **Contenu** :\n ```\n Bonjour,\n Je ne parviens pas à accéder au l’essai au bleu :\n Merci par avance pour votre.\n Cordialement\n ```\n - **Résumés techniques** :\n - Problème d'accès à l'essai au bleu.\n\n- **Intervenant** : Fabien LAFAY (Support)\n - **Date** : 03/04/2025 12:17\n - **Contenu** :\n ```\n Bonjour,\n Pouvez-vous vérifier si vous avez bien accès à la page suivante en l'ouvrant dans votre navigateur :\n https://zk1.brg-lab.com/\n Voici ce que vous devriez voir affiché :\n Si ce n'est pas le cas, pouvez-vous me faire une capture d'écran de ce qui est affiché?\n Je reste à votre entière disposition pour toute information complémentaire.\n Cordialement,\n ```\n - **Résumés techniques** :\n - Demande de vérification de l'accès à la page https://zk1.brg-lab.com/.\n - Demande de capture d'écran si la page n'affiche pas le contenu attendu.\n\n- **Intervenant** : Victor BOLLÉE (Client)\n - **Date** : 03/04/2025 12:21\n - **Contenu** :\n ```\n Bonjour,\n Le problème s’est résolu seul par la suite.\n Je vous remercie pour votre retour.\n Bonne journée\n PS : l’adresse fonctionne\n ```\n - **Résumés techniques** :\n - Le problème s'est résolu de lui-même.\n - L'adresse https://zk1.brg-lab.com/ fonctionne.\n\n### Éléments liés à l'analyse visuelle\n- **Nombre d'images attachées** : 1\n- **Références aux interfaces ou options à visualiser** :\n - Page d'accès à l'essai au bleu.\n - Page https://zk1.brg-lab.com/.\n- **Points à vérifier dans les captures** :\n - Vérifier si la page https://zk1.brg-lab.com/ affiche le contenu attendu.",
|
||||
"metadata": {
|
||||
"timestamp": "20250422_084712",
|
||||
"source_agent": "AgentTicketAnalyser",
|
||||
"ticket_id": "T11143",
|
||||
"model_info": {
|
||||
"model": "mistral-large-latest",
|
||||
"temperature": 0.1,
|
||||
"top_p": 0.5,
|
||||
"max_tokens": 4000,
|
||||
"presence_penalty": 0,
|
||||
"frequency_penalty": 0,
|
||||
"stop": [],
|
||||
"stream": false,
|
||||
"n": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,81 +0,0 @@
|
||||
RÉSULTATS DE L'ANALYSE ANALYSE_TICKET - TICKET T11143
|
||||
================================================================================
|
||||
|
||||
--- ÉLÉMENT 1 ---
|
||||
|
||||
### Résumé du contexte
|
||||
- **Client** : Victor BOLLÉE, v.bollee@labojcg.fr
|
||||
- **Sujet du ticket reformulé en une ou plusieurs questions** :
|
||||
- Pourquoi l'essai au bleu est-il inaccessible ?
|
||||
- Comment accéder à la page https://zk1.brg-lab.com/ ?
|
||||
- **Description technique synthétique** :
|
||||
- Le client ne parvient pas à accéder à l'essai au bleu.
|
||||
- Le problème s'est résolu de lui-même par la suite.
|
||||
- L'adresse https://zk1.brg-lab.com/ fonctionne.
|
||||
|
||||
### Informations techniques détectées
|
||||
- **Logiciels/modules mentionnés** :
|
||||
- Essai au bleu
|
||||
- **Paramètres évoqués** :
|
||||
- Aucun paramètre spécifique mentionné.
|
||||
- **Fonctionnalités impactées** :
|
||||
- Accès à l'essai au bleu.
|
||||
- **Conditions spécifiques** :
|
||||
- Aucune condition spécifique mentionnée.
|
||||
|
||||
### Fil de discussion (filtrée, nettoyée, classée)
|
||||
- **Intervenant** : Victor BOLLÉE (Client)
|
||||
- **Date** : 03/04/2025 08:34
|
||||
- **Contenu** :
|
||||
```
|
||||
Bonjour,
|
||||
Je ne parviens pas à accéder au l’essai au bleu :
|
||||
Merci par avance pour votre.
|
||||
Cordialement
|
||||
```
|
||||
- **Résumés techniques** :
|
||||
- Problème d'accès à l'essai au bleu.
|
||||
|
||||
- **Intervenant** : Fabien LAFAY (Support)
|
||||
- **Date** : 03/04/2025 12:17
|
||||
- **Contenu** :
|
||||
```
|
||||
Bonjour,
|
||||
Pouvez-vous vérifier si vous avez bien accès à la page suivante en l'ouvrant dans votre navigateur :
|
||||
https://zk1.brg-lab.com/
|
||||
Voici ce que vous devriez voir affiché :
|
||||
Si ce n'est pas le cas, pouvez-vous me faire une capture d'écran de ce qui est affiché?
|
||||
Je reste à votre entière disposition pour toute information complémentaire.
|
||||
Cordialement,
|
||||
```
|
||||
- **Résumés techniques** :
|
||||
- Demande de vérification de l'accès à la page https://zk1.brg-lab.com/.
|
||||
- Demande de capture d'écran si la page n'affiche pas le contenu attendu.
|
||||
|
||||
- **Intervenant** : Victor BOLLÉE (Client)
|
||||
- **Date** : 03/04/2025 12:21
|
||||
- **Contenu** :
|
||||
```
|
||||
Bonjour,
|
||||
Le problème s’est résolu seul par la suite.
|
||||
Je vous remercie pour votre retour.
|
||||
Bonne journée
|
||||
PS : l’adresse fonctionne
|
||||
```
|
||||
- **Résumés techniques** :
|
||||
- Le problème s'est résolu de lui-même.
|
||||
- L'adresse https://zk1.brg-lab.com/ fonctionne.
|
||||
|
||||
### Éléments liés à l'analyse visuelle
|
||||
- **Nombre d'images attachées** : 1
|
||||
- **Références aux interfaces ou options à visualiser** :
|
||||
- Page d'accès à l'essai au bleu.
|
||||
- Page https://zk1.brg-lab.com/.
|
||||
- **Points à vérifier dans les captures** :
|
||||
- Vérifier si la page https://zk1.brg-lab.com/ affiche le contenu attendu.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
|
||||
================================================================================
|
||||
Fichier original: analyse_ticket_mistral-large-latest_results.json
|
||||
@ -1,26 +0,0 @@
|
||||
[
|
||||
{
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/image.png",
|
||||
"status": "unique"
|
||||
},
|
||||
{
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png",
|
||||
"status": "unique"
|
||||
},
|
||||
{
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/image_145453.png",
|
||||
"status": "duplicate"
|
||||
},
|
||||
{
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg",
|
||||
"status": "unique"
|
||||
},
|
||||
{
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/5ad281b63492e31c9e66bf27518b816cdd3766cab9812bd4ff16b736e9e98265.jpg",
|
||||
"status": "duplicate"
|
||||
},
|
||||
{
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif",
|
||||
"status": "unique"
|
||||
}
|
||||
]
|
||||
@ -1,32 +0,0 @@
|
||||
[
|
||||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,12 +0,0 @@
|
||||
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,4 +0,0 @@
|
||||
RAPPORT D'ANALYSE DU TICKET T11143
|
||||
==================================================
|
||||
|
||||
Voici un exemple de rapport croisé basé sur les instructions fournies :
|
||||
File diff suppressed because one or more lines are too long
@ -1,42 +0,0 @@
|
||||
RÉSULTATS DE L'ANALYSE RAPPORT_FINAL - TICKET T11143
|
||||
================================================================================
|
||||
|
||||
--- ÉLÉMENT 1 ---
|
||||
|
||||
### 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) |
|
||||
|
||||
----------------------------------------
|
||||
|
||||
|
||||
================================================================================
|
||||
Fichier original: rapport_final_mistral-large-latest_results.json
|
||||
@ -1,130 +0,0 @@
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,30 +0,0 @@
|
||||
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,90 +0,0 @@
|
||||
[
|
||||
{
|
||||
"is_relevant": true,
|
||||
"reason": "Oui.\n\nL'image montre une capture d'écran d'une page web liée à l'installation et à la configuration d'un logiciel (Tomcat), ce qui est pertinent pour un ticket de support technique.",
|
||||
"raw_response": "Oui.\n\nL'image montre une capture d'écran d'une page web liée à l'installation et à la configuration d'un logiciel (Tomcat), ce qui est pertinent pour un ticket de support technique.",
|
||||
"metadata": {
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/image.png",
|
||||
"image_name": "image.png",
|
||||
"timestamp": "20250422_084714",
|
||||
"model_info": {
|
||||
"model": "pixtral-large-latest",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"max_tokens": 300,
|
||||
"presence_penalty": 0,
|
||||
"frequency_penalty": 0,
|
||||
"stop": [],
|
||||
"stream": false,
|
||||
"n": 1
|
||||
},
|
||||
"source_agent": "AgentImageSorter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"is_relevant": true,
|
||||
"reason": "Oui.\nL'image montre une capture d'écran d'une interface logicielle de BRG-LAB, ce qui est pertinent pour un ticket de support technique.",
|
||||
"raw_response": "Oui.\nL'image montre une capture d'écran d'une interface logicielle de BRG-LAB, ce qui est pertinent pour un ticket de support technique.",
|
||||
"metadata": {
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/image_145435.png",
|
||||
"image_name": "image_145435.png",
|
||||
"timestamp": "20250422_084716",
|
||||
"model_info": {
|
||||
"model": "pixtral-large-latest",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"max_tokens": 300,
|
||||
"presence_penalty": 0,
|
||||
"frequency_penalty": 0,
|
||||
"stop": [],
|
||||
"stream": false,
|
||||
"n": 1
|
||||
},
|
||||
"source_agent": "AgentImageSorter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"is_relevant": false,
|
||||
"reason": "Non.\n\nL'image montre uniquement le logo de la société CBAO, ce qui n'est pas pertinent pour un ticket de support technique.",
|
||||
"raw_response": "Non.\n\nL'image montre uniquement le logo de la société CBAO, ce qui n'est pas pertinent pour un ticket de support technique.",
|
||||
"metadata": {
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg",
|
||||
"image_name": "543d7da1b54c29ff43ce5712d1a9aa4962ed21795c4e943fcb8cb84fd4d7465a.jpg",
|
||||
"timestamp": "20250422_084717",
|
||||
"model_info": {
|
||||
"model": "pixtral-large-latest",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"max_tokens": 300,
|
||||
"presence_penalty": 0,
|
||||
"frequency_penalty": 0,
|
||||
"stop": [],
|
||||
"stream": false,
|
||||
"n": 1
|
||||
},
|
||||
"source_agent": "AgentImageSorter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"is_relevant": false,
|
||||
"reason": "Non.\n\nL'image représente un logo ou une illustration promotionnelle, probablement liée à une marque ou un événement. Elle n'est pas pertinente pour un ticket de support technique car elle ne montre ni interface logicielle, ni message d'erreur, ni configuration technique.",
|
||||
"raw_response": "Non.\n\nL'image représente un logo ou une illustration promotionnelle, probablement liée à une marque ou un événement. Elle n'est pas pertinente pour un ticket de support technique car elle ne montre ni interface logicielle, ni message d'erreur, ni configuration technique.",
|
||||
"metadata": {
|
||||
"image_path": "output/ticket_T11143/T11143_20250422_084617/attachments/a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif",
|
||||
"image_name": "a20f7697fd5e1d1fca3296c6d01228220e0e112c46b4440cc938f74d10934e98.gif",
|
||||
"timestamp": "20250422_084719",
|
||||
"model_info": {
|
||||
"model": "pixtral-large-latest",
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.8,
|
||||
"max_tokens": 300,
|
||||
"presence_penalty": 0,
|
||||
"frequency_penalty": 0,
|
||||
"stop": [],
|
||||
"stream": false,
|
||||
"n": 1
|
||||
},
|
||||
"source_agent": "AgentImageSorter"
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,37 +0,0 @@
|
||||
RÉSULTATS DE L'ANALYSE TRI_IMAGE - TICKET T11143
|
||||
================================================================================
|
||||
|
||||
--- ÉLÉMENT 1 ---
|
||||
|
||||
Oui.
|
||||
|
||||
L'image montre une capture d'écran d'une page web liée à l'installation et à la configuration d'un logiciel (Tomcat), ce qui est pertinent pour un ticket de support technique.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
--- ÉLÉMENT 2 ---
|
||||
|
||||
Oui.
|
||||
L'image montre une capture d'écran d'une interface logicielle de BRG-LAB, ce qui est pertinent pour un ticket de support technique.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
--- ÉLÉMENT 3 ---
|
||||
|
||||
Non.
|
||||
|
||||
L'image montre uniquement le logo de la société CBAO, ce qui n'est pas pertinent pour un ticket de support technique.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
--- ÉLÉMENT 4 ---
|
||||
|
||||
Non.
|
||||
|
||||
L'image représente un logo ou une illustration promotionnelle, probablement liée à une marque ou un événement. Elle n'est pas pertinente pour un ticket de support technique car elle ne montre ni interface logicielle, ni message d'erreur, ni configuration technique.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
|
||||
================================================================================
|
||||
Fichier original: tri_image_pixtral-large-latest_results.json
|
||||
@ -1,4 +0,0 @@
|
||||
RAPPORT D'ANALYSE DU TICKET T11143
|
||||
==================================================
|
||||
|
||||
Voici un exemple de rapport croisé basé sur les instructions fournies :
|
||||
Loading…
x
Reference in New Issue
Block a user