ai-forever's picture
change the wording of the example texts
103cb97 verified
raw
history blame
4.71 kB
import gradio as gr
import time
from src.constructor import generate_presentation
from src.prompt_configs import en_gigachat_config, ru_gigachat_config
from src.gigachat import giga_generate
# from src.kandinsky import api_k31_generate
from src.kandinsky import generate_image
from src.font import Font
logs_dir = "logs"
fonts_dir = "fonts"
def create_presentation(description: str, slides_num: int, language: str, num_inference_steps: int, image_size_coef: float):
# Select the appropriate prompt configuration based on the selected language
if language == "English":
prompt_config = en_gigachat_config
elif language == "Русский":
prompt_config = ru_gigachat_config
else:
# set default to prevent interruptions in unexpected scenario
prompt_config = en_gigachat_config
font = Font(fonts_dir)
font.set_random_font()
output_dir = f'{logs_dir}/{int(time.time())}'
generate_presentation(
llm_generate=giga_generate,
# generate_image=api_k31_generate,
generate_image=generate_image,
prompt_config=prompt_config,
description=description,
slides_num=slides_num,
font=font,
output_dir=output_dir,
num_inference_steps=num_inference_steps,
image_size_coef=image_size_coef
)
filename = f'{output_dir}/presentation.pptx'
return filename
# Updated examples to include language selection
examples = [
["Basic concepts of economics", 7, "English"],
["Базовые понятия экономики", 7, "Русский"],
["Climate change", 6, "English"],
["Изменение климата", 6, "Русский"],
["Artificial intelligence", 5, "English"],
["Искусственный интеллект", 5, "Русский"],
["Space exploration", 7, "English"],
["Космические исследования", 7, "Русский"],
["The future of renewable energy", 7, "English"],
["Будущее возобновляемой энергетики", 7, "Русский"],
["The history of art movements", 6, "English"],
["История художественных движений", 6, "Русский"],
["The impact of social media", 6, "English"],
["Влияние социальных сетей", 6, "Русский"],
["Sustainable urban planning", 7, "English"],
["Устойчивое градостроительство", 7, "Русский"],
["Новшества в области медицинских технологий", 7, "Русский"],
["Innovations in healthcare technology", 7, "English"],
["Глобальные экономические тенденции", 5, "Русский"],
["Global economic trends", 5, "English"],
["Психология потребительского поведения", 6, "Русский"],
["The psychology of consumer behavior", 6, "English"],
["Преимущества осознанности и медитации", 7, "Русский"],
["The benefits of mindfulness and meditation", 7, "English"],
["Достижения в области автономных транспортных средств", 7, "Русский"],
["Advancements in autonomous vehicles", 7, "English"],
["Влияние изменений климатической политики", 5, "Русский"],
["The impact of climate policy changes", 5, "English"],
]
iface = gr.Interface(
fn=create_presentation,
inputs=[
gr.Textbox(
label="Presentation Description",
placeholder="Enter the description for the presentation..."
),
gr.Dropdown(
label="Number of slides",
choices=range(1, 11),
value=5
),
gr.Dropdown(
label="Language",
choices=["English", "Русский"],
value="English"
),
gr.Slider(
label="number of diffusion steps",
minimum=2,
maximum=50,
step=1,
value=50,
),
gr.Slider(
label="scaling factor for image reduction",
minimum=0.25,
maximum=1.0,
step=0.05,
value=1.0,
)
],
outputs=gr.File(
label="Download Presentation"
),
title="Presentation Generator",
description="Generate a presentation based on the provided description and selected language. Click the button to download the presentation.",
css="footer {visibility: hidden}",
allow_flagging="never",
examples=examples
)
iface.launch()