Initial commit

This commit is contained in:
Dom
2026-03-05 00:20:25 +01:00
commit dcd4de9945
1954 changed files with 669380 additions and 0 deletions

View File

@@ -0,0 +1,202 @@
# 🔧 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
```bash
# 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
```bash
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
```bash
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
```bash
pip install faiss-cpu
```
Ou si tu as un GPU :
```bash
pip install faiss-gpu
```
### Priorité 2 : Reconstruire l'index
Une fois FAISS installé :
```bash
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
```bash
# 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 ?**
```bash
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 ! 🚀