File size: 1,264 Bytes
2d05695
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import gradio as gr
from transformers import pipeline

# Load the summarization pipeline
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")

def summarize_text(text, min_length, max_length):
    if not text.strip():
        return "Please enter some text to summarize."
    
    summary = summarizer(text, min_length=min_length, max_length=max_length, do_sample=False)
    return summary[0]['summary_text']

# Define the Gradio interface
with gr.Blocks() as demo:
    gr.Markdown("# Text Summarization using BART Model")
    gr.Markdown("Enter a long piece of text below and adjust the sliders to set summary length, then click 'Summarize' to generate a concise summary.")
    
    text_input = gr.Textbox(label="Input Text", placeholder="Enter your text here...", lines=10)
    min_length_slider = gr.Slider(10, 50, value=10, label="Minimum Summary Length")
    max_length_slider = gr.Slider(50, 150, value=100, label="Maximum Summary Length")
    summarize_button = gr.Button("Summarize")
    output_text = gr.Textbox(label="Summarized Text", lines=5, interactive=False)
    
    summarize_button.click(summarize_text, inputs=[text_input, min_length_slider, max_length_slider], outputs=output_text)
    
# Launch the Gradio app
demo.launch()