이 리포지토리에는 논문에 설명 된 벡터 검색 모델, "표현, 탐색 및 재생 목록의 권장"을 데모하기 위해 구축 된 웹 사이트 인 Playlist2Vec.com의 코드가 포함되어 있습니다.
참고 :이 설정은 X86_64 및 AARCH64 아키텍처에 대해 Ubuntu 22.04에서 테스트되었습니다.
Ubuntu 22.04에 nginx를 설치하는 방법에 따라 Nginx를 설치하십시오.
이 튜토리얼 : 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 터널과 같은 서비스와 통합 될 수 있습니다.
기본적으로 빌드 스크립트는 응용 프로그램이 377,000 개가 포함 된 코퍼스의 미니 버전을 사용하도록 구성합니다. 이 구성에서는 미니 코퍼스의 검색 인덱스가 메모리에로드됩니다. 대조적으로, 전체 코퍼스로 구축 된 검색 인덱스는 메모리 매핑 모드에서 액세스됩니다.
이 설정을 변경하려면 .env 파일을 수정할 수 있습니다. Corpus의 정식 버전을 사용하려면 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