HaggiVaggi commited on
Commit
2545913
·
1 Parent(s): 018bb30

Update pages/1 Подбор фильмов по описанию✏️🔍.py

Browse files
pages/1 Подбор фильмов по описанию✏️🔍.py CHANGED
@@ -36,6 +36,41 @@ model = load_model()
36
  # Пользовательский ввод
37
  user_input = st.text_input("Введите описание фильма:", value="", help="Чем подробнее будет ваше описание, тем точнее мы сможем подобрать для вас фильм 🤗'")
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  if st.button("Искать🔍🎦"):
40
  if user_input:
41
  def encode_description(description, tokenizer, model):
@@ -54,31 +89,43 @@ if st.button("Искать🔍🎦"):
54
  recs = df.iloc[sorted_indices[0]].reset_index(drop=True)
55
  recs.index = recs.index + 1
56
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
  # Вывод рекомендованных фильмов с изображениями
59
- st.subheader("Рекомендованные фильмы 🎉:")
60
- for i in range(5):
61
- st.markdown(f"<span style='font-size:{20}px; color:purple'>{recs['movie_title'].iloc[i]}</span>", unsafe_allow_html=True)
62
- # Создаем две колонки: одну для текста, другую для изображения
63
- col1, col2 = st.columns([2, 1])
64
-
65
- # В колонке отображаем название фильма, описание, роли и ссылку
66
- col1.info(recs['description'].iloc[i])
67
- col1.markdown(f"**В ролях:** {recs['actors'].iloc[i]}")
68
- col1.markdown(f"**Фильм можно посмотреть [здесь]({recs['page_url'].iloc[i]})**")
69
-
70
- # В колонке отображаем изображение
71
- col2.image(recs['image_url'].iloc[i], caption=recs['movie_title'].iloc[i], width=200)
72
- with st.sidebar:
73
- st.info("""
74
- #### Мы смогли помочь вам с выбором?
75
- """)
76
- feedback = st.text_input('Поделитесь с нами вашим мнением')
77
 
78
- feedback_button = st.button("Отправить отзыв", key="feedback_button")
 
 
 
79
 
80
- if feedback_button and feedback:
81
- feedback_container.success("Спасибо, каждый день мы стараемся быть лучше для вас 💟")
82
- elif feedback_button:
83
- feedback_container.warning("Пожалуйста, введите отзыв перед отправкой.")
 
 
 
 
 
 
 
 
 
 
84
 
 
36
  # Пользовательский ввод
37
  user_input = st.text_input("Введите описание фильма:", value="", help="Чем подробнее будет ваше описание, тем точнее мы сможем подобрать для вас фильм 🤗'")
38
 
39
+ genre_list = ['анимация',
40
+ 'аниме',
41
+ 'балет',
42
+ 'биография',
43
+ 'боевик',
44
+ 'вестерн',
45
+ 'военный',
46
+ 'детектив',
47
+ 'детский',
48
+ 'документальный',
49
+ 'драма',
50
+ 'исторический',
51
+ 'катастрофа',
52
+ 'комедия',
53
+ 'концерт',
54
+ 'короткометражный',
55
+ 'криминал',
56
+ 'мелодрама',
57
+ 'мистика',
58
+ 'музыка',
59
+ 'мюзикл',
60
+ 'нуар',
61
+ 'приключения',
62
+ 'сборник',
63
+ 'семейный',
64
+ 'сказка',
65
+ 'спорт',
66
+ 'триллер',
67
+ 'ужасы',
68
+ 'фантастика',
69
+ 'фэнтези',
70
+ 'эротика']
71
+
72
+ user_select_genre = st.multiselect('Выберите жанр', genre_list)
73
+
74
  if st.button("Искать🔍🎦"):
75
  if user_input:
76
  def encode_description(description, tokenizer, model):
 
89
  recs = df.iloc[sorted_indices[0]].reset_index(drop=True)
90
  recs.index = recs.index + 1
91
 
92
+ if user_select_genre:
93
+ genres_selected = user_select_genre.values()
94
+ genre_mask = df['genre'].str.contains('')
95
+ for i in range(len(genres_selected)):
96
+ genre_mask_i = df['genre'].str.contains(genres_selected[i])
97
+ genre_mask = genre_mask * genre_mask_i
98
+ recs = recs[genre_mask]
99
+
100
+ if recs.empty:
101
+ st.subheader("Подходящих фильмов не найдено, ослабьте фильтры 😔:")
102
+ else:
103
+
104
 
105
  # Вывод рекомендованных фильмов с изображениями
106
+ st.subheader("Рекомендованные фильмы 🎉:")
107
+ for i in range(5):
108
+ st.markdown(f"<span style='font-size:{20}px; color:purple'>{recs['movie_title'].iloc[i]}</span>", unsafe_allow_html=True)
109
+ # Создаем две колонки: одну для текста, другую для изображения
110
+ col1, col2 = st.columns([2, 1])
 
 
 
 
 
 
 
 
 
 
 
 
 
111
 
112
+ # В колонке отображаем название фильма, описание, роли и ссылку
113
+ col1.info(recs['description'].iloc[i])
114
+ col1.markdown(f"**В ролях:** {recs['actors'].iloc[i]}")
115
+ col1.markdown(f"**Фильм можно посмотреть [здесь]({recs['page_url'].iloc[i]})**")
116
 
117
+ # В колонке отображаем изображение
118
+ col2.image(recs['image_url'].iloc[i], caption=recs['movie_title'].iloc[i], width=200)
119
+ with st.sidebar:
120
+ st.info("""
121
+ #### Мы смогли помочь вам с выбором?
122
+ """)
123
+ feedback = st.text_input('Поделитесь с нами вашим мнением')
124
+
125
+ feedback_button = st.button("Отправить отзыв", key="feedback_button")
126
+
127
+ if feedback_button and feedback:
128
+ feedback_container.success("Спасибо, каждый день мы стараемся быть лучше для вас 💟")
129
+ elif feedback_button:
130
+ feedback_container.warning("Пожалуйста, введите отзыв перед отправкой.")
131