audio-sentiment / DEPLOYMENT_GUIDE.md
alec228's picture
Initial commit
efca0f4

A newer version of the Gradio SDK is available: 5.44.1

Upgrade

🚀 Guide de Déploiement sur Hugging Face Spaces

Ce guide vous accompagne pour déployer votre projet d'analyse de sentiment audio sur Hugging Face Spaces.

📋 Prérequis

  1. Compte Hugging Face : Créez un compte sur huggingface.co
  2. Git : Assurez-vous d'avoir Git installé
  3. Projet prêt : Votre projet doit être fonctionnel localement

🎯 Étapes de déploiement

1. Préparation du repository

# Cloner votre projet (si pas déjà fait)
git clone <votre-repo-url>
cd sentiment_hf_

# Vérifier que tous les fichiers sont présents
ls -la

2. Fichiers nécessaires pour HF Spaces

Assurez-vous d'avoir ces fichiers à la racine :

  • app.py - Application Gradio principale
  • requirements_hf.txt - Dépendances Python
  • config.yaml - Configuration du Space
  • README_HF.md - Documentation
  • .gitattributes - Gestion des fichiers binaires
  • src/ - Votre code source

3. Création du Space sur Hugging Face

  1. Allez sur huggingface.co/spaces
  2. Cliquez sur "Create new Space"
  3. Remplissez les informations :
    • Owner : Votre nom d'utilisateur
    • Space name : sentiment-audio-analyzer (ou autre nom)
    • License : MIT
    • SDK : Gradio
    • Python version : 3.10
    • Hardware : CPU (gratuit) ou GPU (payant)

4. Upload des fichiers

Option A : Via l'interface web

  1. Dans votre Space, allez dans l'onglet "Files"
  2. Uploadez tous les fichiers un par un

Option B : Via Git (recommandé)

# Ajouter le remote HF
git remote add hf https://huggingface.co/spaces/<votre-username>/<nom-du-space>

# Pousser le code
git add .
git commit -m "Initial commit for HF Space"
git push hf main

5. Configuration des variables d'environnement

Dans les paramètres de votre Space :

  • HF_SPACE : true
  • GRADIO_SERVER_NAME : 0.0.0.0
  • GRADIO_SERVER_PORT : 7860

🔧 Optimisations recommandées

1. Gestion de la mémoire

# Dans app.py, ajoutez :
import gc
import torch

# Après chaque prédiction
gc.collect()
torch.cuda.empty_cache() if torch.cuda.is_available() else None

2. Cache des modèles

# Utilisez le cache HF par défaut
processor_ctc = Wav2Vec2Processor.from_pretrained(
    "jonatasgrosman/wav2vec2-large-xlsr-53-french"
)

3. Gestion des erreurs

# Ajoutez des try/catch robustes
try:
    # Votre code
except Exception as e:
    return f"Erreur : {str(e)}", "", pd.DataFrame(), {}

🚨 Dépannage courant

Problème : "Out of memory"

Solution :

  • Utilisez un hardware plus puissant (GPU)
  • Optimisez le chargement des modèles
  • Ajoutez la gestion de mémoire

Problème : "Model not found"

Solution :

  • Vérifiez les noms des modèles
  • Assurez-vous qu'ils sont publics sur HF
  • Ajoutez des fallbacks

Problème : "Port already in use"

Solution :

  • Vérifiez la configuration dans app.py
  • Utilisez le port 7860 par défaut

📊 Monitoring

Logs

  • Consultez les logs dans l'onglet "Logs" de votre Space
  • Surveillez les erreurs et performances

Métriques

  • Temps de réponse
  • Utilisation mémoire
  • Nombre de requêtes

🔄 Mise à jour

Pour mettre à jour votre Space :

# Modifiez votre code local
git add .
git commit -m "Update: nouvelle fonctionnalité"
git push hf main

🌟 Fonctionnalités avancées

1. API REST

Ajoutez un endpoint API dans votre Space :

# Dans app.py
@app.get("/api/health")
def health_check():
    return {"status": "healthy"}

2. Webhooks

Configurez des webhooks pour les notifications :

# Dans config.yaml
webhook: true

3. Custom CSS

Personnalisez l'interface :

# Dans app.py
demo = gr.Blocks(
    css="custom.css",
    theme=gr.themes.Monochrome(primary_hue="purple")
)

📞 Support


🎉 Félicitations ! Votre Space est maintenant déployé et accessible au monde entier !