このリポジトリには、Playlist2vec.comのコードが含まれています。これは、「プレイリストの表現、探索、推奨」で説明されているベクトル検索モデルをデモするために構築されたWebサイトです。
注:このセットアップは、X86_64とAARCH64アーキテクチャの両方でUbuntu 22.04でテストされています。
Ubuntu 22.04にNginxをインストールする方法を使用できるガイドをフォローして、Nginxをインストールします。
このチュートリアルを参照して、node.js(v20.18.0)をインストールできます:ubuntu 22.04にnode.jsをインストールする方法。
次のコマンドを実行して、リポジトリをクローンします。
git clone https://github.com/piyp791/playlist2vec.git
実行して、プロジェクトディレクトリに移動します。
cd playlist2vec
nginx/nginx.confファイルを/etc/nginx/にコピーします。
nginx/site_configファイルを/etc/nginx/sites-available/<YOURSITENAME>にコピーします。
次のコマンドを使用して、サイトからsites-enabledをsites-availableからサイトへのシンボリックリンクを作成します。
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.
これにより、HTTPSフロントエンド用のCloudFlareトンネルのようなサービスと統合できるWebサイトのHTTPバージョンが作成されます。
デフォルトでは、ビルドスクリプトは、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