Update app.py
Browse files
app.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
import os
|
2 |
import gradio as gr
|
3 |
from huggingface_hub import hf_hub_download, login
|
4 |
-
from transformers import AutoModelForCausalLM, AutoTokenizer,
|
5 |
from pptx import Presentation
|
6 |
from pptx.util import Inches, Pt
|
7 |
from pptx.enum.text import PP_ALIGN
|
@@ -36,7 +36,10 @@ Points:
|
|
36 |
- Point 1
|
37 |
- Point 2
|
38 |
- Point 3
|
39 |
-
Image: [Description détaillée de l'image souhaitée pour cette diapo
|
|
|
|
|
|
|
40 |
|
41 |
DIAPO 2:
|
42 |
Titre: [Titre de la diapo]
|
@@ -89,8 +92,9 @@ class PresentationGenerator:
|
|
89 |
def load_image_model(self, model_name):
|
90 |
"""Charge le modèle de génération d'images"""
|
91 |
model_id = IMAGE_MODELS[model_name]
|
92 |
-
self.image_pipeline =
|
93 |
-
|
|
|
94 |
token=self.token
|
95 |
)
|
96 |
|
@@ -124,7 +128,7 @@ class PresentationGenerator:
|
|
124 |
prompt=prompt,
|
125 |
negative_prompt=negative_prompt,
|
126 |
num_inference_steps=num_inference_steps
|
127 |
-
)
|
128 |
return image
|
129 |
except Exception as e:
|
130 |
print(f"Erreur lors de la génération de l'image: {str(e)}")
|
@@ -228,7 +232,7 @@ def generate_presentation_with_progress(text, text_model_name, image_model_name,
|
|
228 |
except Exception as e:
|
229 |
return f"Erreur: {str(e)}", None, None
|
230 |
|
231 |
-
#
|
232 |
css = """
|
233 |
/* Thème sombre personnalisé */
|
234 |
.gradio-container {
|
@@ -375,4 +379,4 @@ with gr.Blocks(theme=gr.themes.Default(), css=css) as demo:
|
|
375 |
|
376 |
if __name__ == "__main__":
|
377 |
demo.launch()
|
378 |
-
|
|
|
1 |
import os
|
2 |
import gradio as gr
|
3 |
from huggingface_hub import hf_hub_download, login
|
4 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
|
5 |
from pptx import Presentation
|
6 |
from pptx.util import Inches, Pt
|
7 |
from pptx.enum.text import PP_ALIGN
|
|
|
36 |
- Point 1
|
37 |
- Point 2
|
38 |
- Point 3
|
39 |
+
Image: [Description détaillée de l'image souhaitée pour cette diapo. Soyez très précis dans la description pour permettre
|
40 |
+
une génération d'image de qualité. Par exemple : "Une illustration professionnelle montrant un concept clé de cybersécurité
|
41 |
+
avec des éléments visuels modernes, un style épuré et des couleurs corporate (fond noir, couleurs bleu electrique, rouge, gris, blanc).
|
42 |
+
L'image doit être claire, minimaliste et adaptée à une présentation professionnelle."]
|
43 |
|
44 |
DIAPO 2:
|
45 |
Titre: [Titre de la diapo]
|
|
|
92 |
def load_image_model(self, model_name):
|
93 |
"""Charge le modèle de génération d'images"""
|
94 |
model_id = IMAGE_MODELS[model_name]
|
95 |
+
self.image_pipeline = pipeline(
|
96 |
+
"text-to-image",
|
97 |
+
model=model_id,
|
98 |
token=self.token
|
99 |
)
|
100 |
|
|
|
128 |
prompt=prompt,
|
129 |
negative_prompt=negative_prompt,
|
130 |
num_inference_steps=num_inference_steps
|
131 |
+
)[0] # Pipeline retourne une liste d'images, on prend la première
|
132 |
return image
|
133 |
except Exception as e:
|
134 |
print(f"Erreur lors de la génération de l'image: {str(e)}")
|
|
|
232 |
except Exception as e:
|
233 |
return f"Erreur: {str(e)}", None, None
|
234 |
|
235 |
+
# CSS personnalisé pour un thème sombre amélioré
|
236 |
css = """
|
237 |
/* Thème sombre personnalisé */
|
238 |
.gradio-container {
|
|
|
379 |
|
380 |
if __name__ == "__main__":
|
381 |
demo.launch()
|
382 |
+
|