|
@@ -98,8 +98,8 @@ class AgentService:
|
|
traceback.print_exc()
|
|
traceback.print_exc()
|
|
time.sleep(1)
|
|
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:
|
|
if not profile_to_update:
|
|
logger.debug("user_id: {}, no profile info extracted".format(user_id))
|
|
logger.debug("user_id: {}, no profile info extracted".format(user_id))
|
|
return
|
|
return
|
|
@@ -142,7 +142,7 @@ class AgentService:
|
|
self._schedule_aggregation_trigger(staff_id, user_id, agent.message_aggregation_sec)
|
|
self._schedule_aggregation_trigger(staff_id, user_id, agent.message_aggregation_sec)
|
|
elif need_response:
|
|
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)
|
|
self._get_chat_response(user_id, agent, message_text)
|
|
else:
|
|
else:
|
|
logger.debug(f"staff[{staff_id}], user[{user_id}]: do not need response")
|
|
logger.debug(f"staff[{staff_id}], user[{user_id}]: do not need response")
|