import gradio as gr from transformers import pipeline model_name = "sshleifer/distilbart-cnn-12-6" def summarize_text(text, max_length, min_length): summarizer = pipeline('summarization', model=model_name, use_auth_token=None) result = summarizer(text, max_length=int(max_length), min_length=int(min_length), do_sample=False) return result[0]['summary_text'] with gr.Blocks() as demo: gr.Markdown("# Text Summarizer") gr.Markdown("Powered by sshleifer/distilbart-cnn-12-6") text_input = gr.Textbox(label="Text to Summarize", placeholder="Enter long text...", lines=5) max_len = gr.Slider(minimum=10, maximum=200, value=100, label="Max Summary Length") min_len = gr.Slider(minimum=5, maximum=50, value=10, label="Min Summary Length") output = gr.Textbox(label="Summary", lines=3) btn = gr.Button("Summarize") btn.click(fn=summarize_text, inputs=[text_input, max_len, min_len], outputs=output) if __name__ == "__main__": demo.launch()