File size: 2,980 Bytes
f341569
 
 
 
 
 
 
 
 
 
 
 
0a58212
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f341569
 
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
---
title: Books Recommendation
emoji: 📉
colorFrom: blue
colorTo: yellow
sdk: streamlit
sdk_version: 1.37.1
app_file: app.py
pinned: false
license: apache-2.0
---

# Умный поиск книг

## Описание проекта

Проект "Умный поиск книг" предназначен для улучшения поиска книг в интернет-магазине. В рамках этого проекта была разработана система поиска, которая учитывает аннотации книг, что позволяет находить наиболее подходящие книги по запросу пользователя.

Система использует парсинг аннотаций с сайта [Читай-город](https://www.chitai-gorod.ru) для построения базы данных и позволяет искать книги по описанию, предоставленному пользователем. Для улучшения поиска используются две модели:

- **Симметричный поиск**: модель `all-mpnet-base-v2`
- **Асимметричный поиск**: модель `msmarco-roberta-base-v3`

## Функционал

1. **Поиск книг по описанию**: Пользователь вводит описание книги, и система возвращает список наиболее подходящих книг.
2. **Интерфейс пользователя**: Демо-версия сервиса развернута через Streamlit. Интерфейс позволяет вводить запросы и получать результаты поиска.
3. **Два типа поиска**:
   - Симметричный: поиск на основе модели `all-mpnet-base-v2`
   - Асимметричный: поиск на основе модели `msmarco-roberta-base-v3`

## Инструкции по запуску

### Предварительные требования

Перед запуском сервиса убедитесь, что у вас установлены следующие компоненты:

- Python 3.7 или новее
- `pip` для установки зависимостей

### Установка зависимостей

1. Клонируйте репозиторий:

   ```bash
   git clone https://github.com/yourusername/your-repo.git

2. Установите зависимости:

   ```bash
   pip install -r requirements.txt


### Запуск приложения

1. Убедитесь, что у вас есть все необходимые модели и данные. Модели можно загрузить при помощи SentenceTransformer, а данные можно взять из папки Data.

2. Запустите приложение Streamlit:

   ```bash
   streamlit run app.py