Files
rag/api/chat_routes.py
lacerate551 4753a53487 fix(rag): 图片描述注入安全网与 chart_contexts 宽松阈值
问题:图片/图表切片的 CrossEncoder 评分系统性偏低(0.002-0.08 vs 文本 0.3-0.9),
导致 chart_contexts 被 min_score 过滤,图片描述无法进入 LLM context。
典型案例:雷达图查询(ci=73)rerank score=0.039 < min_score=0.05,
虽然 select_images 正确选中了雷达图,但描述未出现在 LLM context 中。

修复:
1. chart_contexts 使用宽松阈值 min_score*0.5(与 table 保护逻辑一致)
   - 图片描述的 CE 分数天然偏低,不应与文本使用相同阈值
   - 实际内容相关性由 select_images 独立评分保证
2. P0 安全网:在现有图片注入代码后检查 selected_images 完整性
   - 若【相关图片信息】未生成,补注入所有选中图片描述
   - 若已有但遗漏部分图片,追加遗漏的描述
3. images_selected 调试事件增加 chunk_id/actual_score/id/desc_preview
4. P0 完整性日志:DEV 模式下检查图片描述是否完整注入 context
2026-06-21 22:41:30 +08:00

144 KiB