mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-15 21:36:52 +01:00
60 lines
1.6 KiB
Python
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 |