修复下载类查询牛头不对马嘴复发:文档无下载token时拒绝
问题:用户问在哪儿能下到那个登录插件,bot回复了protect文档的操作方式表格, 因为该文档heading含登录插件但body是操作方式,与下载无关。 修复:在_has_content_relevance方法中新增下载类查询额外防御—— 当查询含下载意图词(下载/下到/哪下/在哪下/怎么下)时, 若文档全文(heading+title+body前800字)不含下载token, 直接拒绝该文档,防止牛头不对马嘴。 同时保留原有下载意图检查(heading含下载时放行),确保sdf1_login等下载文档正常匹配。 Task #1582
This commit is contained in:
@@ -418,6 +418,12 @@ class AutoReply:
|
|||||||
logger.debug(f"下载意图放行: query={query[:30]!r} heading={heading[:30]!r}")
|
logger.debug(f"下载意图放行: query={query[:30]!r} heading={heading[:30]!r}")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
# 下载类查询额外防御:文档必须含"下载"相关token,否则牛头不对马嘴
|
||||||
|
if any(w in query for w in ('下载', '下到', '哪下', '在哪下', '怎么下')):
|
||||||
|
if '下载' not in doc_text:
|
||||||
|
logger.debug(f"下载查询文档无下载token拒绝: query={query[:40]!r} doc_heading={heading[:30]!r}")
|
||||||
|
return False
|
||||||
|
|
||||||
# ⭐ 核心词零命中拒绝:核心词存在但全部未命中文档 → 无条件拒绝
|
# ⭐ 核心词零命中拒绝:核心词存在但全部未命中文档 → 无条件拒绝
|
||||||
# 防止 has_ht=True(仅因通用词如"下载"命中heading)但真正核心词(如"登录")未命中时误放行
|
# 防止 has_ht=True(仅因通用词如"下载"命中heading)但真正核心词(如"登录")未命中时误放行
|
||||||
if core_kw and core_hits == 0:
|
if core_kw and core_hits == 0:
|
||||||
|
|||||||
Reference in New Issue
Block a user