Ce référentiel contient du code pour PlayList2Vec.com, un site Web conçu pour démontrer le modèle de recherche de vecteur décrit dans notre article, "Représentation, exploration et recommandation des listes de lecture".
Remarque: Cette configuration a été testée sur Ubuntu 22.04 pour les architectures x86_64 et Aarch64.
Installez Nginx en suivant le guide disponible sur: Comment installer Nginx sur Ubuntu 22.04.
Vous pouvez installer Node.js (v20.18.0) en vous référant à ce tutoriel: comment installer Node.js sur Ubuntu 22.04.
Exécutez la commande suivante pour cloner le référentiel:
git clone https://github.com/piyp791/playlist2vec.git
Accédez au répertoire du projet en fonctionnant:
cd playlist2vec
Copiez le fichier nginx/nginx.conf sur /etc/nginx/ .
Copiez le fichier nginx/site_config sur /etc/nginx/sites-available/<YOURSITENAME> .
Créez un lien symbolique des sites-available à sites-enabled avec la commande suivante:
sudo ln -s /etc/nginx/sites-available/<YOURSITENAME> /etc/nginx/sites-enabled/
Supprimez le fichier de configuration par défaut en exécutant:
sudo rm /etc/nginx/sites-enabled/default
Créez un répertoire de cache pour Nginx:
sudo mkdir /var/cache/nginx
Vérifiez que la configuration est correcte en fonctionnant:
sudo nginx -t
Redémarrez Nginx avec la commande:
sudo systemctl restart nginx
Depuis le répertoire du projet, exécutez le script de construction:
./build.sh.
Cela créera une version HTTP du site Web, qui peut être intégrée à un service comme un tunnel CloudFlare pour un frontend HTTPS.
Par défaut, le script de construction configure l'application pour utiliser la mini version du corpus, qui contient 377 000 éléments. Dans cette configuration, l'index de recherche du mini corpus est chargé dans la mémoire. En revanche, l'index de recherche construit avec le corpus complet est accessible en mode mappé de mémoire.
Pour modifier ce paramètre, vous pouvez modifier le fichier .env . Définissez la variable IS_MINI sur false pour utiliser la version complète du corpus:
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