2025-04-09 13:36:42 +02:00

60 lines
1.6 KiB
Python

#!/usr/bin/env python3
"""
Module pour simuler un LLM lors des tests.
"""
from typing import Callable
class LLMMock:
"""
Classe simulant un modèle LLM pour les tests.
"""
def __init__(self, response_generator: Callable[[str], str]):
"""
Initialise le modèle simulé avec un générateur de réponses.
Args:
response_generator: Fonction qui génère une réponse à partir d'un prompt
"""
self.response_generator = response_generator
self.prompt_system = ""
self.modele = "LLMMock"
self.version = "1.0"
self.dureeTraitement = "0s"
def interroger(self, prompt: str) -> str:
"""
Simule l'interrogation d'un modèle LLM.
Args:
prompt: Prompt à envoyer au modèle
Returns:
Réponse simulée
"""
return self.response_generator(prompt)
def interroger_avec_image(self, image_path: str, prompt: str) -> str:
"""
Simule l'interrogation d'un modèle LLM avec une image.
Args:
image_path: Chemin vers l'image
prompt: Prompt à envoyer au modèle
Returns:
Réponse simulée
"""
return self.response_generator(f"[IMAGE: {image_path}]\n{prompt}")
def configurer(self, **kwargs):
"""
Simule la configuration du modèle.
Args:
**kwargs: Paramètres de configuration
"""
for key, value in kwargs.items():
setattr(self, key, value)
return self