File size: 2,715 Bytes
a23f3fb
 
a455c03
890cc34
a455c03
a23f3fb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import streamlit as st
import pandas as pd
import os
st.set_page_config(page_title="Custom Button Example", layout="wide")
credentials = os.getenv('API_KEY')


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()