Este repositorio contiene código para LIST2VEC.com, un sitio web creado para demostrar el modelo de búsqueda vectorial descrito en nuestro documento, "Representación, exploración y recomendación de listas de reproducción".
Nota: Esta configuración se ha probado en Ubuntu 22.04 para arquitecturas X86_64 y Aarch64.
Instale Nginx siguiendo la guía disponible en: Cómo instalar Nginx en Ubuntu 22.04.
Puede instalar Node.js (V20.18.0) refiriéndose a este tutorial: Cómo instalar Node.js en Ubuntu 22.04.
Ejecute el siguiente comando para clonar el repositorio:
git clone https://github.com/piyp791/playlist2vec.git
Navegue al directorio del proyecto ejecutando:
cd playlist2vec
Copie el archivo nginx/nginx.conf a /etc/nginx/ .
Copie el archivo nginx/site_config a /etc/nginx/sites-available/<YOURSITENAME> .
Cree un enlace simbólico desde sites-available a sites-enabled con el siguiente comando:
sudo ln -s /etc/nginx/sites-available/<YOURSITENAME> /etc/nginx/sites-enabled/
Elimine el archivo de configuración predeterminado ejecutando:
sudo rm /etc/nginx/sites-enabled/default
Cree un directorio de caché para Nginx:
sudo mkdir /var/cache/nginx
Verificar que la configuración sea correcta ejecutando:
sudo nginx -t
Reinicie Nginx con el comando:
sudo systemctl restart nginx
Desde dentro del directorio del proyecto, ejecute el script de compilación:
./build.sh.
Esto creará una versión HTTP del sitio web, que puede integrarse con un servicio como un túnel CloudFlare para un HTTPS frontend.
De manera predeterminada, el script de compilación configura la aplicación para usar la versión mini del corpus, que contiene 377,000 elementos. En esta configuración, el índice de búsqueda para el mini corpus se carga en la memoria. Por el contrario, se accede al Corpus completo construido con Corpus completo en modo mapeado de memoria.
Para cambiar esta configuración, puede modificar el archivo .env . Establezca la variable IS_MINI en false para usar la versión completa del 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