Update app.py
Browse files
app.py
CHANGED
|
@@ -6,6 +6,8 @@ import sys
|
|
| 6 |
if not os.path.exists("VV_Clone_1"):
|
| 7 |
subprocess.run(["git", "clone", "https://github.com/Socold/VV_Clone_1.git"])
|
| 8 |
|
|
|
|
|
|
|
| 9 |
# Installer les dépendances
|
| 10 |
subprocess.run([sys.executable, "-m", "pip", "install", "-q",
|
| 11 |
"torch", "transformers>=4.40.0", "accelerate", "gradio>=4.0.0",
|
|
@@ -13,57 +15,45 @@ subprocess.run([sys.executable, "-m", "pip", "install", "-q",
|
|
| 13 |
|
| 14 |
subprocess.run([sys.executable, "-m", "pip", "install", "-e", "VV_Clone_1"])
|
| 15 |
|
| 16 |
-
|
| 17 |
-
USERNAME = os.environ.get("AUTH_USERNAME")
|
| 18 |
-
PASSWORD = os.environ.get("AUTH_PASSWORD")
|
| 19 |
-
|
| 20 |
-
if not USERNAME or not PASSWORD:
|
| 21 |
-
print("❌ ERREUR: Configurez AUTH_USERNAME et AUTH_PASSWORD dans Settings!")
|
| 22 |
-
exit(1)
|
| 23 |
-
|
| 24 |
-
print(f"✅ Authentification activée pour: {USERNAME}")
|
| 25 |
-
|
| 26 |
-
# FORCER l'authentification en modifiant Gradio
|
| 27 |
import gradio as gr
|
| 28 |
|
| 29 |
-
#
|
| 30 |
-
|
| 31 |
|
| 32 |
-
#
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
kwargs['auth'] = (USERNAME, PASSWORD)
|
| 36 |
-
kwargs['auth_message'] = "Authentification VibeVoice requise"
|
| 37 |
-
# Configuration spéciale pour HuggingFace Spaces
|
| 38 |
-
kwargs['server_name'] = "0.0.0.0"
|
| 39 |
-
kwargs['share'] = False
|
| 40 |
-
kwargs['root_path'] = os.environ.get("SPACE_ID", "")
|
| 41 |
-
# Ignorer les erreurs de localhost
|
| 42 |
-
try:
|
| 43 |
-
print("🔒 AUTHENTIFICATION FORCÉE APPLIQUÉE")
|
| 44 |
-
return original_launch(self, *args, **kwargs)
|
| 45 |
-
except ValueError as e:
|
| 46 |
-
if "localhost" in str(e):
|
| 47 |
-
# Forcer le lancement même avec l'erreur
|
| 48 |
-
kwargs['share'] = True
|
| 49 |
-
return original_launch(self, *args, **kwargs)
|
| 50 |
-
raise
|
| 51 |
-
|
| 52 |
-
# Remplacer la méthode launch
|
| 53 |
-
gr.Blocks.launch = forced_auth_launch
|
| 54 |
-
gr.Interface.launch = forced_auth_launch
|
| 55 |
|
| 56 |
-
|
| 57 |
print(f"GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU'}")
|
|
|
|
| 58 |
|
| 59 |
-
#
|
| 60 |
os.chdir("VV_Clone_1")
|
| 61 |
-
sys.
|
| 62 |
-
|
| 63 |
-
# Configurer les arguments SANS --share
|
| 64 |
-
sys.argv = ["gradio_demo.py", "--model_path", "aoi-ot/VibeVoice-7B"]
|
| 65 |
|
| 66 |
-
# Importer et
|
| 67 |
from demo.gradio_demo import main
|
| 68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
main()
|
|
|
|
| 6 |
if not os.path.exists("VV_Clone_1"):
|
| 7 |
subprocess.run(["git", "clone", "https://github.com/Socold/VV_Clone_1.git"])
|
| 8 |
|
| 9 |
+
sys.path.insert(0, "VV_Clone_1")
|
| 10 |
+
|
| 11 |
# Installer les dépendances
|
| 12 |
subprocess.run([sys.executable, "-m", "pip", "install", "-q",
|
| 13 |
"torch", "transformers>=4.40.0", "accelerate", "gradio>=4.0.0",
|
|
|
|
| 15 |
|
| 16 |
subprocess.run([sys.executable, "-m", "pip", "install", "-e", "VV_Clone_1"])
|
| 17 |
|
| 18 |
+
import torch
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
import gradio as gr
|
| 20 |
|
| 21 |
+
# Configuration - Changé pour utiliser 7B
|
| 22 |
+
MODEL_PATH = "aoi-ot/VibeVoice-7B" # ← Modifié ici
|
| 23 |
|
| 24 |
+
# Récupérer les secrets (invisibles publiquement)
|
| 25 |
+
USERNAME = os.environ.get("AUTH_USERNAME")
|
| 26 |
+
PASSWORD = os.environ.get("AUTH_PASSWORD")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
+
print(f"Chargement du modèle: {MODEL_PATH}")
|
| 29 |
print(f"GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU'}")
|
| 30 |
+
print(f"VRAM disponible: {torch.cuda.get_device_properties(0).total_memory / 1024**3:.2f} GB")
|
| 31 |
|
| 32 |
+
# Lancer le script principal avec les arguments
|
| 33 |
os.chdir("VV_Clone_1")
|
| 34 |
+
sys.argv = ["gradio_demo.py", "--model_path", MODEL_PATH, "--share"]
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
+
# Importer et modifier le main pour ajouter l'auth
|
| 37 |
from demo.gradio_demo import main
|
| 38 |
+
|
| 39 |
+
# Si les secrets existent, modifier le fichier pour ajouter l'auth
|
| 40 |
+
if USERNAME and PASSWORD:
|
| 41 |
+
with open("demo/gradio_demo.py", "r") as f:
|
| 42 |
+
content = f.read()
|
| 43 |
+
|
| 44 |
+
# Remplacer la ligne launch pour ajouter auth
|
| 45 |
+
content = content.replace(
|
| 46 |
+
'demo.launch(share=args.share)',
|
| 47 |
+
f'demo.launch(share=args.share, auth=("{USERNAME}", "{PASSWORD}"))'
|
| 48 |
+
)
|
| 49 |
+
|
| 50 |
+
with open("demo/gradio_demo.py", "w") as f:
|
| 51 |
+
f.write(content)
|
| 52 |
+
|
| 53 |
+
print(f"Authentification activée pour l'utilisateur: {USERNAME}")
|
| 54 |
+
else:
|
| 55 |
+
print("Pas d'authentification configurée (pas de secrets définis)")
|
| 56 |
+
|
| 57 |
+
# Lancer le main
|
| 58 |
+
print("Démarrage de l'interface VibeVoice-7B...")
|
| 59 |
main()
|