mirror of
https://github.com/Ladebeze66/AIagent.git
synced 2025-12-16 00:06:54 +01:00
141 lines
4.3 KiB
Markdown
141 lines
4.3 KiB
Markdown
# 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. |