fix: search_hybrid 改用改写后的 retrieval_query + 清理 engine.py 死代码
关键修复:
- chat_routes.py: search_hybrid(message,...) → search_hybrid(retrieval_query,...)
修复无状态模式下追问场景("那工作流程呢?")用原始模糊文本做向量检索的问题,
现在使用意图分析改写后的完整查询("货源投放的具体工作流程是什么?")
死代码清理 (Claude Code review 反馈):
- engine.py: 移除 4 处未使用的 doc_ids 变量和 2 处过时注释
This commit is contained in:
@@ -2351,7 +2351,7 @@ def rag():
|
||||
sub_queries = intent.sub_queries
|
||||
|
||||
search_result = search_hybrid(
|
||||
message,
|
||||
retrieval_query,
|
||||
top_k=RAG_SEARCH_TOP_K,
|
||||
candidates=RAG_SEARCH_CANDIDATES,
|
||||
allowed_collections=collections,
|
||||
|
||||
@@ -559,7 +559,6 @@ class RAGEngine:
|
||||
top_dist = result['distances'][0][0] if result.get('distances') and result['distances'][0] else 1.0
|
||||
top_score = 1.0 - top_dist
|
||||
if top_score >= CACHE_MIN_SCORE:
|
||||
doc_ids = result.get('ids', [[]])[0] if result.get('ids') else []
|
||||
cache.set_query_result(query, kb_name, result)
|
||||
result['_debug'] = _debug
|
||||
return result
|
||||
@@ -581,7 +580,6 @@ class RAGEngine:
|
||||
top_dist = result['distances'][0][0] if result.get('distances') and result['distances'][0] else 1.0
|
||||
top_score = 1.0 - top_dist
|
||||
if top_score >= CACHE_MIN_SCORE:
|
||||
doc_ids = result.get('ids', [[]])[0] if result.get('ids') else []
|
||||
cache.set_query_result(query, kb_name, result)
|
||||
result['_debug'] = _debug
|
||||
return result
|
||||
@@ -617,8 +615,6 @@ class RAGEngine:
|
||||
top_dist = result['distances'][0][0] if result.get('distances') and result['distances'][0] else 1.0
|
||||
top_score = 1.0 - top_dist
|
||||
if top_score >= CACHE_MIN_SCORE:
|
||||
# 传递 doc_ids 实现细粒度缓存失效
|
||||
doc_ids = result.get('ids', [[]])[0] if result.get('ids') else []
|
||||
cache.set_query_result(query, kb_name, result)
|
||||
_debug['timing']['total_ms'] = int((time.time() - _overall_start) * 1000)
|
||||
result['_debug'] = _debug
|
||||
@@ -810,8 +806,6 @@ class RAGEngine:
|
||||
top_dist = fused_results['distances'][0][0] if fused_results.get('distances') and fused_results['distances'][0] else 1.0
|
||||
top_score = 1.0 - top_dist # 距离转相似度
|
||||
if top_score >= CACHE_MIN_SCORE: # 置信度阈值
|
||||
# 传递 doc_ids 实现细粒度缓存失效
|
||||
doc_ids = fused_results.get('ids', [[]])[0] if fused_results.get('ids') else []
|
||||
cache.set_query_result(query, kb_name, fused_results)
|
||||
|
||||
fused_results['_debug'] = _debug
|
||||
|
||||
Reference in New Issue
Block a user