Spaces:
Sleeping
Sleeping
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import time | |
import base64 | |
import requests | |
from PIL import Image | |
from io import BytesIO | |
from model.bert import recommend | |
list_genre = ['Классическая литература', 'Современная проза', 'Отечественные детективы', | |
'Зарубежные детективы', 'Иронические детективы', 'Отечественная фантастика', 'Зарубежная фантастика', | |
'Отечественное фэнтези', 'Зарубежное фэнтези', 'Ужасы', 'Фантастический боевик', | |
'Российские любовные романы', 'Зарубежные любовные романы', 'Поэзия', 'Драматургия', | |
'Публицистика', 'Биографии', 'Мемуары', 'Исторические романы', 'Комисксы и манга', 'Юмор', | |
'Афоризмы и цитаты', 'Мифы легенды эпос', 'Сказки', 'Пословицы поговорки загадки', 'Прочие издания', 'Другое'] | |
st.header(""" | |
Рекомендательная модель🤖 | |
""", divider='blue') | |
st.info(""" | |
- ##### Именно здесь вы сможете получить ТОП-рекомендаций под ваши предпочтения и желания🔝 | |
\n- ##### Вам предстоит лишь сделать краткое описание книги, которую вы хотели бы прочитать, и выбрать некоторые параметры поиска⚙️ | |
""") | |
st.image('images/recsys_image.png', caption='Картинка сгенерирована DALL-E') | |
st.write(""" | |
- ### Выбор параметров поиска: | |
""") | |
text_users = st.text_input('**Пожалуйста, опишите ваши предпочтения по выбору книги (какой она должна быть):**') | |
genre_book = st.selectbox('**Пожалуйста, укажите жанр книги:**', list_genre) | |
author = st.text_input('**Пожалуйста, укажите имя автора, если для вас это важно (❗НЕОБЯЗАТЕЛЬНО):**') | |
count_recommended = st.slider('**Пожалуйста, укажите какое количество рекомендаций Вы хотите получить:**', min_value=1, max_value=10, value=5) | |
push_button = st.button('**Получить рекомендации >>>**', type='primary') | |
start_time = time.time() | |
if push_button: | |
recommend_book = recommend(text_users, count_recommended) | |
st.write(f""" | |
#### Модель нашла лучшие рекомендации для Вас🎉 : | |
\n- ##### Это заняло всего {round(time.time() - start_time, 3)} сек. | |
""") | |
st.table(recommend_book) | |
time.sleep(3) | |
with st.sidebar: | |
st.info(""" | |
#### Понравились ли Вам наши рекомендации? | |
""") | |
col1, col2 = st.columns(2) | |
with col1: | |
st.button('**Да, очень**🔥', type='primary') | |
with col2: | |
st.button('**Нет,можно лучше**👎🏻', type='primary') | |