debug: 给 agent 节点添加详细日志和异常捕获
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 5m55s
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 5m55s
This commit is contained in:
@@ -68,22 +68,36 @@ def create_agent_node(llm_with_tools, llm):
|
|||||||
"""
|
"""
|
||||||
info(f"[Agent] 第 {state.current_step} 步推理")
|
info(f"[Agent] 第 {state.current_step} 步推理")
|
||||||
|
|
||||||
# 组装完整消息:系统提示 + 历史消息
|
try:
|
||||||
full_messages = [SystemMessage(content=SYSTEM_PROMPT)] + state.messages
|
# 组装完整消息:系统提示 + 历史消息
|
||||||
|
full_messages = [SystemMessage(content=SYSTEM_PROMPT)] + state.messages
|
||||||
|
|
||||||
|
info(f"[Agent] 消息数量: {len(full_messages)}, 最后一条: {type(full_messages[-1]).__name__}")
|
||||||
|
|
||||||
# 判断是否达到步数上限
|
# 判断是否达到步数上限
|
||||||
if state.current_step >= state.max_steps:
|
if state.current_step >= state.max_steps:
|
||||||
info(f"[Agent] 达到步数上限 {state.max_steps},强制结束,不绑定工具")
|
info(f"[Agent] 达到步数上限 {state.max_steps},强制结束,不绑定工具")
|
||||||
llm_no_tools = llm.bind_tools([])
|
llm_no_tools = llm.bind_tools([])
|
||||||
response = await llm_no_tools.ainvoke(full_messages)
|
response = await llm_no_tools.ainvoke(full_messages)
|
||||||
else:
|
else:
|
||||||
response = await llm_with_tools.ainvoke(full_messages)
|
info(f"[Agent] 调用带工具的 LLM...")
|
||||||
|
response = await llm_with_tools.ainvoke(full_messages)
|
||||||
|
|
||||||
|
info(f"[Agent] LLM 调用成功!响应类型: {type(response).__name__}")
|
||||||
|
if hasattr(response, 'tool_calls') and response.tool_calls:
|
||||||
|
info(f"[Agent] 检测到工具调用: {[tc['name'] for tc in response.tool_calls]}")
|
||||||
|
|
||||||
# 返回状态更新(注意:不原地修改 state,返回字典让 LangGraph 处理
|
# 返回状态更新(注意:不原地修改 state,返回字典让 LangGraph 处理
|
||||||
return {
|
return {
|
||||||
"messages": [response],
|
"messages": [response],
|
||||||
"current_step": state.current_step + 1,
|
"current_step": state.current_step + 1,
|
||||||
"llm_calls": state.llm_calls + 1
|
"llm_calls": state.llm_calls + 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
error(f"[Agent] ❌ 第 {state.current_step} 步推理出错: {e}")
|
||||||
|
import traceback
|
||||||
|
error(f"[Agent] 堆栈: {traceback.format_exc()}")
|
||||||
|
raise
|
||||||
|
|
||||||
return agent_node
|
return agent_node
|
||||||
|
|||||||
Reference in New Issue
Block a user