AIagent/llm_classes/example.py
2025-03-24 17:34:55 +01:00

137 lines
4.2 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Script d'exemple pour tester les différentes classes LLM
Ce script montre comment initialiser et utiliser chacune des classes
"""
from llm_classes import Mistral, Ollama, DeepSeek, Perplexity, DeepL, RAG
def test_mistral():
"""Test de la classe Mistral"""
print("\n===== Test Mistral =====")
# Initialisation
mistral = Mistral()
mistral.prompt_system = "Tu es un assistant expert concis et précis. Réponds en français."
# Interrogation
question = "Explique le concept de programmation orientée objet en 3 points clés."
print(f"Question: {question}")
response = mistral.Interroger(question)
print(f"Réponse: {response}")
# Information sur la durée
print(f"Temps de traitement: {mistral.dureeTraitement.total_seconds()} secondes")
def test_ollama():
"""Test de la classe Ollama"""
print("\n===== Test Ollama =====")
# Initialisation
ollama = Ollama()
ollama.prompt_system = "Tu es un assistant technique expert. Réponds en français."
# Configuration des paramètres avancés
ollama.o_temperature = 0.7
ollama.o_num_ctx = 4096
# Interrogation
question = "Quelles sont les différences entre Python et JavaScript?"
print(f"Question: {question}")
response = ollama.Interroger(question)
print(f"Réponse: {response}")
def test_deepseek():
"""Test de la classe DeepSeek"""
print("\n===== Test DeepSeek =====")
# Initialisation
deepseek = DeepSeek()
deepseek.prompt_system = "Tu es un assistant IA. Réponds en français."
# Configuration
deepseek.max_tokens = 1000
# Interrogation
question = "Explique-moi le théorème de Bayes de manière simple."
print(f"Question: {question}")
response = deepseek.Interroger(question)
print(f"Réponse: {response}")
def test_perplexity():
"""Test de la classe Perplexity"""
print("\n===== Test Perplexity =====")
# Initialisation
perplexity = Perplexity()
# Le prompt system est déjà défini par défaut
# Configuration de recherche
perplexity.search_recency_filter = "year"
# Interrogation
question = "Quelles sont les dernières avancées en intelligence artificielle en 2023?"
print(f"Question: {question}")
response = perplexity.Interroger(question)
print(f"Réponse: {response}")
def test_deepl():
"""Test de la classe DeepL pour la traduction"""
print("\n===== Test DeepL =====")
# Initialisation
translator = DeepL()
# Traduction français -> anglais
translator.langueSource = "FR"
translator.langueDesti = "EN"
text = "L'intelligence artificielle révolutionne notre façon de travailler et de vivre."
print(f"Texte original (FR): {text}")
translated = translator.Interroger(text)
print(f"Traduction (EN): {translated}")
# Traduction anglais -> français
translator.langueSource = "EN"
translator.langueDesti = "FR"
text = "Artificial intelligence is transforming the way we process and understand information."
print(f"Texte original (EN): {text}")
translated = translator.Interroger(text)
print(f"Traduction (FR): {translated}")
def test_rag():
"""Test de la classe RAG"""
print("\n===== Test RAG =====")
# Initialisation
rag = RAG()
# Interrogation
question = "Quels sont les principes fondamentaux de l'apprentissage par renforcement?"
print(f"Question formatée: {RAG.formateQuestion(question)}")
# Note: Cette partie peut échouer si le service RAG n'est pas accessible
try:
response = rag.Chat(question)
print(f"Réponse: {response}")
except Exception as e:
print(f"Erreur lors de l'interrogation RAG: {e}")
def main():
"""Fonction principale qui exécute tous les tests"""
print("TESTS DES CLASSES LLM")
print("=====================")
# Sélectionnez les tests à exécuter en décommentant les lignes
test_mistral()
test_ollama()
test_deepseek()
test_perplexity()
test_deepl()
test_rag()
print("\nTous les tests sont terminés!")
if __name__ == "__main__":
main()