- 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>
205 lines
4.9 KiB
Markdown
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
|