|
|
import gradio as gr |
|
|
from transformers import T5Tokenizer, T5ForConditionalGeneration |
|
|
|
|
|
|
|
|
model_name = "t5-small" |
|
|
tokenizer = T5Tokenizer.from_pretrained(model_name) |
|
|
model = T5ForConditionalGeneration.from_pretrained(model_name) |
|
|
|
|
|
|
|
|
def summarize_text(text): |
|
|
input_text = "summarize: " + text.strip() |
|
|
input_ids = tokenizer.encode(input_text, return_tensors="pt", max_length=500, truncation=True) |
|
|
summary_ids = model.generate(input_ids, max_length=140, min_length=40, length_penalty=2.0, num_beams=2, early_stopping=True) |
|
|
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True) |
|
|
return summary |
|
|
|
|
|
|
|
|
iface = gr.Interface(fn=summarize_text, |
|
|
inputs=gr.Textbox(lines=15, placeholder="Paste your text here..."), |
|
|
outputs=gr.Textbox(label="Summary"), |
|
|
title="T5 Text Summarizer", |
|
|
description="Enter any long English text to get a summarized version using the T5 model.") |
|
|
|
|
|
|
|
|
iface.launch() |
|
|
|