fix: 修复 RAG 无限循环问题和导入错误
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Has been cancelled

主要修复:
1. 修复 RAG 推理无限循环问题(大小写不匹配 + 缺少已检索结果检查)
2. 修复 intent_classifier.py 的绝对导入错误
3. 删除旧的 start.sh 脚本,添加新的启动脚本
4. 优化路由逻辑和状态管理
This commit is contained in:
2026-05-04 18:59:15 +08:00
parent 9841f47432
commit c9bf21be0e
13 changed files with 503 additions and 164 deletions

View File

@@ -364,11 +364,15 @@ def route_by_reasoning(state: MainGraphState) -> str:
if "subgraph_completed" in previous_actions or state.final_result:
return "llm_call"
# 关键修复:如果已经执行过 rag_retrieve 并且又执行过推理,直接去 LLM_CALL
# 这样的流程推理1 → RAG → 推理2判断 RAG 结果) → LLM_CALL
rag_count = previous_actions.count("rag_retrieve")
if rag_count >= 1 and len(previous_actions) >= rag_count + 1:
info(f"[route_by_reasoning] 已完成 RAG 检索和结果判断,直接去 llm_call")
# 关键修复:检测 RAG 重复循环 - 如果发现"RETRIEVE_RAG"出现超过1次,直接去 LLM
rag_count = previous_actions.count("RETRIEVE_RAG")
if rag_count >= 2:
info(f"[route_by_reasoning] 检测到 RAG 重复循环({rag_count}次),直接去 llm_call")
return "llm_call"
# 关键修复:如果已经有 rag_docs 或 rag_context说明已经检索过了直接去 LLM
if (state.rag_docs and len(state.rag_docs) > 0) or (state.rag_context and len(state.rag_context) > 0):
info(f"[route_by_reasoning] 检测到已存在 RAG 检索结果,直接去 llm_call")
return "llm_call"
# 关键修复:限制最多 3 次推理,避免无限循环