Download app.py from kaabardinkaa/russian-summarization-demo: direct link, hf CLI and curl.
- Browser
- Download file 3.39 kB
-
https://huggingface.co/spaces/kaabardinkaa/russian-summarization-demo/resolve/main/app.py
- Command line
-
hf download hf://spaces/kaabardinkaa/russian-summarization-demo/app.py
-
curl -L -o app.py https://huggingface.co/spaces/kaabardinkaa/russian-summarization-demo/resolve/main/app.py
3.39 kB
| import time | |
| import gradio as gr | |
| from transformers import pipeline | |
| MODEL_NAME = "cointegrated/rut5-base-absum" | |
| summarizer = pipeline( | |
| "summarization", | |
| model=MODEL_NAME, | |
| tokenizer=MODEL_NAME | |
| ) | |
| def summarize_text(text: str): | |
| if not text or not text.strip(): | |
| return "Введите текст для саммаризации.", "" | |
| start_time = time.time() | |
| result = summarizer( | |
| text, | |
| max_length=80, | |
| min_length=20, | |
| do_sample=False, | |
| truncation=True | |
| ) | |
| end_time = time.time() | |
| summary = result[0]["summary_text"] | |
| elapsed_time = round(end_time - start_time, 2) | |
| return summary, f"Время обработки: {elapsed_time} сек." | |
| example_text = """Клиент обратился сразу с несколькими проблемами: заказ был доставлен позже обещанного времени, один товар оказался повреждён, | |
| а промокод, который должен был примениться при оплате, не сработал. Клиент просит вернуть деньги за повреждённый товар, | |
| начислить компенсацию за опоздание и объяснить, почему промокод не применился.""" | |
| demo = gr.Interface( | |
| fn=summarize_text, | |
| inputs=gr.Textbox( | |
| label="Исходный текст", | |
| placeholder="Вставьте длинный текст обращения, диалога или описания проблемы...", | |
| lines=10, | |
| value=example_text | |
| ), | |
| outputs=[ | |
| gr.Textbox(label="Краткое резюме", lines=4), | |
| gr.Textbox(label="Скорость обработки", lines=1) | |
| ], | |
| title="Демо: саммаризация клиентских обращений", | |
| description=( | |
| "Демо использует HuggingFace-модель cointegrated/rut5-base-absum " | |
| "для краткого резюмирования русскоязычных текстов." | |
| ), | |
| examples=[ | |
| [example_text], | |
| ["""Покупатель сообщил, что в заказе отсутствовало несколько позиций, хотя деньги за них были списаны. | |
| Он уже обращался в поддержку ранее, но получил только обещание разобраться. | |
| Клиент раздражён, потому что проблема повторяется второй раз за месяц, и просит оформить возврат как можно быстрее."""], | |
| ["""Компания внедряет новый процесс обработки возвратов. Теперь часть обращений клиентов будет переводиться из чата в отдельный раздел приложения. | |
| Это позволит клиенту самостоятельно создать заявку, приложить фотографии товара и отслеживать статус рассмотрения. | |
| Операторы поддержки будут подключаться только в сложных случаях."""] | |
| ] | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() |