Этот репозиторий содержит код для Playlist2vec.com, веб -сайта, созданного для демонстрации модели векторного поиска, описанной в нашей статье, «Представление, исследование и рекомендация плейлистов».
Примечание. Эта настройка была протестирована на Ubuntu 22.04 как для архитектур x86_64, так и для Aarch64.
Установите Nginx, следуя руководству, доступному по адресу: Как установить Nginx на Ubuntu 22.04.
Вы можете установить node.js (v20.18.0), ссылаясь на это руководство: Как установить node.js на Ubuntu 22.04.
Запустите следующую команду, чтобы клонировать репозиторий:
git clone https://github.com/piyp791/playlist2vec.git
Перейдите к каталогу проекта, работая:
cd playlist2vec
Скопируйте файл nginx/nginx.conf в /etc/nginx/ .
Скопируйте файл nginx/site_config в /etc/nginx/sites-available/<YOURSITENAME> .
Создайте символическую ссылку с sites-available для sites-enabled следующей команды:
sudo ln -s /etc/nginx/sites-available/<YOURSITENAME> /etc/nginx/sites-enabled/
Удалить файл конфигурации по умолчанию, выполнив:
sudo rm /etc/nginx/sites-enabled/default
Создайте каталог кэша для Nginx:
sudo mkdir /var/cache/nginx
Убедитесь, что конфигурация верна, работая:
sudo nginx -t
Перезапустите Nginx с помощью команды:
sudo systemctl restart nginx
Из каталога проекта выполните скрипт сборки:
./build.sh.
Это создаст HTTP -версию веб -сайта, которая может быть интегрирована с такой сервисом, как туннель CloudFlare для фронта HTTPS.
По умолчанию сценарий сборки настраивает приложение для использования мини -версии корпуса, которая содержит 377 000 пунктов. В этой конфигурации индекс поиска для мини -корпуса загружается в память. В отличие от этого, индекс поиска, созданный с полным корпусом, доступен в режиме отображения памяти.
Чтобы изменить этот параметр, вы можете изменить файл .env . Установите переменную IS_MINI на false , чтобы использовать полную версию корпуса:
IS_MINI=false
cd search-service
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn src.server:app --port 3001
cd autocomplete-service
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn src.server:app --port 3002
cd web-server
npm install
npm run start-dev-mode
cd web-server
npm run test-dev
Papreja, P., Venkateswara, H., Panchanathan, S. (2020). Representation, Exploration and Recommendation of Playlists. In: Cellier, P., Driessens, K. (eds) Machine Learning and Knowledge Discovery in Databases. ECML PKDD 2019. Communications in Computer and Information Science, vol 1168. Springer, Cham. https://doi.org/10.1007/978-3-030-43887-6_50