修复导入错误:更新 router.py 到 MainGraphState
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 7m44s
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 7m44s
This commit is contained in:
@@ -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 .tool_call import create_tool_call_node
|
||||
from .rag_nodes import rag_retrieve_node
|
||||
|
||||
# 记忆节点(已更新到 MainGraphState)
|
||||
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 .finalize import finalize_node
|
||||
|
||||
# 路由(已更新到 MainGraphState)
|
||||
from .router import should_continue
|
||||
|
||||
__all__ = [
|
||||
"should_continue",
|
||||
# React 模式节点
|
||||
"init_state_node",
|
||||
"react_reason_node",
|
||||
"web_search_node",
|
||||
"error_handling_node",
|
||||
"route_by_reasoning",
|
||||
# 通用节点
|
||||
"create_llm_call_node",
|
||||
"create_tool_call_node",
|
||||
"rag_retrieve_node",
|
||||
# 记忆节点
|
||||
"create_retrieve_memory_node",
|
||||
"memory_trigger_node",
|
||||
"set_mem0_client",
|
||||
"create_summarize_node",
|
||||
"finalize_node",
|
||||
# 路由
|
||||
"should_continue",
|
||||
]
|
||||
|
||||
@@ -8,11 +8,11 @@ from langchain_core.messages import AIMessage
|
||||
|
||||
# 本地模块
|
||||
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
|
||||
|
||||
|
||||
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:
|
||||
下一个节点名称
|
||||
"""
|
||||
last_message = state["messages"][-1]
|
||||
last_message = state.messages[-1]
|
||||
|
||||
# 1. 如果需要调用工具,优先进入工具节点
|
||||
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 的最终回复,判断是否达到摘要生成阈值
|
||||
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 ENABLE_GRAPH_TRACE:
|
||||
info(f"🔀 [路由决策] 收到 AI 最终回复,已达摘要阈值({turns}/{MEMORY_SUMMARIZE_INTERVAL}) → 转向 'summarize'")
|
||||
|
||||
Reference in New Issue
Block a user