Files
rpa_vision_v3/examples
Dom cf495dd82f feat: chat unifié, GestureCatalog, Copilot, Léa UI, extraction données, vérification replay
Refonte majeure du système Agent Chat et ajout de nombreux modules :

- Chat unifié : suppression du dual Workflows/Agent Libre, tout passe par /api/chat
  avec résolution en 3 niveaux (workflow → geste → "montre-moi")
- GestureCatalog : 38 raccourcis clavier universels Windows avec matching sémantique,
  substitution automatique dans les replays, et endpoint /api/gestures
- Mode Copilot : exécution pas-à-pas des workflows avec validation humaine via WebSocket
  (approve/skip/abort) avant chaque action
- Léa UI (agent_v0/lea_ui/) : interface PyQt5 pour Windows avec overlay transparent
  pour feedback visuel pendant le replay
- Data Extraction (core/extraction/) : moteur d'extraction visuelle de données
  (OCR + VLM → SQLite), avec schémas YAML et export CSV/Excel
- ReplayVerifier (agent_v0/server_v1/) : vérification post-action par comparaison
  de screenshots, avec logique de retry (max 3)
- IntentParser durci : meilleur fallback regex, type GREETING, patterns améliorés
- Dashboard : nouvelles pages gestures, streaming, extractions
- Tests : 63 tests GestureCatalog, 47 tests extraction, corrections tests existants
- Dépréciation : /api/agent/plan et /api/agent/execute retournent HTTP 410,
  suppression du code hardcodé _plan_to_replay_actions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 10:02:09 +01:00
..

Exemples RPA Vision V3

Ce dossier contient des exemples d'utilisation des différents composants de RPA Vision V3.

Prérequis

Installation d'Ollama

# 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.

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.

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.

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

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

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

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:

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 :

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