data / DEPLOY_HF.md
Tracy André
updated
ebeb919
|
raw
history blame
5.89 kB

🚀 Guide de Déploiement sur Hugging Face Spaces

📋 Prérequis

  1. Compte Hugging Face : Créez un compte sur huggingface.co
  2. Token d'accès : Générez un token sur huggingface.co/settings/tokens
  3. Dataset HackathonCRA/2024 : Assurez-vous d'avoir accès au dataset

🔧 Étapes de Déploiement

1. Créer un nouveau Space

  1. Allez sur huggingface.co/new-space
  2. Remplissez les informations :
    • Space name : analyse-adventices-cra (ou votre nom préféré)
    • License : MIT
    • SDK : Gradio
    • Hardware : CPU basic (gratuit)

2. Configurer les fichiers

Votre projet contient maintenant tous les fichiers nécessaires :

📁 Votre projet/
├── 📄 app.py              # Application Gradio modifiée pour HF
├── 📄 requirements.txt    # Dépendances avec datasets et huggingface_hub
├── 📄 README.md          # Métadonnées HF (déjà configuré)
├── 📄 Dockerfile         # Configuration Docker (optionnel)
└── 📄 sample_data.csv    # Données de fallback

3. Uploader les fichiers

Option A : Interface Web

  1. Cliquez sur "Files and versions" dans votre Space
  2. Uploadez tous les fichiers un par un

Option B : Git (Recommandé)

# Cloner votre space
git clone https://huggingface.co/spaces/VOTRE_USERNAME/VOTRE_SPACE_NAME

# Copier vos fichiers
cp app.py requirements.txt README.md sample_data.csv VOTRE_SPACE_NAME/

# Pousser les changements
cd VOTRE_SPACE_NAME
git add .
git commit -m "Ajout de l'application d'analyse des adventices"
git push

4. Configurer les variables d'environnement

  1. Dans votre Space, allez dans Settings
  2. Ajoutez la variable d'environnement :
    • Name : HF_TOKEN
    • Value : Votre token Hugging Face
    • ✅ Cochez "Secret" pour la sécurité

5. Vérifier le dataset

Assurez-vous que :

  • Le dataset HackathonCRA/2024 existe
  • Vous avez les permissions pour y accéder
  • Le token a les bonnes permissions

🏗️ Structure du Code Modifié

Chargement des données

# Configuration HF intégrée
hf_token = os.environ.get("HF_TOKEN")
dataset_id = "HackathonCRA/2024"

# Méthode de fallback robuste
def load_data(self):
    try:
        # 1. Essayer depuis Hugging Face
        dataset = load_dataset(dataset_id, use_auth_token=hf_token)
        self.df = dataset['train'].to_pandas()
    except:
        # 2. Fallback vers fichiers locaux
        # 3. Génération de données d'exemple si nécessaire

Configuration Gradio

# Optimisé pour HF Spaces
demo.launch(
    server_name="0.0.0.0",
    server_port=7860,
    share=False
)

🔍 Debugging

Problèmes courants

  1. Dataset non trouvé

    • Vérifiez que HackathonCRA/2024 existe
    • Confirmez les permissions d'accès
    • L'app utilisera des données d'exemple en fallback
  2. Token invalide

    • Régénérez votre token HF
    • Vérifiez qu'il est bien configuré comme secret
  3. Erreurs de dépendances

    • Les dépendances sont dans requirements.txt
    • HF Spaces installe automatiquement

Logs utiles

# Ces messages apparaîtront dans les logs HF
print(f"🤗 Tentative de chargement depuis Hugging Face: {dataset_id}")
print(f"✅ Données chargées depuis Hugging Face")
print(f"⚠️ Erreur lors du chargement depuis Hugging Face")

🎯 Fonctionnalités

Votre app fonctionnera avec :

  • Chargement automatique depuis le dataset HF
  • Fallback robuste vers données locales/exemple
  • Interface Gradio complète avec tous les onglets
  • Visualisations interactives Plotly
  • Analyse des risques par parcelle
  • Recommandations pour cultures sensibles

🚀 Résultat Final

Une fois déployé, votre Space sera accessible à l'adresse : https://huggingface.co/spaces/VOTRE_USERNAME/VOTRE_SPACE_NAME

L'application se lancera automatiquement et tentera de charger les données depuis HackathonCRA/2024 !


Bon déploiement ! 🌾✨

Voici comment lancer votre application en local pour tester avant le déploiement :

🔧 Lancement en Local

1. Installation des dépendances

# Dans votre dossier de projet
cd /Users/tracyandre/code/hackathon/data

# Installer les dépendances
pip install -r requirements.txt

2. Configuration des variables d'environnement (optionnel)

# Créer un fichier .env (optionnel, pour tester avec le vrai dataset HF)
echo "HF_TOKEN=votre_token_hugging_face" > .env

# Ou exporter directement dans le terminal
export HF_TOKEN=votre_token_hugging_face

3. Lancer l'application

<code_block_to_apply_changes_from>

4. Accéder à l'interface

Ouvrez votre navigateur et allez à : http://localhost:7860

🎯 Comportement en Local

Votre app va essayer de charger les données dans cet ordre :

  1. Dataset HF HackathonCRA/2024 (si HF_TOKEN configuré)
  2. Fichiers locaux (sample_data.csv, etc.)
  3. Données d'exemple générées automatiquement

🔍 Messages de Debug

Vous verrez dans la console :

🤗 Tentative de chargement depuis Hugging Face: HackathonCRA/2024
✅ Données chargées depuis Hugging Face: HackathonCRA/2024
# OU
⚠️ Erreur lors du chargement depuis Hugging Face: [erreur]
🔄 Basculement vers les fichiers locaux...
✅ Données chargées depuis: sample_data.csv
# OU
⚠️ Aucun fichier de données trouvé, génération de données d'exemple

🚀 Test Rapide (sans token HF)

Si vous voulez juste tester l'interface rapidement :

# L'app fonctionnera avec les données d'exemple générées
python app.py

L'application sera accessible sur http://localhost:7860 avec toutes les fonctionnalités ! 🌾✨