feat: 适配 finalize 节点返回的 final_reply 和 metadata

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-08 02:05:35 +08:00
parent d16ad6185e
commit 5c2380e31c

View File

@@ -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_replyfinalize 节点返回)
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(