From afddea61f840c19f16d9bad75e99b40073060b3e Mon Sep 17 00:00:00 2001 From: root <953994191@qq.com> Date: Sat, 2 May 2026 09:11:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=BE=AA=E7=8E=AF=E6=8E=A8?= =?UTF-8?q?=E7=90=86=E6=9E=B6=E6=9E=84=EF=BC=8C=E5=AD=90=E5=9B=BE=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E5=AE=8C=E5=9B=9E=E5=88=B0react=5Freason?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 恢复子图→react_reason的边 - 保持intent.py中的逻辑:检测到subgraph_completed就返回DIRECT_RESPONSE - 保持llm_call中的逻辑:检测到final_result就直接返回 --- backend/app/main_graph/utils/main_graph_builder.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/backend/app/main_graph/utils/main_graph_builder.py b/backend/app/main_graph/utils/main_graph_builder.py index 7c64f94..399098f 100644 --- a/backend/app/main_graph/utils/main_graph_builder.py +++ b/backend/app/main_graph/utils/main_graph_builder.py @@ -235,16 +235,14 @@ def build_react_main_graph(llm=None, tools=None, mem0_client=None) -> StateGraph } ) - # 循环边(rag、web_search、error 回到 reason) + # 循环边(rag、web_search、子图、error都回到reason) graph.add_edge("rag_retrieve", "react_reason") graph.add_edge("web_search", "react_reason") + graph.add_edge("contact_subgraph", "react_reason") + graph.add_edge("dictionary_subgraph", "react_reason") + graph.add_edge("news_analysis_subgraph", "react_reason") graph.add_edge("handle_error", "react_reason") - # 关键修改:子图执行完后直接去 finalize(避免循环) - graph.add_edge("contact_subgraph", "finalize") - graph.add_edge("dictionary_subgraph", "finalize") - graph.add_edge("news_analysis_subgraph", "finalize") - # 第三阶段:llm_call 后进入完成处理 if llm_node is not None: if summarize_node: