mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-16 13:27:49 +01:00
199 lines
6.9 KiB
Markdown
199 lines
6.9 KiB
Markdown
# 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 <URL_DU_DEPOT>
|
|
cd <NOM_DU_DOSSIER>
|
|
|
|
# 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
|
|
``` |