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