修复:意图查询时丢弃 VLM 编造的回复,只返回真实数据
VLM 会先编一个假答案再附加意图标记,导致用户看到矛盾的信息。 现在检测到意图标记后直接执行真实查询,不拼接 VLM 的回复。
This commit is contained in:
@@ -114,9 +114,13 @@ class AgentDispatcher:
|
||||
# 检查是否有嵌入的意图标记
|
||||
intent_result = self._extract_intent(reply)
|
||||
if intent_result:
|
||||
clean_reply = reply.split("<!--INTENT:")[0].strip()
|
||||
# 有意图标记时,丢弃 VLM 自己编的回复,只用真实数据
|
||||
action_reply = await self._execute_intent(user_id, intent_result)
|
||||
return f"{clean_reply}\n\n{action_reply}" if clean_reply else action_reply
|
||||
if action_reply:
|
||||
return action_reply
|
||||
# 意图执行无结果,降级用 VLM 的回复
|
||||
clean_reply = reply.split("<!--INTENT:")[0].strip()
|
||||
return clean_reply or reply
|
||||
|
||||
return reply
|
||||
|
||||
|
||||
Reference in New Issue
Block a user