From e2bea367a154a513d95f807e89646cb3ec0aa877 Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Sun, 10 May 2026 17:06:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=A1=E5=87=86=E6=BC=82=E7=A7=BB=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=20+=20=E6=9B=B4=E6=96=B0=E6=9E=B6=E6=9E=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - core.py:drift.drifted=true 时输出 loguru warning,包含 delta% 和 sample 数量 - data-architecture-review.md:标记 2 项误诊(METAR TTL 实际 600s、轮询已有 AbortController 保护) - 剩余真正待办:校准自动重训练(需算力)、缓存键细化(低优先级) --- docs/data-architecture-review.md | 12 ++++++------ web/core.py | 6 ++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/data-architecture-review.md b/docs/data-architecture-review.md index ab072ce3..e9eb68e6 100644 --- a/docs/data-architecture-review.md +++ b/docs/data-architecture-review.md @@ -98,9 +98,9 @@ EMOS 线性回归校准 raw distribution,支持 `legacy` / `emos_shadow` / `em ## 六、待办 -| # | 问题 | 优先级 | -|---|------|------| -| 1 | 校准系数需手动重新训练(数据分布变化时 CRPS 漂移) | 🟡 | -| 2 | METAR TTL 60s 过于激进 | 🟡 | -| 3 | 缓存键过粗 — 微小变化触发完整重算 | 🟢 | -| 4 | 扫描终端 10min 轮询与 35s 超时可能堆积 pending 请求 | 🟢 | +| # | 问题 | 优先级 | 说明 | +|---|------|------|------| +| 1 | 校准系数需手动重新训练 | 🟡 | 漂移检测已有,但自动触发重训练需要 GPU/算力资源 | +| 2 | 缓存键过粗 — `city::mode` 粒度 | 🟢 | 微小温度变化触发完整重算,可考虑内容 hash 键 | + +> 注:原审查中 METAR TTL 60s 实际为 600s(误诊);扫描终端轮询已有 `AbortController` + `requestSeq` 保护(误诊)。 diff --git a/web/core.py b/web/core.py index b5067a07..2de58e53 100644 --- a/web/core.py +++ b/web/core.py @@ -508,6 +508,12 @@ def _probability_summary() -> Dict[str, Any]: records.append(rec) if records: drift = check_calibration_drift(records) + if drift.get("drifted"): + logger.warning( + "Calibration drift detected: {} — {}", + drift.get("warning") or "CRPS degraded", + f"delta={drift.get('delta_pct')}% samples={drift.get('sample_count')}", + ) except Exception: pass return {