From 91b5665e279b996825e612051dfcb385cf559e23 Mon Sep 17 00:00:00 2001 From: youpaishidifu Date: Fri, 18 Sep 2026 20:48:22 +0800 Subject: [PATCH] =?UTF-8?q?Task=20#1742:=20=E4=BF=AE=E5=A4=8D=E5=A5=96?= =?UTF-8?q?=E5=8A=B1=E9=85=8D=E7=BD=AE=E6=9F=A5=E8=AF=A2=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=9B=9E=E6=94=B6=E6=9D=A1=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:用户查询'宝箱的奖励怎么配置啊?'时,系统返回'奖励回收&宝箱回收'section而非'奖励配置'section。 根因:查询包含'宝箱','奖励回收&宝箱回收'heading含'宝箱'获得heading_hits加分,导致分数更高。 修复:在knowledge_base.py中添加配置意图加权——当查询包含'怎么配置/如何配置/配置方法'等配置意图词时, heading含'配置'的section获得4.0x加权,确保配置相关答案优先返回。 --- knowledge_base.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/knowledge_base.py b/knowledge_base.py index 5896834..8b17565 100644 --- a/knowledge_base.py +++ b/knowledge_base.py @@ -664,6 +664,13 @@ class KnowledgeBase: if (any(w in query_stripped for w in ('怎么用', '如何使用', '使用方法', '使用步骤', '使用教程', '怎么使用')) and '使用方法' in heading_clean): combined_scores[i] *= 4.0 + # ⭐ 配置意图加权:查询含"怎么配置/如何配置/配置方法"等,heading含"配置"的section加权 + # 修复"宝箱的奖励怎么配置啊?"被"奖励回收&宝箱回收"section压过"奖励配置"section的问题 + # 根因:查询含"宝箱","奖励回收&宝箱回收"heading含"宝箱"获得heading_hits加分, + # 而"奖励配置"heading不含"宝箱"。配置意图应优先返回配置相关答案。 + if (any(w in query_stripped for w in ('怎么配置', '如何配置', '配置方法', '配置步骤', '配置教程', '怎么设置', '如何设置')) + and '配置' in heading_clean): + combined_scores[i] *= 4.0 # ⭐ 兑换码插件特殊加权:查询含"兑换码插件"且文档标题含"sdf1"→ 巨幅加权 # 修复"兑换码插件怎么用"被"CDK管理"section压过的问题 if ('兑换码插件' in query_stripped and 'sdf1' in doc.get('title', '').lower()):