Commit
•
d746d0c
1
Parent(s):
e42dfb8
Update app.py
Browse files
app.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
import streamlit as st
|
2 |
from pages.rubert.app_bert import ruBert_page
|
3 |
from pages.mpnet_base.mpnet_base_app import mpnet_base_page
|
|
|
4 |
|
5 |
st.markdown("""
|
6 |
<style>
|
@@ -46,74 +47,6 @@ st.markdown("""
|
|
46 |
</style>
|
47 |
""", unsafe_allow_html=True)
|
48 |
|
49 |
-
def app_description_page():
|
50 |
-
st.image('data/2024-04-19 14.05.03.jpg', use_column_width=True)
|
51 |
-
st.markdown("""
|
52 |
-
<style>
|
53 |
-
/* Пользовательские стили */
|
54 |
-
.title-shadow {
|
55 |
-
font-weight: bold;
|
56 |
-
font-size: 26px; /* Уменьшен размер шрифта для заголовка */
|
57 |
-
color: #333333; /* Темно-серый цвет для заголовка */
|
58 |
-
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); /* Слегка заметная тень для заголовка */
|
59 |
-
}
|
60 |
-
.text-content {
|
61 |
-
font-size:18px;
|
62 |
-
color: #333333; /* Темно-серый цвет для лучшего контраста */
|
63 |
-
}
|
64 |
-
.subtitle {
|
65 |
-
font-size:22px; /* Размер шрифта для подзаголовка */
|
66 |
-
color: #333333; /* Цвет подзаголовка */
|
67 |
-
}
|
68 |
-
hr {
|
69 |
-
border: none;
|
70 |
-
height: 3px; /* Более толстая линия для разделения */
|
71 |
-
background: #CCCCCC; /* Светло-серая линия */
|
72 |
-
margin: 24px 0; /* Большой отступ после линии */
|
73 |
-
}
|
74 |
-
.team-title {
|
75 |
-
font-size:20px; /* Размер шрифта для названия команды */
|
76 |
-
color: #333333; /* Цвет для названия команды */
|
77 |
-
margin-bottom: 0.5em; /* Отступ перед списком команды */
|
78 |
-
}
|
79 |
-
</style>
|
80 |
-
""", unsafe_allow_html=True)
|
81 |
-
# Title of the app
|
82 |
-
st.markdown("<h1 style='text-align: center; color: #333333;'>Приложение для Рекомендации Книг</h1>", unsafe_allow_html=True)
|
83 |
-
# Description of the app
|
84 |
-
st.write("Это приложение предлагает подборку книг, основываясь на вводе пользователя. Введите желаемое описание книги, и система порекомендует подходящие книги.")
|
85 |
-
# Project description subtitle
|
86 |
-
st.markdown("<h2 style='color: #333333;'>📚 Описание проекта</h2>", unsafe_allow_html=True)
|
87 |
-
# Points about the project
|
88 |
-
st.markdown("""
|
89 |
-
**1. Парсинг данных с сайта Библио-Глобус:**
|
90 |
-
- Информация о книгах различных жанров собирается с помощью веб-парсера.
|
91 |
-
- Создается словарь жанров для систематизированного сбора данных.
|
92 |
-
- Около 5,000 книг собраны в базу данных приложения.
|
93 |
-
|
94 |
-
**2. Создание модели:**
|
95 |
-
- Модель SentenceTransformer (sentence-transformers/all-mpnet-base-v2) и библиотека FAISS (IndexFlatIP) используются для оптимизированного поиска по сходству.
|
96 |
-
- IndexFlatIP идеально подходит для работы с многомерными векторами, которые представляют аннотации книг.
|
97 |
-
- Обеспечивает быстрый и точный поиск на основе косинусного сходства.
|
98 |
-
- Модель cointegrated/rubert-tiny2 применяется для оценки сходства текстов.
|
99 |
-
|
100 |
-
**Преимущества косинусного сходства:**
|
101 |
-
- Нечувствительность метрики к длине векторов обеспечивает точное сравнение текстов разной длины.
|
102 |
-
- Возможность высокоточной оценки семантического сходства между текстами.
|
103 |
-
|
104 |
-
**3. Развертывание приложения на Streamlit:**
|
105 |
-
- Удобный интерфейс пользователя разработан с использованием Streamlit.
|
106 |
-
- Приложение размещено через Hugging Face, делая его доступным для пользователей по всему миру.
|
107 |
-
""")
|
108 |
-
st.markdown("<div class='team-title'>🦄 Dream Team</div>", unsafe_allow_html=True)
|
109 |
-
st.markdown("""
|
110 |
-
<div class='text-content'>
|
111 |
-
- Вероника Белова<br>
|
112 |
-
- Ольга Шеина<br>
|
113 |
-
- Валерия Николаева<br>
|
114 |
-
</div>
|
115 |
-
""", unsafe_allow_html=True)
|
116 |
-
|
117 |
def main():
|
118 |
st.sidebar.title("Book app")
|
119 |
page = st.sidebar.radio("Select page:", ["About Project", "📚 Book search", "🔍 Book search (faiss)"])
|
|
|
1 |
import streamlit as st
|
2 |
from pages.rubert.app_bert import ruBert_page
|
3 |
from pages.mpnet_base.mpnet_base_app import mpnet_base_page
|
4 |
+
from data.description import app_description_page
|
5 |
|
6 |
st.markdown("""
|
7 |
<style>
|
|
|
47 |
</style>
|
48 |
""", unsafe_allow_html=True)
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
def main():
|
51 |
st.sidebar.title("Book app")
|
52 |
page = st.sidebar.radio("Select page:", ["About Project", "📚 Book search", "🔍 Book search (faiss)"])
|