import streamlit as st from Generate_text import generate, load_tokenizer_and_model device = "cpu" tok, model = load_tokenizer_and_model("models/essays", device) st.markdown("## Генератор сочинений") st.markdown("##### Это приложение представляет из себя примитивный генератор сочинений. \\\ В качестве основной модели был взят трансформер RuGPT от Сбера https://huggingface.co/ai-forever/rugpt3small_based_on_gpt2. После этого на том же HF был скачан датасет с сочинениями на русском языке, который использовался для finetuning'а (см. ReadMe)") with st.columns(3)[1]: st.markdown("", unsafe_allow_html=True) # ^-- можно показывать пользователю текст, картинки, ограниченное подмножество html - всё как в jupyter max_len = st.text_area("Максимальная длина") text = st.text_area("Тема сочинения") # ^-- показать текстовое поле. В поле text лежит строка, которая находится там в данный момент thesis = "Тема:" + "«" + text + "»." + "\nСочинение: " if max_len != "": begin_index = len(thesis) max_len = int(max_len) generated = generate(model, tok, thesis, device, max_length=max_len, num_beams=10) end_index = (generated[0]).find("") st.markdown(f"Сочинение:\n") st.markdown(generated[0][begin_index:end_index]) # выводим результаты модели в текстовое поле, на потеху пользователю