llm_ticket3/README_AGENTS_LLM.md
2025-04-14 14:10:19 +02:00

10 lines
4.0 KiB
Markdown

# Organisation des Agents LLM\n\nLes agents sont organisés par modèle LLM dans des dossiers séparés pour permettre une personnalisation des prompts spécifiques à chaque modèle.\n
## Structure des dossiers\n\n```\nagents/\n├── deepseek/ # Agents optimisés pour DeepSeek\n├── llama_vision3.2/ # Agents optimisés pour Llama Vision 3.2\n├── mistral_large/ # Agents optimisés pour Mistral Large\n├── mistral_medium/ # Agents optimisés pour Mistral Medium\n├── pixtral12b/ # Agents optimisés pour Pixtral 12B\n├── pixtral_large/ # Agents optimisés pour Pixtral Large\n├── qwen2.5/ # Agents optimisés pour Qwen 2.5\n└── utils/ # Utilitaires communs et classe de base\n```\n
## Agents par modèle\n\nChaque modèle LLM utilise certains agents spécifiques, optimisés pour ses capacités :\n\n- **Mistral Medium** : Analyse de tickets et génération de rapports (texte)\n- **Mistral Large** : Analyse de tickets complexes et rapports détaillés\n- **Pixtral 12B** : Tri et analyse d'images (vision)\n- **Pixtral Large** : Tri et analyse d'images complexes\n- **Llama Vision 3.2** : Ensemble complet d'agents (texte et vision)\n- **DeepSeek** : Analyse de tickets et génération de rapports\n- **Qwen 2.5** : Génération de rapports dans un style spécifique\n\nL'architecture permet d'adapter précisément les prompts pour les forces et faiblesses de chaque modèle.\n
## Utilisation dans les tests\n\nLes scripts de test (`test_orchestrator_*.py`) sont configurés pour utiliser des combinaisons spécifiques d'agents. Par exemple:\n\n- `test_orchestrator.py` : Utilise Mistral Medium et Pixtral 12B\n- `test_orchestrator_large.py` : Utilise Mistral Large et Pixtral Large\n- `test_orchestrator_llama_vision.py` : Utilise Llama Vision pour l'analyse d'images\n- `test_orchestrator_deepseek.py` : Utilise DeepSeek pour l'analyse de tickets\n- `test_orchestrator_qwen_specialized.py` : Utilise Qwen pour la génération de rapports\n\n## Classe BaseAgent\n\nTous les agents héritent de la classe `BaseAgent` qui se trouve dans `agents/utils/base_agent.py`. Cette classe fournit des fonctionnalités communes telles que:\n\n- Gestion de l'historique des actions\n- Interface commune avec les modèles LLM\n- Méthode abstraite `executer()` que tous les agents doivent implémenter\n\n## Modification des prompts\n\nPour adapter un agent à un LLM spécifique:\n\n1. Modifiez le fichier d'agent dans le dossier du LLM correspondant\n2. Ajustez le prompt système dans la variable `self.system_prompt`\n3. Adaptez les paramètres (température, top_p, etc.) en fonction du modèle\n4. Testez avec le script d'orchestration correspondant\n\n## Compatibilité avec l'orchestrateur\n\nL'orchestrateur est conçu pour fonctionner indifféremment avec n'importe quelle implémentation d'agent tant qu'elle respecte l'interface `BaseAgent`. Cela permet de comparer facilement les performances des différents LLM sur les mêmes tâches.\n
## Résolution des erreurs d'importation\n\nSi vous rencontrez des erreurs d'importation concernant les agents, vérifiez les points suivants :\n\n1. Assurez-vous que tous les fichiers d'agents importent correctement la classe BaseAgent :
- Utilisez `from agents.utils.base_agent import BaseAgent` au lieu de `from .base_agent import BaseAgent`\n\n2. Pour le dossier `llama_vision3.2` qui contient un point dans son nom :\n\n- Utilisez les agents standard avec un alias dans les fichiers de test\n- Exemple : `from agents.agent_ticket_analyser import AgentTicketAnalyser as LlamaVisionTicketAnalyser`\n\n3. Vérifiez le fichier orchestrator.py pour vous assurer qu'il accepte différents types d'agents :\n\n- Le constructeur doit utiliser `Any` pour les paramètres d'agents\n\n4. Pour les tests avec différentes combinaisons d'agents, il est recommandé de :\n\n- Créer un fichier de test spécifique pour chaque modèle\n- Utiliser les alias pour distinguer les agents de chaque modèle