mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-15 22:06:50 +01:00
159 lines
5.2 KiB
Markdown
159 lines
5.2 KiB
Markdown
# Système d'extraction de tickets Odoo
|
|
|
|
Ce projet permet d'extraire les informations des tickets Odoo (tâches, tickets de support) avec leurs messages et pièces jointes, et de les sauvegarder dans une structure organisée.
|
|
|
|
## Installation
|
|
|
|
1. Clonez le dépôt
|
|
2. Créez un environnement virtuel :
|
|
```bash
|
|
python3 -m venv venv
|
|
source venv/bin/activate # Sur Linux/Mac
|
|
# ou
|
|
venv\Scripts\activate # Sur Windows
|
|
```
|
|
3. Installez les dépendances :
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Créez un fichier `config.json` basé sur le modèle `config.template.json` :
|
|
|
|
```json
|
|
{
|
|
"odoo_url": "https://votre-instance.odoo.com",
|
|
"odoo_db": "nom_de_la_base",
|
|
"odoo_username": "votre_email@exemple.com",
|
|
"odoo_api_key": "votre_clé_api_odoo",
|
|
"output_dir": "ticket_structure"
|
|
}
|
|
```
|
|
|
|
## Utilisation
|
|
|
|
Pour extraire un ticket, utilisez la commande :
|
|
|
|
```bash
|
|
python -m utils.retrieve_ticket CODE_TICKET
|
|
```
|
|
|
|
Options disponibles :
|
|
- `--output`, `-o` : Répertoire de sortie (défaut: "ticket_structure")
|
|
- `--config`, `-c` : Chemin vers le fichier de configuration (défaut: "config.json")
|
|
- `--verbose`, `-v` : Activer le mode verbeux
|
|
|
|
Exemple :
|
|
```bash
|
|
python -m utils.retrieve_ticket T1234 --output mes_tickets --verbose
|
|
```
|
|
|
|
## Structure des fichiers générés
|
|
|
|
Pour chaque ticket extrait, un répertoire est créé avec la structure suivante :
|
|
|
|
```
|
|
CODE_TICKET_DATE/
|
|
├── all_messages.json # Messages traités au format JSON
|
|
├── all_messages.txt # Messages au format texte
|
|
├── attachments/ # Répertoire contenant les pièces jointes
|
|
├── attachments_info.json # Métadonnées des pièces jointes
|
|
├── extraction_summary.json # Résumé de l'extraction
|
|
├── messages_raw.json # Messages bruts
|
|
├── structure.json # Structure du répertoire
|
|
├── ticket_info.json # Données complètes du ticket
|
|
└── ticket_summary.json # Résumé du ticket
|
|
```
|
|
|
|
## Gestionnaires disponibles
|
|
|
|
Le système est divisé en plusieurs gestionnaires :
|
|
|
|
- `AuthManager` : Gère l'authentification et les appels à l'API Odoo
|
|
- `TicketManager` : Gère la récupération des tickets et organise leur extraction
|
|
- `MessageManager` : Gère le traitement des messages (filtrage, nettoyage)
|
|
- `AttachmentManager` : Gère le téléchargement des pièces jointes
|
|
|
|
## Licence
|
|
|
|
Ce projet est sous licence MIT.
|
|
|
|
## Nouvelles fonctionnalités pour Qwen et DeepSeek
|
|
|
|
### Génération de rapports optimisée
|
|
|
|
Pour améliorer la qualité des rapports générés par Qwen et DeepSeek, nous avons introduit plusieurs nouvelles fonctionnalités :
|
|
|
|
1. **Agent de rapport optimisé** (`AgentReportGeneratorBis`)
|
|
- Instructions plus claires et plus directes pour les modèles Qwen et DeepSeek
|
|
- Format strictement défini pour les sections critiques (notamment "Synthèse globale des analyses d'images")
|
|
- Prompt système avec des exemples concrets pour le format JSON
|
|
|
|
2. **Extraction robuste de données** (`report_utils_bis.py`)
|
|
- Module spécialisé pour extraire le JSON des rapports Qwen/DeepSeek
|
|
- Reconstruction du JSON à partir du contenu textuel si nécessaire
|
|
- Détection d'une plus grande variété de formats de section
|
|
|
|
3. **Génération de CSV améliorée**
|
|
- Génération de deux formats CSV :
|
|
- Format complet avec toutes les colonnes (Date, Émetteur, Type, Contenu)
|
|
- Format simplifié Q&R (Question, Réponse) pour la compatibilité
|
|
|
|
4. **Scripts d'orchestration dédiés**
|
|
- `test_orchestrator_qwen_bis.py` : Pour tester avec Qwen/Ollama
|
|
- `test_orchestrator_deepseek_bis.py` : Pour tester avec DeepSeek
|
|
|
|
### Outils de diagnostic et correction
|
|
|
|
1. **Script `test_extraction_json.py`**
|
|
- Permet de tester l'extraction JSON sur des rapports existants
|
|
- Corrige les rapports JSON manquants ou mal formés
|
|
|
|
2. **Script `generate_csv.py`**
|
|
- Génère des fichiers CSV à partir de rapports JSON
|
|
- Supporte plusieurs formats de sortie
|
|
|
|
3. **Script `fix_reports.py`**
|
|
- Outil tout-en-un pour analyser et corriger les rapports existants
|
|
- Options pour analyser ou corriger des rapports spécifiques
|
|
- Détection intelligente des sections et fichiers manquants
|
|
|
|
### Exemples d'utilisation
|
|
|
|
#### Corriger un rapport existant
|
|
|
|
```bash
|
|
# Analyser un rapport spécifique sans le modifier
|
|
./fix_reports.py --analyze --ticket T9656
|
|
|
|
# Corriger automatiquement un rapport problématique
|
|
./fix_reports.py --fix --ticket T9656
|
|
|
|
# Analyser tous les rapports du répertoire
|
|
./fix_reports.py --analyze --dir output/
|
|
|
|
# Corriger tous les rapports problématiques
|
|
./fix_reports.py --fix --dir output/
|
|
```
|
|
|
|
#### Générer un CSV à partir d'un rapport JSON
|
|
|
|
```bash
|
|
./generate_csv.py output/ticket_T0101/T0101_rapports/T0101/T0101_rapport_final.json qwen
|
|
```
|
|
|
|
#### Tester l'extraction JSON d'un rapport
|
|
|
|
```bash
|
|
./test_extraction_json.py output/ticket_T0101/T0101_rapports/T0101/T0101_rapport_final.json
|
|
```
|
|
|
|
#### Générer un nouveau rapport avec l'agent optimisé
|
|
|
|
```bash
|
|
python test_orchestrator_qwen_bis.py T0101
|
|
python test_orchestrator_deepseek_bis.py T0101
|
|
```
|
|
|
|
Ces améliorations permettent d'obtenir des rapports de meilleure qualité avec les modèles Qwen et DeepSeek, tout en maintenant la compatibilité avec les rapports existants générés par Mistral. |