5.2 KiB
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
- Clonez le dépôt
- Créez un environnement virtuel :
python3 -m venv venv source venv/bin/activate # Sur Linux/Mac # ou venv\Scripts\activate # Sur Windows - Installez les dépendances :
pip install -r requirements.txt
Configuration
Créez un fichier config.json basé sur le modèle config.template.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 :
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 :
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 OdooTicketManager: Gère la récupération des tickets et organise leur extractionMessageManager: 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 :
-
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
-
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
-
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é
- Génération de deux formats CSV :
-
Scripts d'orchestration dédiés
test_orchestrator_qwen_bis.py: Pour tester avec Qwen/Ollamatest_orchestrator_deepseek_bis.py: Pour tester avec DeepSeek
Outils de diagnostic et correction
-
Script
test_extraction_json.py- Permet de tester l'extraction JSON sur des rapports existants
- Corrige les rapports JSON manquants ou mal formés
-
Script
generate_csv.py- Génère des fichiers CSV à partir de rapports JSON
- Supporte plusieurs formats de sortie
-
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
# 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
./generate_csv.py output/ticket_T0101/T0101_rapports/T0101/T0101_rapport_final.json qwen
Tester l'extraction JSON d'un rapport
./test_extraction_json.py output/ticket_T0101/T0101_rapports/T0101/T0101_rapport_final.json
Générer un nouveau rapport avec l'agent optimisé
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.