llm_lab/agents/base_agent.py
2025-03-26 15:02:58 +01:00

26 lines
1.1 KiB
Python

from datetime import datetime
from typing import Dict, List, Any, Optional
class Agent:
"""Classe de base pour tous les agents d'analyse"""
def __init__(self, nom: str = "Agent"):
self.nom = nom
self.historique = []
def ajouter_historique(self, action: str, input_data: Any, output_data: Any) -> None:
"""Ajoute une entrée dans l'historique de l'agent"""
self.historique.append({
"timestamp": datetime.now().isoformat(),
"action": action,
"input": str(input_data)[:500], # Limite pour éviter des historiques trop grands
"output": str(output_data)[:500] # Limite pour éviter des historiques trop grands
})
def obtenir_historique(self) -> List[Dict[str, Any]]:
"""Retourne l'historique complet de l'agent"""
return self.historique
def executer(self, *args, **kwargs) -> Any:
"""Méthode abstraite à implémenter dans les classes dérivées"""
raise NotImplementedError("Chaque agent doit implémenter sa propre méthode executer()")