#!/usr/bin/env python3 """ Script de test pour vérifier la connexion au dataset HuggingFace """ import os from datasets import load_dataset # Configuration dataset_id = "HackathonCRA/2024" hf_token = os.environ.get("HF_TOKEN") print("🧪 Test de connexion au dataset HuggingFace") print(f"📦 Dataset: {dataset_id}") print(f"🔑 Token configuré: {'✅ Oui' if hf_token else '❌ Non'}") print() try: # Test 1: Chargement du dataset print("🔄 Chargement du dataset...") if hf_token: dataset = load_dataset(dataset_id, token=hf_token) print("✅ Chargement avec token réussi") else: print("⚠️ Tentative sans token...") dataset = load_dataset(dataset_id) print("✅ Chargement sans token réussi") # Test 2: Exploration de la structure print(f"📊 Splits disponibles: {list(dataset.keys())}") if 'train' in dataset: train_data = dataset['train'] print(f"📈 Nombre d'enregistrements dans 'train': {len(train_data)}") # Conversion en DataFrame pour inspection df = train_data.to_pandas() print(f"📝 Colonnes disponibles ({len(df.columns)}): {list(df.columns)}") print(f"📏 Forme des données: {df.shape}") # Vérifier les colonnes importantes important_cols = ['millesime', 'familleprod', 'produit', 'quantitetot', 'numparcell'] available_important = [col for col in important_cols if col in df.columns] print(f"🎯 Colonnes importantes trouvées: {available_important}") # Statistiques rapides if 'millesime' in df.columns: print(f"📅 Années disponibles: {sorted(df['millesime'].unique())}") if 'familleprod' in df.columns: print(f"🧪 Types de produits: {df['familleprod'].value_counts().head()}") print("✅ Test de connexion réussi !") else: print("⚠️ Pas de split 'train' trouvé") except Exception as e: print(f"❌ Erreur lors du test: {e}") print() print("💡 Solutions possibles:") print("1. Vérifiez que le dataset existe: https://huggingface.co/datasets/HackathonCRA/2024") print("2. Configurez votre token HF: export HF_TOKEN='votre_token'") print("3. Vérifiez vos permissions d'accès au dataset")