Este repositório contém código para playlist2vec.com, um site criado para demonstrar o modelo de pesquisa vetorial descrito em nosso artigo, "Representação, exploração e recomendação de listas de reprodução".
NOTA: Esta configuração foi testada no Ubuntu 22.04 para arquiteturas x86_64 e aarch64.
Instale o NGINX seguindo o guia disponível em: Como instalar o nginx no Ubuntu 22.04.
Você pode instalar o Node.js (v20.18.0) referindo -se a este tutorial: como instalar o Node.js no Ubuntu 22.04.
Execute o seguinte comando para clonar o repositório:
git clone https://github.com/piyp791/playlist2vec.git
Navegue até o diretório do projeto executando:
cd playlist2vec
Copie o arquivo nginx/nginx.conf para /etc/nginx/ .
Copie o arquivo nginx/site_config para /etc/nginx/sites-available/<YOURSITENAME> .
Crie um link simbólico de sites-available para sites-enabled para o seguinte comando:
sudo ln -s /etc/nginx/sites-available/<YOURSITENAME> /etc/nginx/sites-enabled/
Remova o arquivo de configuração padrão executando:
sudo rm /etc/nginx/sites-enabled/default
Crie um diretório de cache para o nginx:
sudo mkdir /var/cache/nginx
Verifique se a configuração está correta em execução:
sudo nginx -t
Reinicie o nginx com o comando:
sudo systemctl restart nginx
De dentro do diretório do projeto, execute o script de construção:
./build.sh.
Isso criará uma versão HTTP do site, que pode ser integrada a um serviço como um túnel Cloudflare para um front -end HTTPS.
Por padrão, o script de construção configura o aplicativo para usar a mini versão do corpus, que contém 377.000 itens. Nesta configuração, o índice de pesquisa do mini corpus é carregado na memória. Por outro lado, o índice de pesquisa criado com o corpus completo é acessado no modo mapeado de memória.
Para alterar essa configuração, você pode modificar o arquivo .env . Defina a variável IS_MINI como false para usar a versão completa do 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