import streamlit as st from src.pager import get_pager from src.summarizer import Summarizer import torch torch.classes.__path__ = [] @st.cache_resource def GetSummarizer(): return Summarizer() url = st.text_input("Please enter your habr article url...") text = st.text_input("...or paste text here:strawberry:") def handle_sum_text(sum_text): return sorted(set([('#' + x).upper() for x in sum_text.split()])) def url_callback(): summarizer = GetSummarizer() pager = get_pager(url) if pager is not None: st.title(pager.title) sum_text = summarizer.summarize(pager.text[:1000]) st.write("Okay, there your tags :sunglasses:") for chunk in handle_sum_text(sum_text): st.badge(chunk, icon=":material/check:", color="green") else: st.title(":shit: Слушай ну нормально же общались") def generator_callback(): summarizer = GetSummarizer() st.title("Your AWESOME:heart: article") sum_text = summarizer.summarize(text[:1000]) st.write("Okay, there your #tags :sunglasses:") for chunk in handle_sum_text(sum_text): st.badge(chunk, icon=":material/check:", color="green") st.button("Describe Habr Article", on_click=url_callback) st.button("Describe text", on_click=generator_callback)