Avoid overstating fallback AI bulletin reads
The city decision fallback path is generated when the full DeepSeek city-airport read has not completed, so the reasoning copy now labels the state as fast evidence mode instead of saying the AI read is normal. Constraint: Fallback output may use only DEB, model cluster, and latest observation evidence Rejected: Keep 'AI read normal' wording | it implies a completed AI interpretation when the fallback path is active Confidence: high Scope-risk: narrow Tested: pytest tests/test_web_observability.py::test_city_ai_fallback_reasoning_identifies_fast_evidence_mode tests/test_web_observability.py::test_city_ai_partial_json_trims_dangling_taf_clause tests/test_web_observability.py::test_city_ai_schema_completion_trims_dangling_taf_clause -q
This commit is contained in:
+1
-1
@@ -3,7 +3,7 @@
|
||||
## 1.5.5 - 2026-04-27
|
||||
|
||||
- 城市决策卡新增 AI 机场报文解读缓存说明:页面内存缓存保留 loading / 流式片段 / 最终结果,`localStorage` 保存最终成功 payload,后端 AI 缓存不再因 `local_time` 变化失效
|
||||
- 城市决策卡兜底文案明确为“AI 机场报文解读正常”,不再使用“AI 增强可后补 / 不阻塞”这类容易被误解为 AI 未解读的表述
|
||||
- 城市决策卡兜底文案明确标记“快速证据模式”,避免在 DeepSeek 未完整返回时误写成“AI 机场报文解读正常”
|
||||
- 城市决策卡市场层改用完整 `all_buckets` 并严格识别 exact / range / or higher / or lower 温度桶方向,避免最高温中枢错配到不合理尾部桶
|
||||
- 温度桶标签统一规范化 `C/F/°C/°F`,修复 `31°°C` 这类重复单位展示
|
||||
- 决策卡展示文案将“概率差”收口为“模型-市场差”,明确口径为 `模型概率 - 市场隐含概率`
|
||||
|
||||
@@ -100,7 +100,7 @@ def test_metrics_endpoint_returns_prometheus_payload():
|
||||
assert 'polyweather_http_requests_total' in response.text
|
||||
|
||||
|
||||
def test_city_ai_fallback_reasoning_says_ai_read_is_normal():
|
||||
def test_city_ai_fallback_reasoning_identifies_fast_evidence_mode():
|
||||
payload = scan_terminal_service._build_city_ai_fallback(
|
||||
{
|
||||
"city_display_name": "Tokyo",
|
||||
@@ -128,7 +128,9 @@ def test_city_ai_fallback_reasoning_says_ai_read_is_normal():
|
||||
reason="preview",
|
||||
)
|
||||
|
||||
assert "AI 机场报文解读正常" in payload["reasoning_zh"]
|
||||
assert "当前为快速证据模式" in payload["reasoning_zh"]
|
||||
assert "完整 AI 机场报文解读返回后再合并" in payload["reasoning_zh"]
|
||||
assert "AI 机场报文解读正常" not in payload["reasoning_zh"]
|
||||
assert "后补" not in payload["reasoning_zh"]
|
||||
assert "AI 增强可作为后续补充" not in payload["reasoning_zh"]
|
||||
|
||||
|
||||
@@ -720,12 +720,12 @@ def _build_city_ai_fallback(
|
||||
reasoning_zh = str(partial_ai.get("reasoning_zh") or "").strip() or (
|
||||
f"AI {bulletin_zh}解读已用于校准日内节奏;DEB 与多模型集合继续约束最高温中枢,后续{source_name_zh}用于确认是否需要上调或下修。"
|
||||
if partial_ai
|
||||
else f"AI {bulletin_zh}解读正常;当前结合 DEB、多模型集合和最新{source_name_zh},共同支撑本轮最高温中枢判断。"
|
||||
else f"当前为快速证据模式;DEB、多模型集合和最新{source_name_zh}共同支撑本轮最高温中枢,完整 AI {bulletin_zh}解读返回后再合并。"
|
||||
)
|
||||
reasoning_en = str(partial_ai.get("reasoning_en") or "").strip() or (
|
||||
f"The AI {bulletin_en} read is already used to calibrate the intraday pace; DEB and the model cluster still constrain the high-temperature center, while later {source_name_en} updates confirm whether to revise it."
|
||||
if partial_ai
|
||||
else f"The AI {bulletin_en} read is available; DEB, the model cluster and latest {source_name_en} jointly support the current daily-high center."
|
||||
else f"This is the fast evidence mode; DEB, the model cluster and latest {source_name_en} jointly support the current daily-high center, and the full AI {bulletin_en} read will be merged when available."
|
||||
)
|
||||
risks_zh = [f"后续{source_name_zh}若明显偏离模型路径,需及时修正最高温中枢。"]
|
||||
risks_en = [f"If later {source_name_en} updates diverge from the model path, revise the daily-high center promptly."]
|
||||
|
||||
Reference in New Issue
Block a user