s2049/Task2_Text_Summarization_with_Sliders
0
1import gradio as gr2from transformers import pipeline3 4def summarize_text(text, min_length, max_length):5 summarizer = pipeline("summarization", model="facebook/bart-large-cnn")6 summary = summarizer(7 text,8 min_length=min_length,9 max_length=max_length,10 do_sample=False11 )12 return summary[0]['summary_text']13 14with gr.Blocks() as demo:15 gr.Markdown("## Adjustable Text Summarization")16 with gr.Row():17 input_text = gr.Textbox(18 label="Enter your text here",19 placeholder="Paste your text here...",20 lines=521 )22 with gr.Row():23 min_length = gr.Slider(24 label="Minimum Length (Tokens)",25 minimum=10,26 maximum=50,27 value=1028 )29 max_length = gr.Slider(30 label="Maximum Length (Tokens)",31 minimum=50,32 maximum=150,33 value=10034 )35 with gr.Row():36 summarize_button = gr.Button("Generate Summary", variant="primary")37 with gr.Row():38 output_text = gr.Textbox(39 label="Generated Summary",40 lines=441 )42 43 summarize_button.click(44 fn=summarize_text,45 inputs=[input_text, min_length, max_length],46 outputs=output_text47 )48 49if __name__ == "__main__":50 demo.launch()