Sss / app.py
Genn9508's picture
Update app.py
a9fbd4c verified
import gradio as gr
from transformers import pipeline, AutoTokenizer
from optimum.onnxruntime import ORTModelForSeq2SeqLM
# Загружаем модель с явным указанием имён файлов
model = ORTModelForSeq2SeqLM.from_pretrained(
"Genn9508/Sss",
file_name="encoder_model_quantized.onnx",
decoder_file_name="decoder_with_past_model_quantized.onnx",
)
# Токенизатор
tokenizer = AutoTokenizer.from_pretrained("Genn9508/Sss")
# Пайплайн
pipe = pipeline("summarization", model=model, tokenizer=tokenizer)
# Функция суммаризации
def summarize(text):
if not text.strip():
return "Введите текст для краткого изложения."
# Генерация краткого варианта
result = pipe(
text,
max_length=100, # максимум слов в выводе
min_length=20, # минимум — чтобы не было слишком коротко
do_sample=False, # детерминированная генерация
no_repeat_ngram_size=2,
truncation=True # если текст длиннее 512 токенов
)
return result[0]['summary_text']
# Интерфейс
with gr.Blocks(theme=gr.themes.Soft()) as demo:
gr.Markdown("# 📝 ONNX T5 — Суммаризатор текста")
gr.Markdown("Модель оптимизирована для **краткого изложения текста**. Просто введите любой текст — и получите краткую версию.")
with gr.Row():
with gr.Column(scale=2):
input_text = gr.Textbox(
label="Текст для краткого изложения",
placeholder="Введите текст (статью, отзыв, письмо и т.д.) — модель сделает кратко.",
lines=6
)
btn = gr.Button("✨ Сделать кратко", variant="primary")
with gr.Column(scale=2):
output_text = gr.Textbox(
label="Краткое изложение",
lines=6,
interactive=False
)
btn.click(fn=summarize, inputs=input_text, outputs=output_text)
gr.Examples(
[
["Искусственный интеллект меняет мир. Он используется в медицине, образовании, транспорте и других сферах. Благодаря ИИ люди могут решать сложные задачи быстрее и точнее."],
["Компания запустила новый продукт. Он помогает автоматизировать рутинные задачи. Пользователи уже оставили положительные отзывы."],
["На прошлой неделе прошла конференция по искусственному интеллекту. Участники обсудили последние достижения в области генеративных моделей и этики ИИ."]
],
inputs=input_text,
label="Примеры текстов"
)
demo.launch()