Browse Source

Update dialogue_manager: add generate_multimodal_response

StrayWarrior 2 weeks ago
parent
commit
75aa020e44
1 changed files with 22 additions and 0 deletions
  1. 22 0
      pqai_agent/dialogue_manager.py

+ 22 - 0
pqai_agent/dialogue_manager.py

@@ -430,6 +430,28 @@ class DialogueManager:
 
         return llm_response
 
+    def generate_multimodal_response(self, content: Dict) -> Optional[Dict]:
+        """
+        处理LLM的多模态响应,更新对话状态和对话历史。
+        注意:所有的LLM多模态响应都必须经过这个函数来处理!
+        :param content: 包含多模态内容的字典
+        :return: None
+        """
+        if self.current_state == DialogueState.HUMAN_INTERVENTION:
+            return None
+
+        # 记录响应到对话历史
+        message_ts = int(time.time() * 1000)
+        self.append_dialogue_history({
+            "role": "assistant",
+            "content": content,
+            "timestamp": message_ts,
+            "state": self.current_state.name
+        })
+        self.update_interaction_time(message_ts)
+
+        return content
+
     def _get_hours_since_last_interaction(self, precision: int = -1):
         time_diff = (time.time() * 1000) - self.last_interaction_time_ms
         hours_passed = time_diff / 1000 / 3600