|
@@ -640,6 +640,17 @@ class DialogueManager:
|
|
aggregated_message = '\n'.join(messages_to_aggr)
|
|
aggregated_message = '\n'.join(messages_to_aggr)
|
|
messages.append(DialogueManager.build_chat_message(
|
|
messages.append(DialogueManager.build_chat_message(
|
|
last_message_role, aggregated_message, ChatServiceType.COZE_CHAT))
|
|
last_message_role, aggregated_message, ChatServiceType.COZE_CHAT))
|
|
|
|
+ # 从末尾开始往前遍历,如果assistant曾经回复“无法回答”,则清除当前消息和前一条用户消息
|
|
|
|
+ idx = len(messages) - 1
|
|
|
|
+ while idx >= 0:
|
|
|
|
+ if messages[idx].role == 'assistant' and '无法回答' in messages[idx].content:
|
|
|
|
+ messages.pop(idx)
|
|
|
|
+ idx -= 1
|
|
|
|
+ if idx >= 0:
|
|
|
|
+ messages.pop(idx)
|
|
|
|
+ idx -= 1
|
|
|
|
+ else:
|
|
|
|
+ idx -= 1
|
|
return messages
|
|
return messages
|
|
|
|
|
|
def build_active_greeting_config(self, user_tags: List[str]):
|
|
def build_active_greeting_config(self, user_tags: List[str]):
|