ที่เก็บนี้มีรหัสสำหรับ playlist2vec.com เว็บไซต์ที่สร้างขึ้นเพื่อสาธิตรูปแบบการค้นหาเวกเตอร์ที่อธิบายไว้ในบทความของเรา "การเป็นตัวแทนการสำรวจและคำแนะนำของเพลย์ลิสต์"
หมายเหตุ: การตั้งค่านี้ได้รับการทดสอบใน Ubuntu 22.04 สำหรับสถาปัตยกรรม X86_64 และ AARCH64 ทั้งสอง
ติดตั้ง nginx โดยทำตามคำแนะนำที่มีอยู่ที่: วิธีการติดตั้ง nginx บน ubuntu 22.04
คุณสามารถติดตั้ง node.js (v20.18.0) โดยอ้างถึงบทช่วยสอนนี้: วิธีการติดตั้ง node.js บน Ubuntu 22.04
เรียกใช้คำสั่งต่อไปนี้เพื่อโคลนที่เก็บ:
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 ซึ่งสามารถรวมเข้ากับบริการเช่นอุโมงค์ CloudFlare สำหรับส่วนหน้า HTTPS
โดยค่าเริ่มต้นสคริปต์บิลด์กำหนดค่าแอปพลิเคชันเพื่อใช้คลังข้อมูลรุ่นมินิซึ่งมี 377,000 รายการ ในการกำหนดค่านี้ดัชนีการค้นหาสำหรับ Mini Corpus จะถูกโหลดลงในหน่วยความจำ ในทางตรงกันข้ามดัชนีการค้นหาที่สร้างขึ้นด้วยคลังข้อมูลเต็มรูปแบบสามารถเข้าถึงได้ในโหมดการแมปหน่วยความจำ
ในการเปลี่ยนการตั้งค่านี้คุณสามารถแก้ไขไฟล์. .env ตั้งค่าตัวแปร IS_MINI เป็น false เพื่อใช้ 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