소스 검색

Update agent_service: use multiple messages to extract profile

StrayWarrior 1 주 전
부모
커밋
df4b111cd0
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      agent_service.py

+ 3 - 3
agent_service.py

@@ -98,8 +98,8 @@ class AgentService:
                     traceback.print_exc()
             time.sleep(1)
 
-    def _update_user_profile(self, user_id, user_profile, message: str):
-        profile_to_update = self.user_profile_extractor.extract_profile_info(user_profile, message)
+    def _update_user_profile(self, user_id, user_profile, recent_dialogue: List[Dict]):
+        profile_to_update = self.user_profile_extractor.extract_profile_info(user_profile, recent_dialogue)
         if not profile_to_update:
             logger.debug("user_id: {}, no profile info extracted".format(user_id))
             return
@@ -142,7 +142,7 @@ class AgentService:
                     self._schedule_aggregation_trigger(staff_id, user_id, agent.message_aggregation_sec)
             elif need_response:
                 # 先更新用户画像再处理回复
-                self._update_user_profile(user_id, user_profile, message_text)
+                self._update_user_profile(user_id, user_profile, agent.dialogue_history[-10:])
                 self._get_chat_response(user_id, agent, message_text)
             else:
                 logger.debug(f"staff[{staff_id}], user[{user_id}]: do not need response")