From f6a5a033468039eea4799a5c9bce7cf4d33a7c01 Mon Sep 17 00:00:00 2001 From: Azalea Gui <22280294+hykilpikonna@users.noreply.github.com> Date: Sun, 12 Jan 2025 04:38:43 -0500 Subject: [PATCH] [+] Log recommendations --- .../java/icu/samnyan/aqua/net/games/GameApiController.kt | 6 ++++-- tools/recommend.py | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) 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...")