Socold commited on
Commit
08c1163
·
verified ·
1 Parent(s): 2ff82ae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -44
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
- # Récupérer les secrets AVANT tout
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
- # Sauvegarder la méthode originale
30
- original_launch = gr.Blocks.launch
31
 
32
- # Créer une nouvelle méthode qui force l'auth
33
- def forced_auth_launch(self, *args, **kwargs):
34
- # Forcer l'authentification
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
- import torch
57
  print(f"GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU'}")
 
58
 
59
- # Changer de dossier AVANT l'import
60
  os.chdir("VV_Clone_1")
61
- sys.path.insert(0, os.getcwd())
62
-
63
- # Configurer les arguments SANS --share
64
- sys.argv = ["gradio_demo.py", "--model_path", "aoi-ot/VibeVoice-7B"]
65
 
66
- # Importer et lancer
67
  from demo.gradio_demo import main
68
- print("🚀 Lancement de VibeVoice avec authentification forcée...")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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()