#!/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()