Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
import streamlit as st
|
| 2 |
from pptx import Presentation
|
| 3 |
-
from pptx.util import Inches
|
| 4 |
import io
|
| 5 |
from huggingface_hub import InferenceClient
|
| 6 |
import json
|
|
@@ -22,7 +22,7 @@ def extract_and_clean_json(text):
|
|
| 22 |
return None
|
| 23 |
|
| 24 |
def generate_presentation_content(topic, client, max_retries=3):
|
| 25 |
-
prompt = f"""Genera una presentación de PowerPoint sobre el tema: "{topic}".
|
| 26 |
Debes crear exactamente 9 diapositivas. Cada diapositiva debe tener un título y contenido.
|
| 27 |
Es CRUCIAL que tu respuesta sea ÚNICAMENTE un JSON válido con la siguiente estructura exacta, sin texto adicional antes o después:
|
| 28 |
|
|
@@ -70,6 +70,11 @@ def generate_presentation_content(topic, client, max_retries=3):
|
|
| 70 |
def create_powerpoint(slides, template_path):
|
| 71 |
prs = Presentation(template_path)
|
| 72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
for slide_data in slides:
|
| 74 |
slide = prs.slides.add_slide(prs.slide_layouts[1])
|
| 75 |
|
|
@@ -142,4 +147,4 @@ def main():
|
|
| 142 |
st.warning("Por favor, ingrese un tema para la presentación.")
|
| 143 |
|
| 144 |
if __name__ == "__main__":
|
| 145 |
-
main()
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
from pptx import Presentation
|
| 3 |
+
from pptx.util import Inches
|
| 4 |
import io
|
| 5 |
from huggingface_hub import InferenceClient
|
| 6 |
import json
|
|
|
|
| 22 |
return None
|
| 23 |
|
| 24 |
def generate_presentation_content(topic, client, max_retries=3):
|
| 25 |
+
prompt = f"""Genera una presentación interesante de PowerPoint sobre el tema: "{topic}".
|
| 26 |
Debes crear exactamente 9 diapositivas. Cada diapositiva debe tener un título y contenido.
|
| 27 |
Es CRUCIAL que tu respuesta sea ÚNICAMENTE un JSON válido con la siguiente estructura exacta, sin texto adicional antes o después:
|
| 28 |
|
|
|
|
| 70 |
def create_powerpoint(slides, template_path):
|
| 71 |
prs = Presentation(template_path)
|
| 72 |
|
| 73 |
+
# Eliminar la primera diapositiva en blanco
|
| 74 |
+
xml_slides = prs.slides._sldIdLst
|
| 75 |
+
slides = list(xml_slides)
|
| 76 |
+
xml_slides.remove(slides[0])
|
| 77 |
+
|
| 78 |
for slide_data in slides:
|
| 79 |
slide = prs.slides.add_slide(prs.slide_layouts[1])
|
| 80 |
|
|
|
|
| 147 |
st.warning("Por favor, ingrese un tema para la presentación.")
|
| 148 |
|
| 149 |
if __name__ == "__main__":
|
| 150 |
+
main()
|