4.1 KiB
Améliorations du système d'analyse de tickets
Contexte
Le système d'analyse de tickets a été amélioré pour mieux gérer différents formats de données, en particulier les formats JSON et Markdown. Ce document explique les changements apportés et comment utiliser le nouveau système.
Changements principaux
-
Remplacement de
AgentJsonAnalyserparAgentTicketAnalyser- Le nouvel agent est plus flexible et peut traiter des données provenant de différentes sources
- Il utilise un prompt système amélioré qui inclut des instructions spécifiques pour l'analyse des tickets
- Il intègre une meilleure gestion des métadonnées sur la source des données
-
Création d'une classe
TicketDataLoader- Abstraction pour charger les données de tickets depuis différentes sources
- Implémentations spécifiques pour les formats JSON et Markdown
- Validation et normalisation des données chargées
- Gestion unifiée de la recherche de fichiers de tickets
-
Mise à jour de l'orchestrateur
- Adaptation pour utiliser le nouvel agent et le loader de données
- Simplification des méthodes de traitement des données
- Suppression du code redondant pour l'extraction des données Markdown
-
Ajout d'un script de test
test_ticket_analyse.pypermet de tester le système d'analyse de tickets- Possibilité de tester l'analyse d'un fichier spécifique
- Possibilité de tester la recherche de fichiers de tickets
Comment utiliser le nouveau système
Dans les scripts existants
Remplacez les références à AgentJsonAnalyser par AgentTicketAnalyser :
# Ancien code
from agents.agent_json_analyser import AgentJsonAnalyser
agent = AgentJsonAnalyser(llm)
# Nouveau code
from agents.agent_ticket_analyser import AgentTicketAnalyser
agent = AgentTicketAnalyser(llm)
Analyser un fichier directement
Le nouvel agent peut analyser un fichier directement sans avoir à charger les données au préalable :
from agents.agent_ticket_analyser import AgentTicketAnalyser
agent = AgentTicketAnalyser(llm)
resultat = agent.analyser_depuis_fichier("chemin/vers/ticket.json")
# ou
resultat = agent.analyser_depuis_fichier("chemin/vers/ticket.md")
Charger des données de ticket avec le loader
from utils.ticket_data_loader import TicketDataLoader
loader = TicketDataLoader()
# Charger un fichier JSON
donnees_json = loader.charger("chemin/vers/ticket.json")
# Charger un fichier Markdown
donnees_md = loader.charger("chemin/vers/ticket.md")
# Détecter automatiquement le format
donnees = loader.charger("chemin/vers/ticket.ext")
# Rechercher des fichiers de ticket
resultats = loader.trouver_ticket("dossier/extraction", "T0101")
if resultats.get("json"):
print(f"Fichier JSON trouvé: {resultats['json']}")
if resultats.get("markdown"):
print(f"Fichier Markdown trouvé: {resultats['markdown']}")
Exécuter les tests
# Tester l'analyse d'un fichier
python test_ticket_analyse.py --file chemin/vers/ticket.json
# Rechercher un ticket par ID
python test_ticket_analyse.py --search T0101 --dir dossier/extraction
# Afficher l'aide
python test_ticket_analyse.py --help
Compatibilité avec l'ancien système
Si vous avez encore des scripts qui utilisent l'ancien AgentJsonAnalyser, ceux-ci devraient continuer à fonctionner avec le nouvel agent, car l'interface de la méthode executer() est restée compatible.
Structure des métadonnées
Le nouveau système ajoute des métadonnées sur la source des données, ce qui peut être utile pour le débogage et l'analyse :
{
"metadata": {
"source_file": "chemin/vers/fichier.ext",
"format": "json|markdown",
"autres_metadonnees": "..."
}
}
Prochaines améliorations possibles
- Ajouter le support pour d'autres formats de données (CSV, XML, etc.)
- Améliorer la validation des données chargées
- Ajouter des tests unitaires pour chaque composant
- Implémenter une détection plus avancée des formats de date
- Ajouter une option pour normaliser les noms de champs entre différents formats