From dd0b7b0ede1b6f8b191417ec718bda4ef90417cf Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Sun, 1 Mar 2026 19:00:51 +0800 Subject: [PATCH] fix: cast JSON values to float in /deb to prevent str-int type errors --- bot_listener.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bot_listener.py b/bot_listener.py index 1cb9ca9c..e6d0c135 100644 --- a/bot_listener.py +++ b/bot_listener.py @@ -434,10 +434,14 @@ def start_bot(): if actual is None: continue + try: + actual = float(actual) + if deb_pred is not None: deb_pred = float(deb_pred) + except: continue # 如果没有存 DEB 预测值,用当天各模型平均值回算 if deb_pred is None and forecasts: - valid_preds = [v for v in forecasts.values() if v is not None] + valid_preds = [float(v) for v in forecasts.values() if v is not None] if valid_preds: deb_pred = round(sum(valid_preds) / len(valid_preds), 1) @@ -469,7 +473,7 @@ def start_bot(): if pred is not None: if model not in model_errors: model_errors[model] = [] - model_errors[model].append(abs(pred - actual)) + model_errors[model].append(abs(float(pred) - actual)) # 汇总 if total_days > 0: