Files
rpa_vision_v3/examples/README.md
Dom a27b74cf22 v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- Frontend v4 accessible sur réseau local (192.168.1.40)
- Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard)
- Ollama GPU fonctionnel
- Self-healing interactif
- Dashboard confiance

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:23:51 +01:00

205 lines
4.9 KiB
Markdown

# Exemples RPA Vision V3
Ce dossier contient des exemples d'utilisation des différents composants de RPA Vision V3.
## Prérequis
### Installation d'Ollama
```bash
# Linux
curl -fsSL https://ollama.ai/install.sh | sh
# macOS
brew install ollama
# Démarrer Ollama
ollama serve
# Télécharger le modèle VLM
ollama pull qwen3-vl:8b
```
## Exemples Disponibles
### 1. Test d'Intégration Ollama
**Fichier:** `test_ollama_integration.py`
Test basique de la connexion à Ollama et des fonctionnalités du client.
```bash
python rpa_vision_v3/examples/test_ollama_integration.py
```
### 2. Test de Détection VLM Réelle
**Fichier:** `test_real_vlm_detection.py`
Test complet de la détection d'éléments UI avec le VLM. Crée un screenshot de test et détecte automatiquement les éléments.
```bash
python rpa_vision_v3/examples/test_real_vlm_detection.py
```
**Résultat attendu:**
- ✅ Détection de 4 éléments UI
- ✅ Classification correcte des types (button, text_input, checkbox)
- ✅ Classification correcte des rôles (primary_action, cancel, form_input)
### 3. Détection Simple sur Screenshot
**Fichier:** `simple_vlm_detection.py`
Exemple simple pour analyser vos propres screenshots.
```bash
python rpa_vision_v3/examples/simple_vlm_detection.py /path/to/screenshot.png
```
**Exemple de sortie:**
```
✓ Ollama est disponible
✓ UIDetector initialisé avec qwen3-vl:8b
Analyse du screenshot: screenshot.png
✓ Détection terminée: 5 éléments trouvés
================================================================================
ÉLÉMENTS UI DÉTECTÉS
================================================================================
1. BUTTON - primary_action
Label: Submit
Position: x=300, y=200
Taille: w=150, h=50
Centre: (375, 225)
Confiance: 85.00%
2. TEXT_INPUT - form_input
Label: Enter text...
Position: x=300, y=100
Taille: w=200, h=40
Centre: (400, 120)
Confiance: 85.00%
...
```
## Structure des Exemples
```
examples/
├── README.md # Ce fichier
├── test_ollama_integration.py # Test de connexion Ollama
├── test_real_vlm_detection.py # Test complet de détection
└── simple_vlm_detection.py # Exemple simple d'utilisation
```
## Utilisation Programmatique
### Détection Basique
```python
from rpa_vision_v3.core.detection.ui_detector import UIDetector
# Créer le détecteur
detector = UIDetector()
# Détecter les éléments
elements = detector.detect("screenshot.png")
# Utiliser les éléments
for elem in elements:
print(f"{elem.type} at {elem.center}")
```
### Configuration Personnalisée
```python
from rpa_vision_v3.core.detection.ui_detector import UIDetector, DetectionConfig
# Configuration personnalisée
config = DetectionConfig(
vlm_model="qwen3-vl:8b",
confidence_threshold=0.8, # Plus strict
max_elements=100
)
detector = UIDetector(config)
elements = detector.detect("screenshot.png")
```
### Classification d'Élément Individuel
```python
from PIL import Image
# Charger une image d'élément
element_img = Image.open("button.png")
# Classifier le type
elem_type, confidence = detector.classify_type(element_img)
print(f"Type: {elem_type} ({confidence:.2%})")
# Classifier le rôle
elem_role, confidence = detector.classify_role(element_img, elem_type)
print(f"Rôle: {elem_role} ({confidence:.2%})")
```
## Modèles VLM Supportés
| Modèle | Taille | Vitesse | Précision | Recommandé |
|--------|--------|---------|-----------|------------|
| **qwen3-vl:8b** | 6.1GB | ⚡⚡⚡ | ⭐⭐⭐⭐⭐ | ✅ **Meilleur** |
| granite3.2-vision:2b | 2.4GB | ⚡⚡⚡⚡ | ⭐⭐⭐⭐ | ✅ Rapide |
| pixtral | ~12GB | ⚡⚡ | ⭐⭐⭐⭐⭐ | ⚠️ Si RAM OK |
## Dépannage
### Ollama n'est pas disponible
```
❌ Ollama n'est pas disponible!
```
**Solution:**
1. Vérifier qu'Ollama est installé: `ollama --version`
2. Démarrer Ollama: `ollama serve`
3. Vérifier que le port 11434 est libre
### Modèle non trouvé
```
Warning: Model 'qwen3-vl:8b' not found in Ollama
```
**Solution:**
```bash
ollama pull qwen3-vl:8b
```
### Détection lente
La première détection peut être lente (chargement du modèle). Les détections suivantes sont plus rapides grâce au cache d'Ollama.
**Optimisations:**
- Utiliser un modèle plus petit (granite3.2-vision:2b)
- Réduire la résolution des screenshots
- Activer `detect_regions=True` pour analyser par zones
## Support
Pour plus d'informations, consultez :
- [Documentation Ollama](../docs/OLLAMA_INTEGRATION.md)
- [Implémentation VLM](../docs/VLM_DETECTION_IMPLEMENTATION.md)
- [Architecture complète](../docs/specs/design.md)
## Contribution
Pour ajouter de nouveaux exemples :
1. Créer un nouveau fichier Python dans ce dossier
2. Ajouter une section dans ce README
3. Inclure des commentaires explicatifs dans le code
4. Tester avec différents screenshots