File size: 3,355 Bytes
7951f11 2c7da7c 7951f11 2c7da7c 7951f11 2c7da7c a9fbd4c 7951f11 a9fbd4c 2c7da7c a9fbd4c 2c7da7c a9fbd4c 2c7da7c a9fbd4c 2c7da7c a9fbd4c 2c7da7c a9fbd4c 2c7da7c a9fbd4c 2c7da7c a9fbd4c 2c7da7c 7951f11 2c7da7c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | 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()
|