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 |
+
|