diff --git a/src/main/java/icu/samnyan/aqua/net/games/GameApiController.kt b/src/main/java/icu/samnyan/aqua/net/games/GameApiController.kt index 59e3f5fb..d55c1d6e 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/GameApiController.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/GameApiController.kt @@ -209,13 +209,15 @@ abstract class GameApiController(val name: String, userDataClass: SELECT user_id, music_id, count(*) as count FROM ${tableName}_user_playlog_view GROUP BY user_id, music_id; - """.trimIndent()).exec.numCsv("user_id", "music_id", "count") + """.trimIndent()).exec.also { + logger.info("Recommender fetched ${it.size} plays") + }.numCsv("user_id", "music_id", "count") } @API("recommender-update") fun recommenderUpdate(@RP botSecret: String, @RB data: Map>) { if (botSecret != botProps.secret) 403 - "Invalid Secret" - recommendedMusic = data + logger.info("Recommender updated with ${data.size} users") } } diff --git a/tools/recommend.py b/tools/recommend.py index d8d1f723..10c475c6 100644 --- a/tools/recommend.py +++ b/tools/recommend.py @@ -2,6 +2,7 @@ This is a music recommendation system for maimai2 using implicit ALS. """ import json +from io import StringIO from pathlib import Path import pandas as pd @@ -12,7 +13,7 @@ from hypy_utils.logging_utils import setup_logger BASE_URL = "https://aquadx.net/aqua/api/v2/game" GAME = "mai2" -BOT_SECRET = "meow" +BOT_SECRET = "hunter2" log = setup_logger() @@ -23,7 +24,7 @@ if __name__ == '__main__': # data = pd.read_csv("data.csv") resp = requests.get(f"{BASE_URL}/{GAME}/recommender-fetch", params={"botSecret": BOT_SECRET}) assert resp.status_code == 200, f"Failed to fetch data: {resp.status_code} {resp.text}" - data = pd.read_csv(resp.text) + data = pd.read_csv(StringIO(resp.text)) # Create a user-item matrix log.info("Creating user-item matrix...")