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()