llm_lab_perso/examples/model_comparison.py
2025-03-27 18:40:52 +01:00

52 lines
1.8 KiB
Python

"""
Exemple de comparaison des différents modèles LLM sur un même prompt
"""
from core.factory import LLMFactory
import os
def compare_models(prompt, models=None):
"""Compare les réponses de différents modèles sur un même prompt"""
if models is None:
models = ["mistral7b", "codellama13b-python", "llama2-13b"]
results = {}
print(f"Comparaison des modèles sur le prompt:\n{prompt}\n")
print("=" * 80)
for model_name in models:
print(f"\nTesting {model_name}...")
try:
# Création du modèle via la factory
model = LLMFactory.create(model_name)
# Génération avec le prompt donné
result = model.generate(prompt)
results[model_name] = result
# Affichage d'une partie de la réponse
preview = result[:200] + "..." if len(result) > 200 else result
print(f"✓ Réponse ({len(result)} caractères):\n{preview}")
except Exception as e:
print(f"✗ Erreur: {str(e)}")
return results
if __name__ == "__main__":
# Création du dossier examples si nécessaire
os.makedirs("examples", exist_ok=True)
# Prompts de test pour différents cas d'usage
prompts = {
"génération_texte": "Écris un poème sur l'intelligence artificielle en 4 vers.",
"programmation": "Écris une fonction Python qui calcule la suite de Fibonacci de manière récursive.",
"raisonnement": "Si j'ai 5 pommes et que je donne 2 pommes à Marie, puis que Jean me donne 3 pommes, combien de pommes ai-je maintenant?"
}
# Exécution des tests
for task, prompt in prompts.items():
print(f"\n\n{'#' * 80}")
print(f"# TEST: {task}")
print(f"{'#' * 80}")
compare_models(prompt)