소스 검색

add rov_rank_appType_19 test

liqian 3 년 전
부모
커밋
00b50c5fcf
3개의 변경된 파일19개의 추가작업 그리고 5개의 파일을 삭제
  1. 2 0
      config.py
  2. 11 1
      recommend.py
  3. 6 4
      video_recall.py

+ 2 - 0
config.py

@@ -26,6 +26,7 @@ class BaseConfig(object):
         'rule_rank3': '023',
         'rule_rank4': '024',
         'rule_rank5': '025',
+        'rov_rank_appType_19': '027',
     }
 
     # abTest
@@ -42,6 +43,7 @@ class BaseConfig(object):
         'position_insert': 10002,  # 按位置插入
         'relevant_video_op': 10003,  # 运营对某些视频给定一些相关视频,调整为对应视频相关推荐的头部
         'rov_rank_appType_18_19': 30001,  # 老好看视频 / 票圈最惊奇 首页/相关推荐逻辑更新实验
+        'rov_rank_appType_19': 30002,  # 票圈最惊奇 首页/相关推荐逻辑更新实验 (2:2)
         'rank_by_h': {
             'rule_rank1': 20001,
             'rule_rank2': 20002,

+ 11 - 1
recommend.py

@@ -196,7 +196,7 @@ def video_recommend(mid, uid, size, top_K, flow_pool_P, app_type, algo_type, cli
     start_rank = time.time()
     # log_.info('====== rank')
     if app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
-        if ab_code == config_.AB_CODE['rov_rank_appType_18_19']:
+        if ab_code in [config_.AB_CODE['rov_rank_appType_18_19'], config_.AB_CODE['rov_rank_appType_19']]:
             data = {
                 'rov_pool_recall': recall_result_list[0],
                 'flow_pool_recall': recall_result_list[1]
@@ -456,6 +456,11 @@ def video_homepage_recommend(mid, uid, size, app_type, algo_type, client_info, a
                 ab_code = config_.AB_CODE['rov_rank_appType_18_19']
                 expire_time = 3600
                 flow_pool_P = config_.P_18_19
+            elif config_.AB_EXP_CODE['rov_rank_appType_19'] in ab_exp_code_list:
+                ab_code = config_.AB_CODE['rov_rank_appType_19']
+                expire_time = 3600
+                top_K = 2
+                flow_pool_P = config_.P_18_19
 
         # 简单召回 - 排序 - 兜底
         rank_result, last_rov_recall_key = video_recommend(mid=mid, uid=uid, app_type=app_type,
@@ -553,6 +558,11 @@ def video_relevant_recommend(video_id, mid, uid, size, app_type, ab_exp_info):
             ab_code = config_.AB_CODE['rov_rank_appType_18_19']
             expire_time = 3600
             flow_pool_P = config_.P_18_19
+        elif config_.AB_EXP_CODE['rov_rank_appType_19'] in ab_exp_code_list:
+            ab_code = config_.AB_CODE['rov_rank_appType_19']
+            expire_time = 3600
+            top_K = 2
+            flow_pool_P = config_.P_18_19
 
     # 简单召回 - 排序 - 兜底
     rank_result, last_rov_recall_key = video_recommend(mid=mid, uid=uid, app_type=app_type,

+ 6 - 4
video_recall.py

@@ -202,7 +202,7 @@ class PoolRecall(object):
 
         # 获取生效中的置顶视频
         # abCode = 30001   # 老好看视频 / 票圈最惊奇 首页/相关推荐逻辑更新实验
-        if self.ab_code == config_.AB_CODE['rov_rank_appType_18_19']:
+        if self.ab_code in [config_.AB_CODE['rov_rank_appType_18_19'], config_.AB_CODE['rov_rank_appType_19']]:
             # appType: [18, 19],不获取置顶视频
             top_video_ids, top_video_result = [], []
         elif self.client_info is None:
@@ -214,7 +214,7 @@ class PoolRecall(object):
 
         # 获取修改过rov的视频
         # abCode = 30001   # 老好看视频 / 票圈最惊奇 首页/相关推荐逻辑更新实验
-        if self.ab_code == config_.AB_CODE['rov_rank_appType_18_19']:
+        if self.ab_code in [config_.AB_CODE['rov_rank_appType_18_19'], config_.AB_CODE['rov_rank_appType_19']]:
             # appType: [18, 19],不获取修改过rov的视频
             update_rov_video_ids, update_rov_result = [], []
         else:
@@ -490,7 +490,9 @@ class PoolRecall(object):
         """获取用户上一次在rov召回池对应的位置"""
         # if self.ab_code in [config_.AB_CODE['rank_by_h']] or self.app_type == config_.APP_TYPE['APP']:
         # abCode = 30001   # 老好看视频 / 票圈最惊奇 首页/相关推荐逻辑更新实验
-        if self.ab_code in [config_.AB_CODE['rank_by_h'], config_.AB_CODE['rov_rank_appType_18_19']] or \
+        if self.ab_code in [config_.AB_CODE['rank_by_h'],
+                            config_.AB_CODE['rov_rank_appType_18_19'],
+                            config_.AB_CODE['rov_rank_appType_19']] or \
                 self.app_type == config_.APP_TYPE['APP']:
             rov_pool_key, redis_date = self.get_pool_redis_key_with_h('rov')
         else:
@@ -667,7 +669,7 @@ class PoolRecall(object):
 
             # elif self.app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
             # abCode = 30001   # 老好看视频 / 票圈最惊奇 首页/相关推荐逻辑更新实验
-            elif self.ab_code == config_.AB_CODE['rov_rank_appType_18_19']:
+            elif self.ab_code in [config_.AB_CODE['rov_rank_appType_18_19'], config_.AB_CODE['rov_rank_appType_19']]:
                 # 判断热度列表是否更新,未更新则使用前一小时的热度列表
                 key_name_prefix = f"{config_.RECALL_KEY_NAME_PREFIX_APP_TYPE}{self.app_type}."
                 key_name = f"{key_name_prefix}{now_date}.{h}"