Jelajahi Sumber

Update dialogue_manager: sync local dialogue history

StrayWarrior 1 Minggu lalu
induk
melakukan
091643bae3
1 mengubah file dengan 3 tambahan dan 6 penghapusan
  1. 3 6
      dialogue_manager.py

+ 3 - 6
dialogue_manager.py

@@ -113,9 +113,9 @@ class DialogueManager:
         self.current_state, self.previous_state = self.state_cache.get_state(self.staff_id, self.user_id)
 
         # 从数据库恢复对话状态
-        last_message = self.history_dialogue_service.get_dialogue_history(self.staff_id, self.user_id)
-        if last_message:
-            self.last_interaction_time = last_message[-1]['timestamp']
+        self.dialogue_history = self.history_dialogue_service.get_dialogue_history(self.staff_id, self.user_id)
+        if self.dialogue_history:
+            self.last_interaction_time = self.dialogue_history[-1]['timestamp']
         else:
             # 默认设置为24小时前
             self.last_interaction_time = int(time.time() * 1000) - 24 * 3600 * 1000
@@ -229,8 +229,6 @@ class DialogueManager:
 
         if message_text:
             self.last_interaction_time = message_ts
-
-        if message_text:
             self.dialogue_history.append({
                 "role": "user",
                 "content": message_text,
@@ -412,7 +410,6 @@ class DialogueManager:
             "previous_state": self.previous_state.name,
             "current_time_period": time_context.description,
             "current_hour": datetime.now().hour,
-            # "dialogue_history": self.dialogue_history[-10:],
             "last_interaction_interval": self._get_hours_since_last_interaction(2),
             "if_first_interaction": True if self.previous_state == DialogueState.INITIALIZED else False,
             "if_active_greeting": False if user_message else True,