fix(kb): section级搜索+意图排序+分词级匹配修复短查询与跨section排序

1. knowledge_base.py:
   - 文档按 ## 标题切分为独立 section 后索引,每个 section 独立 TF-IDF
   - 分词级匹配(避免"定义"子串匹配"自定义"的假阳性)
   - 文档级优先排序:先按文档聚合,取最高 section 分决定最佳文档
   - 定义类查询(版号/版本号/定义):自动降权无定义类 section 的文档
   - 动作类查询(怎么/如何/用法):按优先级找"参数/指令/使用"→"方法"→"安装" heading
   - 预计算 heading/body 分词集合,避免每次搜索重复 jieba
   - 修复 SYNONYMS 重复 key

2. auto_reply.py:
   - 精简答案提取:section 级搜索后 doc['content'] 即最相关片段
   - 移除冗余的 _extract_relevant_snippet(重复 jieba 分词+section 切分)

3. monitor.py:
   - 增加微信/QQ UI 噪声过滤(通讯录、发现、朋友圈等)
This commit is contained in:
youpaishidifu
2026-07-27 14:17:51 +08:00
parent 1441278082
commit 8894124b0a
3 changed files with 256 additions and 46 deletions
+9 -1
View File
@@ -1240,11 +1240,19 @@ class MessageMonitor:
for m in system_markers:
if text.startswith(m):
return True
# ⭐ QQ NT 界面噪声文字(按钮/提示/碎片,非用户消息)
# ⭐ QQ/微信 界面噪声文字(按钮/提示/碎片/导航,非用户消息)
qq_ui_noise = [
"查看更多", "可查看在其他设备产生的聊天记录",
"收藏", "转发", "多选", "引用", "回复",
"选择会话开始聊天",
# 微信底部导航
"通讯录", "发现", "我", "消息", "朋友圈",
# 微信/QQ 顶部/侧边
"搜索", "添加到表情", "更多",
# QQ 空间/动态
"空间", "动态", "说说", "日志", "相册",
# 通用 UI
"发送", "接收", "取消", "确认", "确定", "关闭",
]
for n in qq_ui_noise:
if text == n: