feat: 适配 finalize 节点返回的 final_reply 和 metadata
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user