""" Script de test pour vérifier l'upload vers Hugging Face Hub Ce script crée un dataset simple et tente de l'uploader vers le Hub en utilisant le token et l'organisation définis dans les variables d'environnement. """ import os import sys import datasets from huggingface_hub import HfApi, login from datasets import Dataset from dotenv import load_dotenv from pathlib import Path def test_hf_upload(): # Charger les variables d'environnement depuis le fichier .env dotenv_path = Path('.env') load_dotenv(dotenv_path=dotenv_path) # Récupérer le token et l'organisation des variables d'environnement hf_token = os.getenv("HF_TOKEN") org_name = os.getenv("HF_ORGANIZATION", "yourbench") if not hf_token: print("Erreur: La variable HF_TOKEN n'est pas définie dans le fichier .env.") sys.exit(1) dataset_name = "test_dataset_upload" repo_id = f"{org_name}/{dataset_name}" print(f"Tentative d'upload vers {repo_id} avec le token {hf_token[:5]}... (token tronqué pour la sécurité)") try: # Se connecter à l'API Hugging Face print("Connexion à l'API Hugging Face...") login(token=hf_token) api = HfApi(token=hf_token) # Créer un dataset simple print("Création d'un dataset de test...") data = { "text": ["Ceci est un test", "Un autre exemple", "Troisième exemple"], "label": [1, 0, 1] } dataset = Dataset.from_dict(data) # Vérifier si le repo existe déjà et le supprimer si nécessaire try: api.delete_repo(repo_id=repo_id, repo_type="dataset") print(f"Repo existant {repo_id} supprimé.") except Exception: print(f"Le repo {repo_id} n'existait pas encore.") # Uploader le dataset print(f"Upload du dataset vers {repo_id}...") dataset.push_to_hub( repo_id=repo_id, token=hf_token, private=True, commit_message="Test d'upload de dataset" ) print(f"Succès! Dataset uploadé vers https://huggingface.co/datasets/{repo_id}") return True except Exception as e: print(f"Erreur lors de l'upload: {str(e)}") print("\nTraceback complet:") import traceback traceback.print_exc() return False if __name__ == "__main__": print("=== Test d'upload vers Hugging Face Hub ===") success = test_hf_upload() if success: print("\n✅ Le test a réussi! L'upload fonctionne correctement.") else: print("\n❌ Le test a échoué. Vérifiez les erreurs ci-dessus.")