amrish123/Summarization_code
1
1import gradio as gr2from transformers import pipeline3import torch4 5# Load summarizer6device = 0 if torch.cuda.is_available() else -17summarizer = pipeline(8 "summarization",9 model="csebuetnlp/mT5_multilingual_XLSum",10 tokenizer="csebuetnlp/mT5_multilingual_XLSum",11 device=device12)13 14print("✅ Model loaded on:", "GPU" if device == 0 else "CPU")15 16# Function for API and UI17def summarize_text(text):18 if not text.strip():19 return "❌ Error: No text provided."20 21 max_len = 100022 clean_text = text.strip()[:max_len]23 result = summarizer([clean_text], max_length=130, min_length=30, do_sample=False)24 return result[0]["summary_text"]25 26# Gradio Interface (UI + API)27iface = gr.Interface(28 fn=summarize_text,29 inputs=gr.Textbox(lines=10, placeholder="Paste your news article here..."),30 outputs="text",31 title="Multilingual News Summarizer",32 description="Summarizes news articles using mT5 multilingual XLSum model."33)34 35iface.launch()36 