重构:移除对 debug_info 的依赖,只使用新的结构化状态字段
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Has been cancelled
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Has been cancelled
This commit is contained in:
@@ -48,8 +48,8 @@ async def _rag_retrieve_core(state: MainGraphState, pipeline) -> MainGraphState:
|
||||
"""执行 RAG 检索的核心逻辑"""
|
||||
retrieval_query = state.user_query
|
||||
|
||||
# 优先使用推理结果中的优化查询
|
||||
reasoning_result = state.debug_info.get("reasoning_result")
|
||||
# 优先使用推理结果中的优化查询 - 从新的结构化字段获取
|
||||
reasoning_result = state.react_reasoning.reasoning_result
|
||||
if reasoning_result and hasattr(reasoning_result, "retrieval_config"):
|
||||
cfg = reasoning_result.retrieval_config
|
||||
if cfg and cfg.retrieval_query:
|
||||
@@ -67,8 +67,7 @@ async def _rag_retrieve_core(state: MainGraphState, pipeline) -> MainGraphState:
|
||||
state.rag_docs = documents # 保存文档用于置信度评估
|
||||
state.rag_retrieved = bool(documents) # 有文档才算检索成功
|
||||
state.rag_attempts = getattr(state, 'rag_attempts', 0) + 1
|
||||
state.debug_info["rag_source"] = "pipeline"
|
||||
state.debug_info["rag_scores"] = pipeline.last_scores # 保存分数信息
|
||||
# 移除对 debug_info 的依赖,不再保存 rag_scores
|
||||
|
||||
return state
|
||||
|
||||
@@ -148,16 +147,7 @@ async def _evaluate_rag_confidence(state: MainGraphState) -> float:
|
||||
|
||||
|
||||
def _get_embedding_similarity(state: MainGraphState) -> float:
|
||||
"""从 rag_scores 或 rag_docs 中获取向量相似度分数"""
|
||||
# 优先从 pipeline 提供的分数中获取
|
||||
rag_scores = state.debug_info.get("rag_scores", [])
|
||||
if rag_scores:
|
||||
scores = [s.get("embedding_score", 0.0) for s in rag_scores]
|
||||
if scores:
|
||||
# 归一化到 0-1
|
||||
normalized = [min(s / 10.0, 1.0) if s > 1.0 else s for s in scores]
|
||||
return max(normalized)
|
||||
|
||||
"""从 rag_docs 中获取向量相似度分数(不再从 debug_info 获取)"""
|
||||
# 降级:从 rag_docs 中获取
|
||||
rag_docs = getattr(state, "rag_docs", [])
|
||||
scores = []
|
||||
@@ -176,13 +166,7 @@ def _get_embedding_similarity(state: MainGraphState) -> float:
|
||||
|
||||
|
||||
def _get_rerank_score(state: MainGraphState) -> float:
|
||||
"""从 rag_scores 或 rag_docs 中获取重排序分数"""
|
||||
# 优先从 pipeline 提供的分数中获取
|
||||
rag_scores = state.debug_info.get("rag_scores", [])
|
||||
if rag_scores:
|
||||
scores = [s.get("rerank_score", 0.0) for s in rag_scores]
|
||||
return max(scores) if scores else 0.0
|
||||
|
||||
"""从 rag_docs 中获取重排序分数(不再从 debug_info 获取)"""
|
||||
# 降级:从 rag_docs 中获取
|
||||
rag_docs = getattr(state, "rag_docs", [])
|
||||
scores = []
|
||||
|
||||
Reference in New Issue
Block a user