Spaces:
Running
Running
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import pickle | |
from funcs.preproc import * | |
def run(): | |
st.subheader('Подбор фильма по запросу, но с секретом!') | |
nlp, morph = load_models() | |
user_text = st.text_input('Введите запрос на желаемый фильм') | |
def display_movie_card(row): | |
st.markdown( | |
f""" | |
**{row['title']}**\n | |
*Описание:* {row['description']}\n | |
*Год:* {row['year']}\n | |
*Актеры:* {row['actors']}\n | |
*Сходство:* {row['similarity']:.4f}\n | |
{"----------"} | |
""" | |
) | |
left, middle, right = st.columns(3) | |
if middle.button('Получить топ фильмов по-моему запросу', icon="👀", use_container_width=True): | |
if user_text: # Проверяем, что поле ввода не пустое | |
result = search_movie(user_text) | |
output = sort_by_entities(result, user_text, morph, nlp) | |
output = output[['title', 'year', 'actors', 'description', 'similarity']] | |
#st.write('Предлагаю посмотреть вам следующие фильмы:') | |
#for index, rows in output.iterrows(): | |
# st.write(rows) | |
for index, row in output.iterrows(): | |
display_movie_card(row) | |
else: | |
st.warning("Пожалуйста, введите свой запрос на фильм.") | |