playlist2vec
v1.2.0
該存儲庫包含playlist2vec.com的代碼,該網站旨在演示我們的論文中描述的矢量搜索模型,“播放列表的代表,探索和建議”。
注意:此設置已在Ubuntu 22.04上進行了X86_64和AARCH64架構的測試。
通過以下可用的指南安裝NGINX:如何在Ubuntu上安裝NGINX 22.04。
您可以通過參考本教程:如何在Ubuntu 22.04上安裝Node.js來安裝Node.js(v20.18.0)。
運行以下命令以克隆存儲庫:
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版本,該版本可以與HTTPS前端的CloudFlare隧道之類的服務集成。
默認情況下,構建腳本將應用程序配置為使用Mini版本的語料庫,其中包含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