Initial commit
This commit is contained in:
108
check_learning_status.py
Executable file
108
check_learning_status.py
Executable file
@@ -0,0 +1,108 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Vérifier l'état de l'apprentissage et des workflows.
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
import pickle
|
||||
|
||||
sys.path.insert(0, 'geniusia2')
|
||||
|
||||
print("="*60)
|
||||
print("ÉTAT DE L'APPRENTISSAGE")
|
||||
print("="*60)
|
||||
|
||||
# 1. Vérifier le checkpoint du fine-tuner
|
||||
print("\n1. Checkpoint Fine-tuner:")
|
||||
checkpoint_path = "data/fine_tuning/orchestrator_finetuning.pkl"
|
||||
if os.path.exists(checkpoint_path):
|
||||
try:
|
||||
with open(checkpoint_path, 'rb') as f:
|
||||
data = pickle.load(f)
|
||||
|
||||
print(f" ✓ Checkpoint trouvé")
|
||||
print(f" - Exemples positifs: {len(data.get('positive_examples', []))}")
|
||||
print(f" - Exemples négatifs: {len(data.get('negative_examples', []))}")
|
||||
print(f" - Trainings effectués: {data.get('training_count', 0)}")
|
||||
|
||||
if data.get('metrics_history'):
|
||||
print(f" - Dernière loss: {data['metrics_history'][-1].get('loss', 'N/A')}")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur lecture: {e}")
|
||||
else:
|
||||
print(f" ⚠️ Checkpoint non trouvé")
|
||||
|
||||
# 2. Vérifier l'index FAISS
|
||||
print("\n2. Index FAISS:")
|
||||
index_path = "data/workflow_embeddings"
|
||||
if os.path.exists(f"{index_path}.index"):
|
||||
size = os.path.getsize(f"{index_path}.index")
|
||||
print(f" ✓ Index trouvé ({size} bytes)")
|
||||
|
||||
try:
|
||||
with open(f"{index_path}.metadata", 'rb') as f:
|
||||
metadata = pickle.load(f)
|
||||
|
||||
print(f" - Dimension: {metadata.get('dimension', 'N/A')}")
|
||||
print(f" - Embeddings: {len(metadata.get('metadata', []))}")
|
||||
|
||||
# Afficher quelques workflows
|
||||
workflows = {}
|
||||
for m in metadata.get('metadata', []):
|
||||
wid = m.get('workflow_id', 'unknown')
|
||||
workflows[wid] = workflows.get(wid, 0) + 1
|
||||
|
||||
if workflows:
|
||||
print(f" - Workflows indexés: {len(workflows)}")
|
||||
for wid, count in list(workflows.items())[:5]:
|
||||
print(f" • {wid}: {count} embeddings")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur lecture metadata: {e}")
|
||||
else:
|
||||
print(f" ⚠️ Index non trouvé")
|
||||
|
||||
# 3. Vérifier les profils utilisateur (ancien système)
|
||||
print("\n3. Profils utilisateur (ancien système):")
|
||||
profiles_dir = "data/user_profiles"
|
||||
if os.path.exists(profiles_dir):
|
||||
profiles = [d for d in os.listdir(profiles_dir) if os.path.isdir(os.path.join(profiles_dir, d))]
|
||||
print(f" ✓ {len(profiles)} profils trouvés")
|
||||
|
||||
for profile in profiles[:3]:
|
||||
tasks_dir = os.path.join(profiles_dir, profile, "tasks")
|
||||
if os.path.exists(tasks_dir):
|
||||
tasks = [f for f in os.listdir(tasks_dir) if f.endswith('.json')]
|
||||
print(f" - {profile}: {len(tasks)} tâches")
|
||||
else:
|
||||
print(f" ⚠️ Pas de profils")
|
||||
|
||||
# 4. Recommandations
|
||||
print("\n" + "="*60)
|
||||
print("RECOMMANDATIONS")
|
||||
print("="*60)
|
||||
|
||||
checkpoint_exists = os.path.exists(checkpoint_path)
|
||||
if checkpoint_exists:
|
||||
with open(checkpoint_path, 'rb') as f:
|
||||
data = pickle.load(f)
|
||||
total_examples = len(data.get('positive_examples', [])) + len(data.get('negative_examples', []))
|
||||
|
||||
if total_examples == 0:
|
||||
print("\n⚠️ Aucun exemple collecté")
|
||||
print(" → Le système fonctionne mais n'a pas encore d'exemples")
|
||||
print(" → Continue à utiliser l'application normalement")
|
||||
elif total_examples < 10:
|
||||
print(f"\n📊 {total_examples} exemples collectés")
|
||||
print(f" → Encore {10 - total_examples} exemples avant le premier fine-tuning")
|
||||
else:
|
||||
print(f"\n✅ {total_examples} exemples collectés")
|
||||
print(f" → Fine-tuning devrait avoir été déclenché")
|
||||
print(f" → Trainings effectués: {data.get('training_count', 0)}")
|
||||
|
||||
print("\nPour voir des suggestions:")
|
||||
print(" 1. Répète la même action 3+ fois (ex: cliquer sur le même bouton)")
|
||||
print(" 2. Attends la détection du pattern")
|
||||
print(" 3. Répète cette séquence 20 fois pour l'apprendre")
|
||||
print(" 4. La prochaine fois, une suggestion apparaîtra")
|
||||
print("")
|
||||
Reference in New Issue
Block a user