brightlembo commited on
Commit
d0f1298
·
verified ·
1 Parent(s): d63c5ba

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -4
app.py CHANGED
@@ -10,6 +10,9 @@ from transformers import (
10
  from PIL import Image
11
  import os
12
  import logging
 
 
 
13
 
14
  logging.basicConfig(level=logging.INFO)
15
  logger = logging.getLogger(__name__)
@@ -28,6 +31,8 @@ class MultimodalProcessor:
28
  model="openai/whisper-small")
29
  self.text_generator = pipeline("text-generation",
30
  model="gpt2")
 
 
31
  logger.info("Modèles chargés avec succès")
32
  except Exception as e:
33
  logger.error(f"Erreur lors du chargement des modèles: {str(e)}")
@@ -88,6 +93,20 @@ class MultimodalProcessor:
88
  logger.error(f"Erreur lors de la génération de texte: {str(e)}")
89
  return "Erreur lors de la génération de texte."
90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  def process_inputs(self, image, audio, text):
92
  """Traite les entrées multimodales"""
93
  try:
@@ -112,11 +131,14 @@ class MultimodalProcessor:
112
  else:
113
  final_prompt = "Aucune entrée fournie."
114
 
115
- return final_prompt
 
 
 
116
 
117
  except Exception as e:
118
  logger.error(f"Erreur lors du traitement des entrées: {str(e)}")
119
- return "Une erreur est survenue lors du traitement des entrées."
120
 
121
  def create_interface():
122
  """Crée l'interface Gradio"""
@@ -130,7 +152,8 @@ def create_interface():
130
  gr.Textbox(label="Entrez du texte additionnel")
131
  ],
132
  outputs=[
133
- gr.Textbox(label="Description générée")
 
134
  ],
135
  title="Analyseur de Contenu Multimodal",
136
  description="""
@@ -140,6 +163,7 @@ def create_interface():
140
  - Texte : enrichit la description
141
 
142
  La sortie combine toutes ces informations en une description cohérente.
 
143
  """
144
  )
145
 
@@ -147,4 +171,4 @@ def create_interface():
147
 
148
  if __name__ == "__main__":
149
  interface = create_interface()
150
- interface.launch()
 
10
  from PIL import Image
11
  import os
12
  import logging
13
+ # Vous devez ajouter ici l'importation de ModelscopeT2V, selon la documentation officielle
14
+ # Exemple fictif :
15
+ # from modelscope import T2V # Exemple, veuillez l'adapter à la bibliothèque correcte
16
 
17
  logging.basicConfig(level=logging.INFO)
18
  logger = logging.getLogger(__name__)
 
31
  model="openai/whisper-small")
32
  self.text_generator = pipeline("text-generation",
33
  model="gpt2")
34
+ # Ajouter ModelscopeT2V ici
35
+ # self.modelscope_t2v = T2V.from_pretrained("modelscope/t2v-base")
36
  logger.info("Modèles chargés avec succès")
37
  except Exception as e:
38
  logger.error(f"Erreur lors du chargement des modèles: {str(e)}")
 
93
  logger.error(f"Erreur lors de la génération de texte: {str(e)}")
94
  return "Erreur lors de la génération de texte."
95
 
96
+ def generate_video(self, prompt):
97
+ """Génère une vidéo à partir du texte (prompt) en utilisant ModelscopeT2V"""
98
+ try:
99
+ # Utilisation de ModelscopeT2V pour générer une vidéo à partir du texte
100
+ # Supposons que ModelscopeT2V a une méthode `generate_video_from_text`
101
+ # video_url = self.modelscope_t2v.generate_video_from_text(prompt)
102
+
103
+ # Code fictif, adaptez-le à l'API réelle de ModelscopeT2V
104
+ video_url = "URL_fictive_de_la_video_générée" # Remplacez par le véritable lien
105
+ return video_url
106
+ except Exception as e:
107
+ logger.error(f"Erreur lors de la génération de vidéo: {str(e)}")
108
+ return "Erreur lors de la génération de la vidéo."
109
+
110
  def process_inputs(self, image, audio, text):
111
  """Traite les entrées multimodales"""
112
  try:
 
131
  else:
132
  final_prompt = "Aucune entrée fournie."
133
 
134
+ # Génération de la vidéo à partir du texte généré
135
+ video_url = self.generate_video(final_prompt)
136
+
137
+ return final_prompt, video_url
138
 
139
  except Exception as e:
140
  logger.error(f"Erreur lors du traitement des entrées: {str(e)}")
141
+ return "Une erreur est survenue lors du traitement des entrées.", None
142
 
143
  def create_interface():
144
  """Crée l'interface Gradio"""
 
152
  gr.Textbox(label="Entrez du texte additionnel")
153
  ],
154
  outputs=[
155
+ gr.Textbox(label="Description générée"),
156
+ gr.Video(label="Vidéo générée")
157
  ],
158
  title="Analyseur de Contenu Multimodal",
159
  description="""
 
163
  - Texte : enrichit la description
164
 
165
  La sortie combine toutes ces informations en une description cohérente.
166
+ Elle génère également une vidéo basée sur le texte final.
167
  """
168
  )
169
 
 
171
 
172
  if __name__ == "__main__":
173
  interface = create_interface()
174
+ interface.launch()