Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| st.title('Рекомендация книг на основе пользовательского промта') | |
| st.subheader('Основная информация') | |
| def load_data(file_path): | |
| return pd.read_csv(file_path) | |
| df = load_data('data/books_data_cleaned.csv') | |
| data = { | |
| 'Источник': ['chitai-gorod.ru'], | |
| 'Кол-во книг': ['5000'], | |
| 'Уникальных авторов': ['2112'], | |
| 'Жанр': ['Художественная лит-ра'], | |
| 'Время парсинга': ['77 минут'], | |
| } | |
| df1 = pd.DataFrame(data) | |
| st.dataframe(df1) | |
| st.subheader('Используемые модели:') | |
| data1 = { | |
| 'sentence-transformers': ['<a href="https://huggingface.co/sentence-transformers/all-mpnet-base-v2" target="_blank">all-mpnet-base-v2</a>'], | |
| 'Pre-Trained MS MARCO Models': ['<a href="https://huggingface.co/sentence-transformers/msmarco-roberta-base-v3" target="_blank">msmarco-roberta-base-v3</a>'], | |
| } | |
| df2 = pd.DataFrame(data1) | |
| st.markdown(df2.to_html(escape=False), unsafe_allow_html=True) | |
| def show_random_books(): | |
| sample_df = df.sample(n=10) | |
| num_books = len(sample_df) | |
| num_rows = (num_books + 1) // 2 | |
| for i in range(num_rows): | |
| cols = st.columns(4) # Создаем 4 колонки | |
| for j in range(2): | |
| index = i * 2 + j | |
| if index < num_books: | |
| row = sample_df.iloc[index] | |
| if j == 0: | |
| with cols[0]: # Первая колонка (обложка первой книги) | |
| st.image(row['image_url'], width=200) | |
| with cols[1]: # Вторая колонка (информация первой книги) | |
| st.subheader(row['title']) | |
| st.write(f"Автор: {row['author']}") | |
| st.write(f"**Ссылка:** [книга]({row['page_url']})") | |
| st.write("---") | |
| elif j == 1: | |
| with cols[2]: # Третья колонка (обложка второй книги) | |
| st.image(row['image_url'], width=200) | |
| with cols[3]: # Четвертая колонка (информация второй книги) | |
| st.subheader(row['title']) | |
| st.write(f"Автор: {row['author']}") | |
| st.write(f"**Ссылка:** [книга]({row['page_url']})") | |
| if st.button('Показать 10 случайных книг'): | |
| show_random_books() |