Find_my_Movie / app.py
Solar-Iz's picture
Upload 15 files
34e52df verified
raw
history blame contribute delete
No virus
2.94 kB
import streamlit as st
import pandas as pd
import torch
from transformers import AutoTokenizer, AutoModel
import faiss
import numpy as np
@st.cache_data
def load_data(url):
df = pd.read_csv(url) # 👈 Download the data
return df
df = load_data('data/final_data.csv')
st.title('Умный поиск фильмов 🔍🎦')
st.header('Выполнила команда "FindMyMovie":')
st.subheader('🎥Алексей')
st.subheader('🎬Светлана')
st.subheader('🍿Тата')
st.subheader('Наши задачи:')
st.markdown("""
<span style='font-size:18px; color:purple;'>Задача 1:</span> Спарсить информацию по 5 тыс. фильмов и обработать ее
<span style='font-size:18px; color:purple;'>Задача 2:</span> Разработать систему поиска фильма по пользовательскому запросу
""", unsafe_allow_html=True)
st.markdown(
f"<div style='border: 2px solid #800080; padding: 10px; text-align: center;'><span style='font-size: 20px; color: violet;'>Мы любезно позаимствовали данные о фильмах с \
Киноафиши, ни один участник команды при этом не пострадал 💟</span></div>",
unsafe_allow_html=True
)
st.subheader(' '*10)
st.info('🌟Сервис принимает на вход описание фильма от пользователя и возвращает заданное количество подходящих вариантов')
st.info('🌟Если не знаете, что посмотреть, нажмите кнопку "Сгенерировать" - сервис предложит вам 10 случайных фильмов из библиотеки')
# Отображаем HTML-разметку в Streamlit
if st.button("Сгенерировать 🎲"):
# Получение случайных 10 строк, включая 'image_url' и 'actors'
random_rows = df[['movie_title', 'description', 'actors', 'image_url', 'page_url']].sample(n=10).reset_index(drop=True)
random_rows.index = random_rows.index + 1
st.markdown(f"<span style='font-size:{20}px; color:violet'>{'Сегодня мы подобрали для вас следующие фильмы:'}</span>", unsafe_allow_html=True)
for i in range(5):
st.markdown(f"<span style='font-size:{20}px; color:purple'>{random_rows['movie_title'].iloc[i]}</span>", unsafe_allow_html=True)
col1, col2 = st.columns([2, 1])
col1.info(random_rows['description'].iloc[i])
col1.markdown(f"**В ролях:** {random_rows['actors'].iloc[i]}")
col1.markdown(f"**Фильм можно посмотреть [здесь]({random_rows['page_url'].iloc[i]})**")
col2.image(random_rows['image_url'].iloc[i], caption=random_rows['movie_title'].iloc[i], width=200)