import gradio as gr from utils.summarizer import summarize_text from utils.translator import translate_to_french # Load external CSS with open("style.css", "r") as f: custom_css = f.read() def process_text(task, text): if task == "Summarization": return summarize_text(text) elif task == "Translate to French": return translate_to_french(text) else: return "Invalid task selected." with gr.Blocks(css=custom_css) as demo: gr.Markdown("### Summarize or Translate long-form text using Hugging Face Transformers and Gradio") with gr.Row(): with gr.Column(elem_classes="card"): task = gr.Dropdown( ["Summarization", "Translate to French"], label="Task", elem_classes="dropdown" ) input_text = gr.Textbox( lines=12, placeholder="Enter your text here...", label="Input Text", elem_classes="textbox" ) submit_btn = gr.Button("Submit", elem_classes="submit-button") with gr.Column(elem_classes="card"): output = gr.Textbox(label="Result", elem_classes="output") submit_btn.click(fn=process_text, inputs=[task, input_text], outputs=output) demo.launch()