6.1 KiB
Structure du Projet LLM-Ticket3
Ce document décrit la structure du projet après restructuration, avec l'objectif de mieux organiser le code en modules spécifiques.
Structure des répertoires
llm-ticket3/
├── odoo/ # Module Odoo
│ ├── __init__.py # Exports nécessaires
│ ├── auth_manager.py # Auth Odoo
│ ├── ticket_manager.py # Gestion tickets Odoo
│ ├── message_manager.py # Gestion messages Odoo
│ ├── attachment_manager.py # Gestion pièces jointes Odoo
│ └── retrieve_ticket.py # Script récupération tickets
│
├── formatters/ # Module formatage
│ ├── __init__.py # Exports nécessaires
│ ├── clean_html.py # Nettoyage HTML
│ ├── json_to_markdown.py # Conversion JSON → MD
│ ├── markdown_to_json.py # Conversion MD → JSON
│ └── report_formatter.py # Formatage rapports
│
├── loaders/ # Module chargement
│ ├── __init__.py # Exports nécessaires
│ └── ticket_data_loader.py # Chargement données tickets
│
├── agents/ # Module agents
│ ├── agent_report_generator.py # Agent génération rapports
│ ├── agent_ticket_analyser.py # Agent analyse tickets
│ ├── agent_image_analyser.py # Agent analyse images
│ ├── agent_image_sorter.py # Agent tri images
│ ├── base_agent.py # Classe de base pour les agents
│ └── utils/ # Utils spécifiques aux agents
│ ├── __init__.py
│ └── report_utils.py # Utils extraits de agent_report_generator.py
│
├── llm_classes/ # Module LLM
│ ├── base_llm.py # Classe de base pour LLM
│ ├── mistral_large.py # Intégration Mistral Large
│ ├── mistral_medium.py # Intégration Mistral Medium
│ ├── mistral_large_pixtral2411.py # Intégration Mistral Pixtral
│ ├── ollama.py # Intégration Ollama
│ ├── pixtral_12b.py # Intégration Pixtral 12B
│ ├── pixtral_large.py # Intégration Pixtral Large
│ └── utils/ # Utils spécifiques aux LLM
│ ├── __init__.py
│ ├── list_mistral_models.py # Lister les modèles Mistral
│ └── list_ollama_models.py # Lister les modèles Ollama
│
├── core/ # Module central
│ ├── __init__.py # Exports nécessaires
│ ├── utils.py # Utilitaires généraux
│ └── tests/ # Tests
│ ├── __init__.py
│ └── test_clean_html.py # Test pour clean_html
│
├── docs/ # Documentation
│ └── structure.md # Ce document
│
├── orchestrator.py # Orchestrateur principal
├── retrieve_ticket.py # Script récupération tickets (à migrer/supprimer)
├── requirements.txt # Dépendances du projet
└── README.md # Documentation principale
Description des modules
Module odoo/
Ce module contient toutes les classes et fonctions nécessaires pour interagir avec l'API Odoo, notamment :
auth_manager.py: Gestion de l'authentification Odooticket_manager.py: Gestion des tickets Odoo (création, mise à jour, recherche)message_manager.py: Gestion des messages dans les tickets Odooattachment_manager.py: Gestion des pièces jointes dans Odooretrieve_ticket.py: Script de récupération des tickets depuis Odoo
Module formatters/
Ce module contient les fonctions de formatage et de conversion pour différents formats de données :
clean_html.py: Nettoyage du contenu HTML (suppression des balises, formatage)json_to_markdown.py: Conversion de données JSON en Markdownmarkdown_to_json.py: Conversion de Markdown en JSONreport_formatter.py: Formatage des rapports d'analyse
Module loaders/
Ce module gère le chargement et la préparation des données :
ticket_data_loader.py: Chargement des données de tickets pour les agents d'analyse
Module agents/
Ce module contient les différents agents d'analyse et leurs utilitaires :
base_agent.py: Classe de base pour tous les agentsagent_ticket_analyser.py: Agent pour analyser les ticketsagent_image_analyser.py: Agent pour analyser les imagesagent_image_sorter.py: Agent pour trier les images pertinentesagent_report_generator.py: Agent pour générer des rapportsutils/report_utils.py: Utilitaires spécifiques pour la génération de rapports
Module llm_classes/
Ce module contient les intégrations avec différents modèles de langage (LLM) :
base_llm.py: Classe de base pour tous les LLM- Intégrations spécifiques pour différents modèles (Mistral, Pixtral, Ollama)
utils/: Utilitaires spécifiques pour les LLM
Module core/
Ce module contient les fonctions et classes fondamentales utilisées par l'ensemble du projet :
utils.py: Fonctions utilitaires générales (logs, gestion de fichiers, etc.)tests/: Tests unitaires pour les fonctionnalités centrales
Utilisation
Pour utiliser le projet, commencez par l'orchestrateur principal :
python orchestrator.py
La configuration se fait via le fichier config.json à la racine du projet.
Notes de migration
Le répertoire utils/ à la racine du projet contient des fichiers qui ont été migrés vers la nouvelle structure mais qui sont conservés temporairement pour assurer la compatibilité. Ce répertoire sera supprimé une fois la migration terminée et tous les imports mis à jour.