Files
rpa_vision_v3/examples/test_workflow_synthetic.py
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

65 lines
1.9 KiB
Python
Executable File

#!/usr/bin/env python3
"""Test de Construction de Workflow avec Session Synthétique"""
import sys
import logging
from pathlib import Path
from datetime import datetime
sys.path.insert(0, str(Path(__file__).parent.parent))
from core.graph.graph_builder import GraphBuilder
from core.models.raw_session import RawSession, Screenshot
from core.embedding.faiss_manager import FAISSManager
logging.basicConfig(level=logging.INFO, format='%(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
def create_synthetic_session() -> RawSession:
"""Créer une session synthétique."""
session = RawSession(
session_id="synthetic_001",
agent_version="v3.0",
environment={"os": "linux"},
user="test",
context={},
started_at=datetime.now().isoformat()
)
for i in range(12):
screenshot = Screenshot(
screenshot_id=f"screen_{i:03d}",
relative_path=f"data/screenshots/screen_{i:03d}.png",
captured_at=datetime.now().isoformat()
)
session.screenshots.append(screenshot)
return session
def main():
logger.info("TEST WORKFLOW - SESSION SYNTHÉTIQUE")
logger.info("=" * 60)
session = create_synthetic_session()
logger.info(f"Session créée: {len(session.screenshots)} screenshots")
faiss_manager = FAISSManager(dimensions=512)
builder = GraphBuilder(
faiss_manager=faiss_manager,
min_pattern_repetitions=2,
clustering_eps=0.20
)
workflow = builder.build_from_session(session, "Synthetic Workflow")
logger.info(f"\nRésultats:")
logger.info(f" Nodes: {len(workflow.nodes)}")
logger.info(f" Edges: {len(workflow.edges)}")
logger.info(f" FAISS: {faiss_manager.index.ntotal} vectors")
logger.info("\n✓ TEST RÉUSSI")
return True
if __name__ == "__main__":
success = main()
sys.exit(0 if success else 1)