abersbail's picture
Add text summarizer CPU Space
0b41e68 verified
import gradio as gr
from summary_tool.service import SummaryService
service = SummaryService()
def summarize_text(text, style, max_words):
return service.summarize(text, style, int(max_words))
with gr.Blocks(
title="Text Summarizer CPU",
theme=gr.themes.Soft(primary_hue="blue", secondary_hue="green"),
) as demo:
gr.Markdown(
"""
# Text Summarizer CPU
Paste long text and generate a short AI summary on free CPU.
"""
)
text_input = gr.Textbox(label="Input Text", lines=12, placeholder="Paste article, notes, or long text here")
style_input = gr.Dropdown(
choices=["Short", "Balanced", "Detailed", "Bullet Points"],
value="Balanced",
label="Summary Style",
)
max_words_input = gr.Slider(40, 240, value=120, step=10, label="Max Words")
run_button = gr.Button("Summarize", variant="primary")
summary_output = gr.Textbox(label="Summary", lines=8)
status_output = gr.Textbox(label="Status", lines=2)
run_button.click(
fn=summarize_text,
inputs=[text_input, style_input, max_words_input],
outputs=[summary_output, status_output],
)
if __name__ == "__main__":
demo.launch()