mirror of
https://github.com/Ladebeze66/llm_lab.git
synced 2025-12-15 19:26:52 +01:00
123 lines
4.1 KiB
Markdown
123 lines
4.1 KiB
Markdown
# LLM Lab - Documentation
|
|
|
|
## Vue d'ensemble
|
|
|
|
LLM Lab est une plateforme modulaire conçue pour l'expérimentation avec différents modèles de langage (LLM) et la création d'agents spécialisés. Cette architecture permet l'intégration facile de nouveaux modèles et la création rapide d'agents pour des tâches spécifiques.
|
|
|
|
## Architecture du projet
|
|
|
|
```
|
|
llm_lab-test/
|
|
│
|
|
├── agents/ # Agents spécialisés
|
|
│ ├── base_agent.py # Classe abstraite de base pour tous les agents
|
|
│ ├── analyse_image.py # Agent pour l'analyse d'images
|
|
│ └── analyse_json.py # Agent pour l'analyse de données JSON
|
|
│
|
|
├── core/ # Composants principaux
|
|
│ ├── factory.py # Factory pour l'instanciation des LLMs
|
|
│ ├── llama_vision90b.py # Implémentation de LlamaVision pour l'analyse d'images
|
|
│ └── mistral_api.py # Implémentation de l'API Mistral
|
|
│
|
|
├── examples/ # Exemples d'utilisation
|
|
│ ├── analyse_image_workflow.py # Workflow d'analyse d'images
|
|
│ ├── test_mistralapi.py # Test de l'API Mistral
|
|
│ └── agent_question_reponse.py # Agent de questions-réponses
|
|
│
|
|
├── config/ # Fichiers de configuration
|
|
├── prompts/ # Templates de prompts
|
|
├── outputs/ # Répertoire pour les sorties générées
|
|
├── logs/ # Journaux d'exécution
|
|
└── tests/ # Tests unitaires
|
|
```
|
|
|
|
## Modèles LLM disponibles
|
|
|
|
Le projet intègre plusieurs modèles de langage accessibles via la factory `LLMFactory` :
|
|
|
|
1. **LlamaVision90B** : Modèle spécialisé dans l'analyse d'images avec capacités de vision.
|
|
2. **MistralAPI** : Interface pour l'API Mistral, permettant d'accéder aux modèles comme mistral-large-latest.
|
|
|
|
## Agents disponibles
|
|
|
|
Les agents sont des composants spécialisés qui encapsulent des fonctionnalités spécifiques :
|
|
|
|
### Agent de base (`base_agent.py`)
|
|
|
|
Classe abstraite définissant l'interface commune à tous les agents, avec :
|
|
- Gestion d'un historique des actions
|
|
- Méthode abstraite `executer()` à implémenter par les sous-classes
|
|
|
|
### Agent d'analyse d'images (`analyse_image.py`)
|
|
|
|
Spécialisé dans l'analyse d'images via LlamaVision :
|
|
- Analyse d'images individuelles
|
|
- Intégration avec des données JSON contextuelles
|
|
- Extraction d'informations visuelles (texte, objets, scènes)
|
|
|
|
### Agent d'analyse JSON (`analyse_json.py`)
|
|
|
|
Analyse et traite des données JSON :
|
|
- Extraction de structure
|
|
- Fusion de données JSON
|
|
- Analyse approfondie du contenu
|
|
|
|
### Agent de questions-réponses (`agent_question_reponse.py`)
|
|
|
|
Agent conversationnel utilisant MistralAPI :
|
|
- Réponses à des questions avec ou sans contexte
|
|
- Génération de questions pertinentes
|
|
- Évaluation de la qualité des réponses
|
|
|
|
## Exemples d'utilisation
|
|
|
|
### Workflow d'analyse d'images
|
|
|
|
```python
|
|
# Initialisation d'un agent d'analyse d'image
|
|
agent = AgentAnalyseImage("AgentVision")
|
|
|
|
# Analyse d'une image
|
|
resultats = agent.executer("chemin/vers/image.jpg",
|
|
question="Décris cette image en détail")
|
|
```
|
|
|
|
### Utilisation de MistralAPI
|
|
|
|
```python
|
|
# Via la factory
|
|
llm = LLMFactory().create("mistralapi")
|
|
|
|
# Configuration des paramètres
|
|
llm.parametres_generation["temperature"] = 0.7
|
|
|
|
# Génération de texte
|
|
reponse = llm.generate("Explique-moi comment fonctionne un LLM")
|
|
```
|
|
|
|
### Agent de questions-réponses
|
|
|
|
```python
|
|
# Initialisation
|
|
agent = AgentQuestionReponse("AgentQR")
|
|
|
|
# Poser une question
|
|
resultat = agent.executer("Qu'est-ce que l'apprentissage par renforcement?")
|
|
print(resultat["reponse"])
|
|
|
|
# Générer des questions sur un sujet
|
|
questions = agent.generer_questions(contexte_json, nombre=3)
|
|
```
|
|
|
|
## Configuration requise
|
|
|
|
- Python 3.8+
|
|
- Clé API Mistral (pour MistralAPI)
|
|
- Dépendances listées dans `requirements.txt`
|
|
|
|
## Pour commencer
|
|
|
|
1. Cloner le dépôt
|
|
2. Installer les dépendances : `pip install -r requirements.txt`
|
|
3. Configurer les variables d'environnement nécessaires (ex: `MISTRAL_API_KEY`)
|
|
4. Explorer les exemples dans le dossier `examples/` |