fix: 调整相似度阈值以优化知识库检索逻辑

- 将多个地方的相似度阈值从0.5降低至0.45,以提高知识库结果的相关性匹配
- 更新相关数据库文件和二进制数据,确保数据一致性
This commit is contained in:
eason 2026-01-30 16:56:10 +08:00
parent e308e9d2f2
commit a523dd5151
4 changed files with 4 additions and 4 deletions

Binary file not shown.

View File

@ -89,7 +89,7 @@ async def agent_chat(
results = all_results[: body.top_k]
max_score = _score(results[0]) if results else 0.0
if results and max_score >= 0.5:
if results and max_score >= 0.45:
knowledge_base_used = True
first_kb_id_used = kb_ids[0]
refs = []
@ -243,7 +243,7 @@ async def agent_chat_stream(
results = all_results[: body.top_k]
max_score = _score(results[0]) if results else 0.0
if results and max_score >= 0.5:
if results and max_score >= 0.45:
knowledge_base_used = True
refs = []
for i, r in enumerate(results[:5], 1):

View File

@ -730,7 +730,7 @@ class WorkflowEngine:
if score > max_score:
max_score = score
is_relevant = max_score >= 0.5
is_relevant = max_score >= 0.45
if is_relevant:
# 有相关的知识库结果,构建 RAG 风格的提示词
@ -1310,7 +1310,7 @@ class WorkflowEngine:
query = config.get('query', '')
top_k = config.get('top_k', config.get('topK', 5))
similarity_threshold = config.get('similarity_threshold', config.get('similarityThreshold', 0.7))
similarity_threshold = config.get('similarity_threshold', config.get('similarityThreshold', 0.45))
# 如果还是没有,尝试从节点名称中提取(例如 "knowledge-base 2" -> 2
if not knowledge_base_id: