# Système d'Analyse de Tickets de Support Ce système d'analyse de tickets de support permet de traiter les données des tickets pour en extraire des informations pertinentes, analyser les images, et générer des rapports d'analyse. ## Architecture Le système est désormais structuré de manière modulaire, avec des étapes de traitement distinctes qui peuvent être exécutées indépendamment: 1. **Extraction des données** (`extract_ticket.py`) - Nettoie et prépare les données brutes des tickets 2. **Filtrage des images** (`filter_images.py`) - Identifie les images pertinentes dans les pièces jointes 3. **Analyse d'images** (`analyze_image_contexte.py`) - Analyse les images pertinentes en fonction du contexte 4. **Analyse de ticket** (`analyze_ticket.py`) - Analyse le contenu du ticket pour en extraire les informations clés 5. **Questions-Réponses** (`extract_question_reponse.py`) - Extrait les paires de questions et réponses du ticket Ces étapes peuvent être exécutées individuellement ou dans une séquence complète via le script principal (`processus_complet.py`). ## Prérequis - Python 3.9+ - Bibliothèques requises (listées dans `requirements.txt`) - Clé API pour les modèles de langage utilisés (configurée dans `config.json`) ## Installation ```bash # Cloner le dépôt git clone cd # Installer les dépendances pip install -r requirements.txt # Configurer la clé API cp config.json.example config.json # Éditer config.json pour ajouter votre clé API ``` ## Configuration Créez un fichier `config.json` à la racine du projet avec le contenu suivant: ```json { "llm": { "api_key": "votre-clé-api-ici", "api_base": "https://api.mistral.ai/v1", "organization": "votre-organisation" } } ``` ## Utilisation ### Processus complet Pour exécuter l'ensemble du processus d'analyse sur un ticket: ```bash python scripts/processus_complet.py --ticket T0167 ``` Options disponibles: - `--ticket` ou `-t`: Code du ticket à analyser (obligatoire) - `--source` ou `-s`: Dossier source contenant les tickets bruts (par défaut: `output/`) - `--output` ou `-o`: Dossier de sortie pour les résultats (par défaut: `output_processed/`) - `--verbose` ou `-v`: Afficher plus d'informations ### Étapes individuelles Vous pouvez exécuter uniquement une étape spécifique: ```bash python scripts/processus_complet.py --ticket T0167 --etapes extraction ``` Étapes disponibles: - `extraction`: Extraction et nettoyage des données du ticket - `filtrage`: Filtrage des images pertinentes - `analyse_images`: Analyse des images pertinentes - `analyse_ticket`: Analyse du contenu du ticket - `questions_reponses`: Extraction des questions et réponses - `tout`: Exécute toutes les étapes (par défaut) ### Scripts individuels Vous pouvez aussi exécuter directement les scripts individuels pour plus de contrôle: #### 1. Extraction des données ```bash python scripts/extract_ticket.py output/ticket_T0167 --output-dir output_processed/ticket_T0167 ``` #### 2. Filtrage des images ```bash python scripts/filter_images.py --dossier-ticket output_processed/ticket_T0167 ``` #### 3. Analyse d'images ```bash python scripts/analyze_image_contexte.py --image chemin/vers/image.jpg --ticket-info output_processed/ticket_T0167/ticket_info.json ``` #### 4. Analyse de ticket ```bash python scripts/analyze_ticket.py --messages output_processed/ticket_T0167/messages.json --images-rapport output_processed/ticket_T0167/filter_report.json ``` #### 5. Questions-Réponses ```bash python scripts/extract_question_reponse.py --messages output_processed/ticket_T0167/messages.json ``` ## Structure des dossiers ``` . ├── config.json # Configuration (clés API, etc.) ├── main.py # Script principal original (pour compatibilité) ├── post_process.py # Post-traitement original (pour compatibilité) ├── requirements.txt # Dépendances du projet ├── scripts/ # Scripts modulaires │ ├── analyze_image_contexte.py # Analyse d'images avec contexte │ ├── analyze_ticket.py # Analyse de ticket │ ├── extract_question_reponse.py # Extraction de questions-réponses │ ├── extract_ticket.py # Extraction et nettoyage de données │ ├── filter_images.py # Filtrage d'images │ └── processus_complet.py # Orchestration du processus complet ├── output/ # Données brutes des tickets │ └── ticket_TXXXX/ # Dossier d'un ticket brut ├── output_processed/ # Données traitées et résultats │ └── ticket_TXXXX/ # Dossier d'un ticket traité │ ├── messages.json # Messages nettoyés │ ├── ticket_info.json # Informations du ticket │ ├── attachments/ # Pièces jointes │ ├── filter_report.json # Rapport de filtrage d'images │ ├── images_analyses/ # Analyses d'images │ ├── questions_reponses.md # Questions et réponses extraites │ └── rapport/ # Rapports d'analyse ├── agents/ # Agents d'analyse (pour compatibilité) ├── llm/ # Interfaces avec les modèles de langage └── utils/ # Utilitaires communs ``` ## Dépannage ### Problèmes courants 1. **Messages non traités correctement**: - Exécutez `extract_ticket.py` avec l'option `--verbose` pour voir les détails du traitement - Vérifiez que le fichier messages.json est correctement formaté 2. **Images non détectées**: - Assurez-vous que les images sont dans le dossier `attachments/` - Vérifiez les formats d'image supportés (.jpg, .png, .gif, etc.) 3. **Erreurs LLM**: - Vérifiez que votre clé API est valide et correctement configurée dans `config.json` - Assurez-vous d'avoir une connexion internet stable ### Journaux Chaque script génère un fichier de journal dans le répertoire de travail: - `extract_ticket.log` - `filter_images.log` - `analyze_image.log` - `analyze_ticket.log` - `extract_qr.log` - `processus_complet.log` Consultez ces fichiers pour plus de détails sur les erreurs rencontrées. ## Exemples ### Exemple 1: Analyser un ticket complet ```bash python scripts/processus_complet.py --ticket T0167 --verbose ``` ### Exemple 2: Extraire uniquement les questions-réponses ```bash python scripts/extract_question_reponse.py --messages output/ticket_T0167/messages.json --output output/ticket_T0167/questions_reponses.md ``` ### Exemple 3: Réanalyser un ticket avec des changements ```bash # Nettoyer d'abord les données python scripts/extract_ticket.py output/ticket_T0167 --output-dir output_processed/ticket_T0167 # Puis extraire les questions-réponses python scripts/extract_question_reponse.py --messages output_processed/ticket_T0167/messages.json ```