HaggiVaggi commited on
Commit
e8d8368
1 Parent(s): 1743a6e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -102
app.py CHANGED
@@ -5,6 +5,10 @@ from transformers import AutoTokenizer, AutoModel
5
  import faiss
6
  import numpy as np
7
 
 
 
 
 
8
 
9
  @st.cache_data
10
  def load_data(url):
@@ -13,38 +17,9 @@ def load_data(url):
13
 
14
  df = load_data('data/final_data.csv')
15
 
16
- # @st.cache_data
17
- # def embedding_and_index():
18
- # embeddings_array = np.load('data/embeddings_final.npy')
19
- # index = faiss.read_index('data/desc_faiss_index_final.index')
20
- # return(embeddings_array, index)
21
-
22
- # embeddings_array, index = embedding_and_index()
23
-
24
- # @st.cache_resource
25
- # def load_tokenizer_and_model():
26
- # tokenizer = AutoTokenizer.from_pretrained("DeepPavlov/rubert-base-cased-sentence")
27
- # model = AutoModel.from_pretrained("DeepPavlov/rubert-base-cased-sentence")
28
- # return tokenizer, model
29
-
30
- # tokenizer, model = load_tokenizer_and_model()
31
-
32
- # @st.cache_resource
33
- # def encode_description(description, tokenizer, model):
34
- # tokens = tokenizer(description, return_tensors="pt")
35
- # with torch.no_grad():
36
- # outputs = model(**tokens)
37
- # embeddings = outputs.last_hidden_state.mean(dim=1)
38
- # return embeddings.cpu().numpy().astype('float32')
39
-
40
-
41
  st.title('Умный поиск фильмов 🔍🎦')
42
 
43
- # with st.sidebar:
44
- # st.header('Выберите страницу')
45
- # page = st.selectbox("Выберите страницу", ["Главная", "Подбор фильмов по описанию", "Итоги"])
46
 
47
- # if page == "Главная":
48
  st.header('Выполнила команда "FindMyMovie":')
49
  st.subheader('🎥Алексей')
50
  st.subheader('🎬Светлана')
@@ -52,7 +27,6 @@ st.subheader('🍿Тата')
52
 
53
 
54
 
55
-
56
  st.subheader('Наши задачи:')
57
  st.markdown("""
58
  <span style='font-size:18px; color:purple;'>Задача 1:</span> Спарсить информацию по 5 тыс. фильмов и обработать ее
@@ -83,75 +57,4 @@ if st.button("Сгенерировать 🎲"):
83
  st.markdown(f"<span style='font-size:{20}px; color:violet'>{'Сегодня мы подобрали для вас следующие фильмы:'}</span>", unsafe_allow_html=True)
84
  st.write(random_rows)
85
  st.image("apps/1.png", use_column_width=True)
86
-
87
- # if page == "Подбор фильмов по описанию":
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
- # def main():
96
-
97
-
98
- # # Пользовательский ввод
99
- # user_input = st.text_input("Введите описание фильма:", value="", help="Чем подробнее будет ваше описание, тем точнее мы сможем подобрать для вас фильм 🤗'")
100
-
101
- # if st.button("Искать🔍🎦"):
102
- # if user_input:
103
- # # Векторизация введенного запроса
104
- # input_embedding = encode_description(user_input)
105
-
106
- # # Поиск с использованием Faiss
107
- # _, sorted_indices = index.search(input_embedding.reshape(1, -1), 5) # Изменил на 5
108
-
109
- # # Используйте индексы для извлечения строк из DataFrame
110
- # recs = df2.iloc[sorted_indices[0]].reset_index(drop=True)
111
- # recs.index = recs.index + 1
112
-
113
- # # Вывод рекомендованных фильмов с изображениями
114
- # st.subheader("Рекомендованные фильмы 🎉:")
115
- # for i in range(5):
116
- # st.markdown(f"<span style='font-size:{20}px; color:purple'>{recs['movie_title'].iloc[i]}</span>", unsafe_allow_html=True)
117
- # # Создаем две колонки: одну для текста, другую для изображения
118
- # col1, col2 = st.columns([2, 1])
119
-
120
- # # В колонке отображаем название фильма, описание, роли и ссылку
121
- # col1.info(recs['description'].iloc[i])
122
- # col1.markdown(f"**В ролях:** {recs['actors'].iloc[i]}")
123
- # col1.markdown(f"**Фильм можно посмотреть [здесь]({recs['page_url'].iloc[i]})**")
124
-
125
- # # В колонке отображаем изображение
126
- # col2.image(recs['image_url'].iloc[i], caption=recs['movie_title'].iloc[i], width=200)
127
- # with st.sidebar:
128
- # st.info("""
129
- # #### Мы смогли помочь вам с выбором?
130
- # """)
131
- # feedback = st.text_input('Поделитесь с нами вашим мнением')
132
-
133
- # feedback_button = st.button("Отправить отзыв", key="feedback_button")
134
-
135
- # if feedback_button and feedback:
136
- # feedback_container.success("Спасибо, каждый день мы стараемся быть лучше для вас 💟")
137
- # elif feedback_button:
138
- # feedback_container.warning("Пожалуйста, введите отзыв перед отправкой.")
139
-
140
- # if __name__ == "__main__":
141
- # main()
142
-
143
- # if page == "Итоги":
144
- # st.header('Инструменты для создания проекта: ')
145
- # list_text = """
146
- # <div style='color: violet; border: 2px solid purple; padding: 10px;'>
147
- # <ul>
148
- # <li>Используемые языковые модели: rubert-base-cased-sentence, rubert-tiny2</li>
149
- # <li>Библиотека Sentence Transformers</li>
150
- # <li>Faiss (для уменьшения времени генерации подборки фильмов)</li>
151
- # <li>Сайт-жертва для парсинга - <a href="https://www.kinoafisha.info/" style='color: purple;'>Киноафиша</a></li>
152
- # </ul>
153
- # </div>
154
- # """
155
-
156
- # # Отображение HTML-разметки в Streamlit
157
- # st.markdown(list_text, unsafe_allow_html=True)
 
5
  import faiss
6
  import numpy as np
7
 
8
+ from sidebar import main as sidebar_main
9
+
10
+ # Вызываем функцию из sidebar.py для отображения боковой панели
11
+ sidebar_main()
12
 
13
  @st.cache_data
14
  def load_data(url):
 
17
 
18
  df = load_data('data/final_data.csv')
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  st.title('Умный поиск фильмов 🔍🎦')
21
 
 
 
 
22
 
 
23
  st.header('Выполнила команда "FindMyMovie":')
24
  st.subheader('🎥Алексей')
25
  st.subheader('🎬Светлана')
 
27
 
28
 
29
 
 
30
  st.subheader('Наши задачи:')
31
  st.markdown("""
32
  <span style='font-size:18px; color:purple;'>Задача 1:</span> Спарсить информацию по 5 тыс. фильмов и обработать ее
 
57
  st.markdown(f"<span style='font-size:{20}px; color:violet'>{'Сегодня мы подобрали для вас следующие фильмы:'}</span>", unsafe_allow_html=True)
58
  st.write(random_rows)
59
  st.image("apps/1.png", use_column_width=True)
60
+