rifkat/Uz-Text-Summarization
1
1import gradio as gr2import re3from transformers import AutoTokenizer, AutoModelForSeq2SeqLM4 5WHITESPACE_HANDLER = lambda k: re.sub('\s+', ' ', re.sub('\n+', ' ', k.strip()))6 7model_name = "csebuetnlp/mT5_multilingual_XLSum"8tokenizer = AutoTokenizer.from_pretrained(model_name,use_fast=False)9model = AutoModelForSeq2SeqLM.from_pretrained(model_name)10 11def generate_summary(text):12 13 input_ids = tokenizer(14 [WHITESPACE_HANDLER(text)],15 return_tensors="pt",16 padding="max_length",17 truncation=True,18 max_length=512)["input_ids"]19 20 output_ids = model.generate(21 input_ids=input_ids,22 max_length=84,23 no_repeat_ngram_size=2,24 num_beams=425 )[0]26 27 summary = tokenizer.decode(28 output_ids,29 skip_special_tokens=True,30 clean_up_tokenization_spaces=False31 )32 33 return summary34 35demo = gr.Interface(fn=generate_summary,36 inputs=gr.Textbox(lines=10, placeholder="Matinni kiriting!"),37 outputs=gr.Textbox(lines=4)38 )39 40demo.launch()