|
import gradio as gr |
|
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
|
|
model_name = "nafisehNik/mt5-persian-summary" |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
model = AutoModelForSeq2SeqLM.from_pretrained(model_name) |
|
|
|
def summarize(text): |
|
if not text.strip(): |
|
return "لطفا متنی وارد کنید." |
|
inputs = tokenizer(text, return_tensors="pt", max_length=512, truncation=True) |
|
summary_ids = model.generate(inputs.input_ids, num_beams=4, max_length=150, early_stopping=True) |
|
return tokenizer.decode(summary_ids[0], skip_special_tokens=True) |
|
|
|
demo = gr.Interface( |
|
fn=summarize, |
|
inputs=gr.Textbox(lines=10, placeholder="متن خود را اینجا وارد کنید..."), |
|
outputs=gr.Textbox(lines=5, label="خلاصه متن"), |
|
title="خلاصهساز متن فارسی", |
|
description="یک اپلیکیشن ساده برای خلاصهسازی متن به زبان فارسی با استفاده از هوش مصنوعی.", |
|
theme="default" |
|
) |
|
|
|
demo.launch() |
|
|