Files
Geniusia_v2/archive/old_tests/test_mode_assiste_manuel.py
2026-03-05 00:20:25 +01:00

130 lines
4.5 KiB
Python
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""
Test manuel du Mode Assisté - Workflow complet
"""
import sys
import time
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent / "geniusia2"))
from core.orchestrator import Orchestrator
from core.learning_manager import LearningManager
from core.embeddings_manager import EmbeddingsManager
from core.llm_manager import LLMManager
from core.utils.vision_utils import VisionUtils
from core.utils.input_utils import InputUtils
from core.logger import Logger
from core.config import get_config
def main():
"""Test manuel du Mode Assisté."""
print("\n" + "="*60)
print(" 🧪 TEST MANUEL DU MODE ASSISTÉ")
print("="*60 + "\n")
# Initialiser les composants
print("📋 Initialisation des composants...")
config = get_config()
logger = Logger()
embeddings_manager = EmbeddingsManager(logger=logger)
learning_manager = LearningManager(
embeddings_manager,
logger,
config,
profiles_path="geniusia2/data/user_profiles"
)
vision_utils = VisionUtils(config)
input_utils = InputUtils(logger, config)
llm_manager = LLMManager(config, logger)
orchestrator = Orchestrator(
learning_manager=learning_manager,
vision_utils=vision_utils,
llm_manager=llm_manager,
input_utils=input_utils,
logger=logger,
config=config
)
print("✅ Orchestrator créé\n")
# Vérifier les tâches existantes
print("📊 Vérification des tâches apprises...")
# Utiliser get_all_tasks() qui retourne une liste de dicts avec métriques
task_metrics = learning_manager.get_all_tasks()
if not task_metrics:
print("❌ Aucune tâche apprise trouvée !\n")
print("💡 Pour tester le Mode Assisté, tu dois d'abord :")
print(" 1. Lancer l'application : cd geniusia2 && ./run.sh")
print(" 2. Cliquer sur 'Start'")
print(" 3. Effectuer 3 fois la même action (ex: 3 clics)")
print(" 4. Attendre la notification 'Tâche apprise'")
print(" 5. Relancer ce script\n")
return
print(f"{len(task_metrics)} tâche(s) trouvée(s) :\n")
for i, task_info in enumerate(task_metrics, 1):
print(f" {i}. {task_info['task_name']}")
print(f" ID: {task_info['task_id']}")
print(f" Observations: {task_info['observation_count']}")
print(f" Confiance: {task_info['confidence_score']:.2%}")
print()
# Tester la vérification de suggestions
print("🔍 Test de vérification de suggestions...")
print(" (Ceci simule ce qui se passerait après une action utilisateur)\n")
# Appeler check_for_suggestions
orchestrator.check_for_suggestions()
# Vérifier s'il y a une suggestion
current = orchestrator.suggestion_manager.get_current_suggestion()
if current:
print("✅ Suggestion créée !")
print(f" Tâche: {current['task_name']}")
print(f" Confiance: {current['confidence']:.2%}")
print(f" Similarité: {current['similarity']:.2%}\n")
print("💡 Dans l'application, un overlay apparaîtrait maintenant")
print(" avec les options : [Entrée] Accepter | [Échap] Refuser\n")
else:
print(" Aucune suggestion créée")
print(" Raisons possibles :")
print(" - Le contexte actuel ne correspond à aucune tâche")
print(" - La similarité est < 75%")
print(" - Pas d'action utilisateur récente\n")
print("="*60)
print(" 📝 RÉSUMÉ")
print("="*60 + "\n")
print("Le Mode Assisté fonctionne en 2 phases :\n")
print("1⃣ APPRENTISSAGE (Mode Shadow)")
print(" - Effectue 3x la même action")
print(" - Le système crée une tâche\n")
print("2⃣ SUGGESTIONS (Mode Assisté)")
print(" - Refais une action similaire")
print(" - Le système suggère la tâche apprise")
print(" - Un overlay apparaît avec [Entrée] / [Échap]\n")
print("⚠️ IMPORTANT :")
print(" Le Mode Assisté n'est PAS automatique dans la version actuelle.")
print(" Il faut que l'Orchestrator appelle check_for_suggestions()")
print(" après chaque action utilisateur.\n")
print("🔧 SOLUTION :")
print(" Ajouter un appel périodique à check_for_suggestions()")
print(" dans la boucle principale de l'Orchestrator.\n")
if __name__ == "__main__":
main()