mirror of
https://github.com/Ladebeze66/AIagent.git
synced 2025-12-13 09:06:49 +01:00
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 langageMistral: Intégration avec l'API MistralOllama: Intégration avec Ollama (modèles locaux)DeepSeek: Intégration avec l'API DeepSeekPerplexity: Intégration avec l'API PerplexityDeepL: Intégration avec l'API DeepL pour la traductionRAG: Système de Retrieval Augmented GenerationLlamaVision: Intégration avec Llama Vision 3.2 pour l'analyse d'imagesAgent,AgentAnalyseImage,AgentAnalyseJSON,AgentQuestionReponse: Agents spécialisés pour l'analyse d'images et de données
Installation
pip install -r requirements.txt
Exemples d'utilisation
Utilisation de Mistral
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
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
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
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
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 RAGexample_vision.py: Démontre l'utilisation de LlamaVision et des agents d'analyse d'images
Utilisation de example_vision.py
# 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
- Pour utiliser ces classes, vous devez disposer des clés API appropriées pour les services externes (Mistral, DeepSeek, Perplexity, DeepL).
- Pour LlamaVision et Ollama, assurez-vous que les services correspondants sont accessibles (généralement sur localhost).
- Certaines fonctionnalités nécessitent des dépendances supplémentaires comme Pillow pour le traitement d'images.
- Les exemples supposent que les services sont correctement configurés et accessibles.