# Classes Python pour l'intégration de LLM Ce package fournit des classes Python permettant d'intégrer facilement différents modèles de langage (LLM) dans vos applications. ## Classes disponibles - `LLM` : Classe de base abstraite pour tous les modèles de langage - `Mistral` : Intégration avec l'API Mistral - `Ollama` : Intégration avec Ollama (modèles locaux) - `DeepSeek` : Intégration avec l'API DeepSeek - `Perplexity` : Intégration avec l'API Perplexity - `DeepL` : Intégration avec l'API DeepL pour la traduction - `RAG` : Système de Retrieval Augmented Generation - `LlamaVision` : Intégration avec Llama Vision 3.2 pour l'analyse d'images - `Agent`, `AgentAnalyseImage`, `AgentAnalyseJSON`, `AgentQuestionReponse` : Agents spécialisés pour l'analyse d'images et de données ## Installation ```bash pip install -r requirements.txt ``` ## Exemples d'utilisation ### Utilisation de Mistral ```python from llm_classes import Mistral # Création d'une instance mistral = Mistral(api_key="votre_clé_api") # Configuration mistral.temperature = 0.7 mistral.max_tokens = 500 # Interrogation reponse = mistral.Interroger("Explique-moi la théorie de la relativité") print(reponse) ``` ### Utilisation d'Ollama ```python from llm_classes import Ollama # Création d'une instance ollama = Ollama() ollama.Modele = "llama2" # ou tout autre modèle disponible dans Ollama # Interrogation reponse = ollama.Interroger("Comment fonctionne une machine à vapeur?") print(reponse) ``` ### Utilisation de DeepL ```python from llm_classes import DeepL # Création d'une instance deepl = DeepL(api_key="votre_clé_api") # Traduction texte_traduit = deepl.traduire("Hello world", "FR") print(texte_traduit) # Bonjour le monde ``` ### Utilisation de LlamaVision pour l'analyse d'images ```python from llm_classes import LlamaVision # Création d'une instance vision = LlamaVision() # Chargement d'une image vision.set_image("chemin/vers/image.jpg") # Analyse de l'image reponse = vision.Interroger("Décris en détail ce que tu vois dans cette image") print(reponse) # Avec données JSON complémentaires vision.set_json_data({"contexte": "Photo prise en vacances"}) reponse = vision.Interroger("En tenant compte du contexte, décris cette image") print(reponse) # Sauvegarde des résultats vision.sauvegarder_resultats("resultats.json") ``` ### Utilisation des agents pour un workflow complet ```python from llm_classes import AgentAnalyseImage, AgentAnalyseJSON, AgentQuestionReponse # Analyse d'une image agent_image = AgentAnalyseImage("Agent Vision") resultats_image = agent_image.executer("chemin/vers/image.jpg") # Analyse des données extraites agent_json = AgentAnalyseJSON("Agent JSON") resultats_analyse = agent_json.executer(resultats_image, "Analyse les éléments clés de cette image") # Questions/Réponses sur les données agent_qr = AgentQuestionReponse("Agent QR") questions = [ "Que représente principalement cette image?", "Y a-t-il des personnes ou des animaux visibles?" ] resultats_qr = agent_qr.executer(resultats_analyse, questions) # Évaluation des réponses evaluation = agent_qr.evaluer_reponses(resultats_qr["resultats_qr"]) print(f"Note moyenne des réponses: {evaluation['meta']['note_moyenne']}/10") ``` ## Scripts d'exemple Le package inclut deux scripts d'exemple : - `example.py` : Démontre l'utilisation des classes Mistral, Ollama, DeepSeek, Perplexity, DeepL et RAG - `example_vision.py` : Démontre l'utilisation de LlamaVision et des agents d'analyse d'images ### Utilisation de example_vision.py ```bash # Analyse directe d'une image python example_vision.py --image chemin/vers/image.jpg --mode direct # Workflow complet avec analyse et génération de questions/réponses python example_vision.py --image chemin/vers/image.jpg --json donnees_complementaires.json ``` ## Notes importantes 1. Pour utiliser ces classes, vous devez disposer des clés API appropriées pour les services externes (Mistral, DeepSeek, Perplexity, DeepL). 2. Pour LlamaVision et Ollama, assurez-vous que les services correspondants sont accessibles (généralement sur localhost). 3. Certaines fonctionnalités nécessitent des dépendances supplémentaires comme Pillow pour le traitement d'images. 4. Les exemples supposent que les services sont correctement configurés et accessibles.