Files
Geniusia_v2/archive/old_docs/MODIFICATIONS_MVP.md
2026-03-05 00:20:25 +01:00

5.1 KiB

🔧 Modifications MVP - Simplification

Modifications Effectuées

1. Désactivation du Cryptage des Logs

Fichier modifié : geniusia2/core/logger.py

Changements :

  • Ajout de _write_plain_entry() pour écrire en JSON simple
  • log_action() écrit maintenant en JSON non chiffré
  • log_correction() écrit en JSON non chiffré
  • log_mode_transition() écrit en JSON non chiffré

Résultat :

  • Les logs sont maintenant dans data/logs/logs_YYYY-MM-DD.json
  • Format JSON lisible directement
  • Pas de chiffrement AES-256 (simplifié pour MVP)

2. Sauvegarde Automatique de l'Index FAISS

Fichier modifié : geniusia2/core/learning_manager.py

Changements :

  • _save_task() appelle maintenant embeddings_manager.save_index() automatiquement
  • Gestion d'erreurs avec logging

Résultat :

  • L'index FAISS sera créé automatiquement à chaque nouvelle tâche
  • Plus besoin de rebuild manuel

3. Scripts Utilitaires Créés

read_pkl.py - Lecture des fichiers .pkl

# Lister toutes les tâches
python3 read_pkl.py --list

# Lire une tâche spécifique
python3 read_pkl.py task_fc1d3e52

# Lire un fichier .pkl directement
python3 read_pkl.py geniusia2/data/user_profiles/task_fc1d3e52/signatures.pkl

Fonctionnalités :

  • Affiche les métadonnées (metadata.json)
  • Affiche le contenu des signatures.pkl
  • Détecte les embeddings numpy
  • Affiche les types d'actions
  • Liste toutes les tâches disponibles

rebuild_faiss_simple.py - Reconstruction de l'index FAISS

python3 rebuild_faiss_simple.py

Fonctionnalités :

  • Parcourt toutes les tâches
  • Extrait les embeddings des signatures.pkl
  • Crée l'index FAISS
  • Sauvegarde dans data/faiss_index/
  • Teste la recherche

Note : Nécessite faiss-cpu installé

diagnostic_data.py - Diagnostic des données

python3 diagnostic_data.py

Fonctionnalités :

  • Vérifie l'index FAISS
  • Vérifie les tâches sauvegardées
  • Vérifie les logs
  • Affiche un résumé complet

📊 État Actuel

Ce qui fonctionne :

  1. 105 tâches sauvegardées

    • Métadonnées en JSON
    • Signatures en .pkl
    • Embeddings CLIP présents
  2. Logs lisibles

    • Format JSON simple
    • Pas de chiffrement
    • Facile à débugger
  3. Sauvegarde automatique

    • L'index FAISS sera créé automatiquement
    • Plus besoin de rebuild manuel

Ce qui manque :

  1. FAISS pas installé

    • Nécessaire pour la recherche de similarité
    • Installation : pip install faiss-cpu
  2. ⚠️ Index FAISS pas encore créé

    • Sera créé automatiquement à la prochaine tâche
    • Ou manuellement avec rebuild_faiss_simple.py

🚀 Actions Nécessaires

Priorité 1 : Installer FAISS

pip install faiss-cpu

Ou si tu as un GPU :

pip install faiss-gpu

Priorité 2 : Reconstruire l'index

Une fois FAISS installé :

python3 rebuild_faiss_simple.py

Cela va :

  • Extraire les ~315 embeddings des 105 tâches
  • Créer l'index FAISS
  • Le sauvegarder dans data/faiss_index/

Priorité 3 : Tester le système

# Vérifier l'état
python3 diagnostic_data.py

# Lire une tâche
python3 read_pkl.py task_fc1d3e52

# Tester le rejeu (une fois FAISS installé)
python3 test_task_replay.py

📝 Réponse à tes Questions

Q: Les fichiers .pkl, on ne peut rien y lire, c'est normal ?

Oui, c'est normal ! Les fichiers .pkl (pickle) sont des fichiers binaires Python.

Pourquoi ?

  • Format binaire optimisé pour Python
  • Peut stocker des objets complexes (numpy arrays, listes, dicts)
  • Plus rapide que JSON pour les gros objets

Comment les lire ?

python3 read_pkl.py task_fc1d3e52

Le script read_pkl.py décode le .pkl et affiche :

  • Les métadonnées de la tâche
  • Chaque action avec ses propriétés
  • Les embeddings (shape, dtype, premiers éléments)
  • Les types d'actions

Exemple de sortie :

--- Action 1 ---
  position: (640, 360)
  embedding: numpy array shape (512,), dtype float32
    Premiers éléments: [-0.00138741 -0.01936988  0.00859882 ...]
  element_type: icon
  action_type: mouse_click
  window: Firefox

Q: Est-ce que FAISS est utilisé ?

Oui, le code utilise FAISS, mais :

  • FAISS n'est pas installé sur ton système
  • L'index n'a jamais été créé (car save_index() n'était pas appelé)

Maintenant :

  • save_index() sera appelé automatiquement
  • Il faut juste installer FAISS : pip install faiss-cpu
  • Puis reconstruire l'index : python3 rebuild_faiss_simple.py

🎯 Résumé

Élément Avant Après Action
Logs Chiffrés AES-256 JSON simple Fait
Index FAISS Jamais créé Auto-sauvegarde Fait
Lecture .pkl Impossible Script read_pkl.py Fait
FAISS installé Non À faire pip install faiss-cpu
Index reconstruit Non À faire python3 rebuild_faiss_simple.py

Prochaine étape : Installer FAISS et reconstruire l'index ! 🚀