Spaces:
Runtime error
Runtime error
File size: 4,596 Bytes
56d1009 25d4c5c 56d1009 25d4c5c 56d1009 25d4c5c 56d1009 ace640b 56d1009 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# Script de déploiement automatisé pour Hugging Face Spaces (PowerShell)
# Usage: .\deploy.ps1 <votre-username> [audio-sentiment]
param(
[Parameter(Mandatory=$true)]
[string]$Username,
[Parameter(Mandatory=$false)]
[string]$SpaceName = "audio-sentiment"
)
if ($SpaceName -ne "audio-sentiment") {
Write-Host "[WARNING] Le nom du Space recommandé est 'audio-sentiment' (actuel: $SpaceName)" -ForegroundColor Yellow
}
# Couleurs pour l'affichage
$Red = "Red"
$Green = "Green"
$Yellow = "Yellow"
$Blue = "Blue"
$White = "White"
# Fonction pour afficher les messages
function Write-Status {
param([string]$Message, [string]$Color = $White)
Write-Host "[INFO] $Message" -ForegroundColor $Color
}
function Write-Success {
param([string]$Message)
Write-Host "[SUCCESS] $Message" -ForegroundColor $Green
}
function Write-Warning {
param([string]$Message)
Write-Host "[WARNING] $Message" -ForegroundColor $Yellow
}
function Write-Error {
param([string]$Message)
Write-Host "[ERROR] $Message" -ForegroundColor $Red
}
$SpaceUrl = "https://huggingface.co/spaces/$Username/$SpaceName"
Write-Status "Démarrage du déploiement pour $SpaceUrl" $Blue
# 1. Vérification de la structure du projet
Write-Status "Vérification de la structure du projet..." $Blue
$requiredFiles = @(
"app_with_api.py",
"requirements_hf.txt",
"README.md",
".gitattributes",
"src\__init__.py",
"src\transcription.py",
"src\sentiment.py",
"src\multimodal.py",
"src\inference.py"
)
$missingFiles = @()
foreach ($file in $requiredFiles) {
if (Test-Path $file) {
Write-Host "✅ $file" -ForegroundColor $Green
} else {
Write-Host "❌ $file" -ForegroundColor $Red
$missingFiles += $file
}
}
if ($missingFiles.Count -gt 0) {
Write-Error "Fichiers manquants: $($missingFiles -join ', ')"
exit 1
}
Write-Success "Structure du projet validée"
# 2. Test du projet
Write-Status "Exécution des tests..." $Blue
if (Test-Path "test_deployment.py") {
try {
python test_deployment.py
if ($LASTEXITCODE -ne 0) {
Write-Error "Les tests ont échoué. Corrigez les problèmes avant de continuer."
exit 1
}
Write-Success "Tests passés avec succès"
} catch {
Write-Error "Erreur lors de l'exécution des tests: $_"
exit 1
}
} else {
Write-Warning "Script de test non trouvé, passage des tests..."
}
# 3. Vérification de Git
Write-Status "Vérification de Git..." $Blue
try {
git --version | Out-Null
Write-Success "Git détecté"
} catch {
Write-Error "Git n'est pas installé ou n'est pas dans le PATH"
exit 1
}
# 4. Initialisation Git si nécessaire
if (-not (Test-Path ".git")) {
Write-Status "Initialisation du repository Git..." $Blue
git init
git add .
git commit -m "Initial commit"
Write-Success "Repository Git initialisé"
}
# 5. Ajout du remote Hugging Face
Write-Status "Configuration du remote Hugging Face..." $Blue
git remote remove hf 2>$null
git remote add hf $SpaceUrl
Write-Success "Remote configuré: $SpaceUrl"
# 6. Préparation du commit
Write-Status "Préparation du commit..." $Blue
git add .
try {
git commit -m "Deploy: Analyse de sentiment audio v1.0"
Write-Success "Commit créé"
} catch {
Write-Warning "Aucun changement détecté, commit ignoré"
}
# 7. Déploiement
Write-Status "Déploiement sur Hugging Face Spaces..." $Blue
$confirm = Read-Host "Voulez-vous déployer maintenant ? (y/N)"
if ($confirm -ne "y" -and $confirm -ne "Y") {
Write-Warning "Déploiement annulé"
exit 0
}
Write-Status "Poussage du code..." $Blue
try {
git push hf main
Write-Success "Code poussé avec succès"
} catch {
Write-Error "Erreur lors du push vers Hugging Face: $_"
exit 1
}
Write-Success "Déploiement terminé avec succès !"
Write-Success "Votre Space est accessible à: $SpaceUrl"
Write-Host ""
Write-Status "Instructions post-déploiement:" $Blue
Write-Host "1. Allez sur $SpaceUrl" -ForegroundColor $White
Write-Host "2. Attendez que le build se termine (peut prendre 5-10 minutes)" -ForegroundColor $White
Write-Host "3. Testez votre application" -ForegroundColor $White
Write-Host "4. Consultez les logs en cas de problème" -ForegroundColor $White
Write-Status "Vérification du statut du Space..." $Blue
Write-Host "Vous pouvez vérifier le statut à: $SpaceUrl" -ForegroundColor $White
Write-Success "Script de déploiement terminé !"
Read-Host "Appuyez sur Entrée pour continuer" |