|
""" |
|
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(): |
|
|
|
dotenv_path = Path('.env') |
|
load_dotenv(dotenv_path=dotenv_path) |
|
|
|
|
|
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: |
|
|
|
print("Connexion à l'API Hugging Face...") |
|
login(token=hf_token) |
|
api = HfApi(token=hf_token) |
|
|
|
|
|
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) |
|
|
|
|
|
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.") |
|
|
|
|
|
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.") |