diff --git a/backend/app/agent/agent_service.py b/backend/app/agent/agent_service.py index dc03e74..bedaedf 100644 --- a/backend/app/agent/agent_service.py +++ b/backend/app/agent/agent_service.py @@ -105,19 +105,24 @@ class AIAgentService: config, input_state = self._build_invocation(message, thread_id, resolved_model, user_id) result = await self.graph.ainvoke(input_state, config=config) - - reply = "" - if result.get("messages"): + + # 优先使用 final_reply(finalize 节点返回) + reply = result.get("final_reply", "") + if not reply and result.get("messages"): reply = result["messages"][-1].content - + token_usage = result.get("last_token_usage", {}) elapsed_time = result.get("last_elapsed_time", 0.0) + # 获取元数据 + metadata = result.get("metadata", {}) + return { "reply": reply, "token_usage": token_usage, "elapsed_time": elapsed_time, - "model_used": resolved_model + "model_used": resolved_model, + "metadata": metadata } async def process_message_stream(