mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-15 21:56:49 +01:00
120 lines
4.1 KiB
Markdown
120 lines
4.1 KiB
Markdown
# 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
|
|
|
|
1. **Remplacement de `AgentJsonAnalyser` par `AgentTicketAnalyser`**
|
|
- 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
|
|
|
|
2. **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
|
|
|
|
3. **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
|
|
|
|
4. **Ajout d'un script de test**
|
|
- `test_ticket_analyse.py` permet 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` :
|
|
|
|
```python
|
|
# 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 :
|
|
|
|
```python
|
|
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
|
|
|
|
```python
|
|
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
|
|
|
|
```bash
|
|
# 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 :
|
|
|
|
```json
|
|
{
|
|
"metadata": {
|
|
"source_file": "chemin/vers/fichier.ext",
|
|
"format": "json|markdown",
|
|
"autres_metadonnees": "..."
|
|
}
|
|
}
|
|
```
|
|
|
|
## Prochaines améliorations possibles
|
|
|
|
1. Ajouter le support pour d'autres formats de données (CSV, XML, etc.)
|
|
2. Améliorer la validation des données chargées
|
|
3. Ajouter des tests unitaires pour chaque composant
|
|
4. Implémenter une détection plus avancée des formats de date
|
|
5. Ajouter une option pour normaliser les noms de champs entre différents formats |