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>
This commit is contained in:
64
examples/test_workflow_synthetic.py
Executable file
64
examples/test_workflow_synthetic.py
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/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)
|
||||
Reference in New Issue
Block a user