Browse Source

Update agent_service: restrict testing users

StrayWarrior 2 weeks ago
parent
commit
5036243996
1 changed files with 8 additions and 4 deletions
  1. 8 4
      agent_service.py

+ 8 - 4
agent_service.py

@@ -4,6 +4,7 @@
 
 
 import sys
 import sys
 import time
 import time
+import random
 from typing import Dict, List, Tuple, Any, Optional
 from typing import Dict, List, Tuple, Any, Optional
 import logging
 import logging
 from datetime import datetime, timedelta
 from datetime import datetime, timedelta
@@ -168,6 +169,7 @@ class AgentService:
             if should_initiate:
             if should_initiate:
                 logger.warning("user: {}, initiate conversation".format(user_id))
                 logger.warning("user: {}, initiate conversation".format(user_id))
                 self._get_chat_response(user_id, agent, None)
                 self._get_chat_response(user_id, agent, None)
+                time.sleep(random.randint(10,20))
             else:
             else:
                 logger.debug("user: {}, do not initiate conversation".format(user_id))
                 logger.debug("user: {}, do not initiate conversation".format(user_id))
 
 
@@ -182,10 +184,12 @@ class AgentService:
         if response := agent.generate_response(chat_response):
         if response := agent.generate_response(chat_response):
             logger.warning(f"staff[{agent.staff_id}] user[{user_id}]: response: {response}")
             logger.warning(f"staff[{agent.staff_id}] user[{user_id}]: response: {response}")
             current_ts = int(time.time() * 1000)
             current_ts = int(time.time() * 1000)
+            user_tags = self.user_relation_manager.get_user_tags(user_id)
             # FIXME(zhoutian)
             # FIXME(zhoutian)
-            # 测试期间临时逻辑,只发送特定的用户
-            if agent.staff_id not in set(['1688854492669990']):
-                logger.warning(f"skip message from sender [{agent.staff_id}]")
+            # 测试期间临时逻辑,只发送特定的账号或特定用户
+            if not (agent.staff_id in set(['1688854492669990'])
+                    or 'Agent测试' in user_tags):
+                logger.warning(f"staff[{agent.staff_id}] user[{user_id}]: skip reply")
                 return
                 return
             self.send_queue.produce(
             self.send_queue.produce(
                 Message.build(MessageType.TEXT, MessageChannel.CORP_WECHAT,
                 Message.build(MessageType.TEXT, MessageChannel.CORP_WECHAT,
@@ -288,7 +292,7 @@ if __name__ == "__main__":
         if not text:
         if not text:
             continue
             continue
         message_id += 1
         message_id += 1
-        sender = '7881302581935903'
+        sender = '7881299670930896'
         receiver = '1688854492669990'
         receiver = '1688854492669990'
         if text == MessageType.AGGREGATION_TRIGGER.name:
         if text == MessageType.AGGREGATION_TRIGGER.name:
             message = Message.build(MessageType.AGGREGATION_TRIGGER, MessageChannel.CORP_WECHAT,
             message = Message.build(MessageType.AGGREGATION_TRIGGER, MessageChannel.CORP_WECHAT,