修复导入错误:更新 router.py 到 MainGraphState
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 7m44s

This commit is contained in:
2026-05-02 00:07:11 +08:00
parent 01762970af
commit 2403ce70a1
2 changed files with 32 additions and 8 deletions

View File

@@ -2,18 +2,42 @@
主图节点模块导出 主图节点模块导出
""" """
from .router import should_continue # 新的 React 模式节点
from .react_nodes import (
init_state_node,
react_reason_node,
web_search_node,
error_handling_node,
route_by_reasoning
)
from .llm_call import create_llm_call_node from .llm_call import create_llm_call_node
from .tool_call import create_tool_call_node from .rag_nodes import rag_retrieve_node
# 记忆节点(已更新到 MainGraphState
from .retrieve_memory import create_retrieve_memory_node from .retrieve_memory import create_retrieve_memory_node
from .memory_trigger import memory_trigger_node, set_mem0_client
from .summarize import create_summarize_node from .summarize import create_summarize_node
from .finalize import finalize_node from .finalize import finalize_node
# 路由(已更新到 MainGraphState
from .router import should_continue
__all__ = [ __all__ = [
"should_continue", # React 模式节点
"init_state_node",
"react_reason_node",
"web_search_node",
"error_handling_node",
"route_by_reasoning",
# 通用节点
"create_llm_call_node", "create_llm_call_node",
"create_tool_call_node", "rag_retrieve_node",
# 记忆节点
"create_retrieve_memory_node", "create_retrieve_memory_node",
"memory_trigger_node",
"set_mem0_client",
"create_summarize_node", "create_summarize_node",
"finalize_node", "finalize_node",
# 路由
"should_continue",
] ]

View File

@@ -8,11 +8,11 @@ from langchain_core.messages import AIMessage
# 本地模块 # 本地模块
from app.config import ENABLE_GRAPH_TRACE, MEMORY_SUMMARIZE_INTERVAL from app.config import ENABLE_GRAPH_TRACE, MEMORY_SUMMARIZE_INTERVAL
from app.main_graph.state import MessagesState from app.main_graph.state import MainGraphState
from app.logger import info from app.logger import info
def should_continue(state: MessagesState) -> Literal['tool_node', 'summarize', 'finalize']: def should_continue(state: MainGraphState) -> Literal['tool_node', 'summarize', 'finalize']:
""" """
决定下一步:工具调用、生成摘要还是结束 决定下一步:工具调用、生成摘要还是结束
@@ -22,7 +22,7 @@ def should_continue(state: MessagesState) -> Literal['tool_node', 'summarize', '
Returns: Returns:
下一个节点名称 下一个节点名称
""" """
last_message = state["messages"][-1] last_message = state.messages[-1]
# 1. 如果需要调用工具,优先进入工具节点 # 1. 如果需要调用工具,优先进入工具节点
if isinstance(last_message, AIMessage) and last_message.tool_calls: if isinstance(last_message, AIMessage) and last_message.tool_calls:
@@ -32,7 +32,7 @@ def should_continue(state: MessagesState) -> Literal['tool_node', 'summarize', '
# 2. 如果是 AI 的最终回复,判断是否达到摘要生成阈值 # 2. 如果是 AI 的最终回复,判断是否达到摘要生成阈值
if isinstance(last_message, AIMessage): if isinstance(last_message, AIMessage):
turns = state.get("turns_since_last_summary", 0) turns = state.turns_since_last_summary
if turns >= MEMORY_SUMMARIZE_INTERVAL: if turns >= MEMORY_SUMMARIZE_INTERVAL:
if ENABLE_GRAPH_TRACE: if ENABLE_GRAPH_TRACE:
info(f"🔀 [路由决策] 收到 AI 最终回复,已达摘要阈值({turns}/{MEMORY_SUMMARIZE_INTERVAL}) → 转向 'summarize'") info(f"🔀 [路由决策] 收到 AI 最终回复,已达摘要阈值({turns}/{MEMORY_SUMMARIZE_INTERVAL}) → 转向 'summarize'")