修复导入错误:更新 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 .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",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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'")
|
||||||
|
|||||||
Reference in New Issue
Block a user