瀏覽代碼

add INITIAL_CONFIG & update

liqian 2 年之前
父節點
當前提交
6f3b3c1f01
共有 2 個文件被更改,包括 80 次插入71 次删除
  1. 62 52
      config.py
  2. 18 19
      recommend.py

+ 62 - 52
config.py

@@ -104,18 +104,18 @@ class BaseConfig(object):
 
     # AB实验配置
     AB_EXP_CODE = {
-        '068': {
-            'data_key': 'data1', 'rule_key': 'rule4',
-            'ab_code': AB_CODE['region_rank_by_h'].get('region_rule_rank5_appType_0_data1')
-        },  # 票圈内容精选:data-vlog, rule-rule4
+        # '068': {
+        #     'data_key': 'data1', 'rule_key': 'rule4',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('region_rule_rank5_appType_0_data1')
+        # },  # 票圈内容精选:data-vlog, rule-rule4
         '069': {
             'data_key': 'data1', 'rule_key': 'rule4',
             'ab_code': AB_CODE['region_rank_by_h'].get('region_rule_rank5_appType_0_data1')
         },  # 最惊奇:data-vlog, rule-rule4
-        '072': {
-            'data_key': 'data1', 'rule_key': 'rule4',
-            'ab_code': AB_CODE['region_rank_by_h'].get('region_rule_rank5_appType_0_data1')
-        },  # 票圈视频:data-vlog, rule-rule4
+        # '072': {
+        #     'data_key': 'data1', 'rule_key': 'rule4',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('region_rule_rank5_appType_0_data1')
+        # },  # 票圈视频:data-vlog, rule-rule4
         # '073': {
         #     'data_key': 'data1', 'rule_key': 'rule4',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('region_rule_rank5_appType_0_data1')
@@ -124,10 +124,10 @@ class BaseConfig(object):
             'data_key': 'data1', 'rule_key': 'rule4',
             'ab_code': AB_CODE['region_rank_by_h'].get('region_rule_rank5_appType_0_data1')
         },  # 老好看视频:data-vlog, rule-rule4
-        '082': {
-            'data_key': 'data2', 'rule_key': 'rule4',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_082')
-        },  # 票圈内容精选:data-[内容精选,vlog], rule-rule4
+        # '082': {
+        #     'data_key': 'data2', 'rule_key': 'rule4',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_082')
+        # },  # 票圈内容精选:data-[内容精选,vlog], rule-rule4
         # '083': {
         #     'data_key': 'data6', 'rule_key': 'rule3',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('region_rule_rank4_appType_5_data4')
@@ -156,30 +156,30 @@ class BaseConfig(object):
         #     'data_key': 'data1', 'rule_key': 'rule4',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_112')
         # },  # 召回定位优化实验
-        '117': {
-            'data_key': 'data6', 'rule_key': 'rule7',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_117')
-        },  # vlog 全数据实验 data-[vlog: 0.25, 内容精选: 0.25, 票圈视频: 0.25, 票圈短视频: 0.25], rule-rule7
-        '120': {
-            'data_key': 'data3', 'rule_key': 'rule7',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_120')
-        },  # 票圈视频 分数据实验 data-[vlog: 0.5, 票圈视频: 0.5], rule-rule7
+        # '117': {
+        #     'data_key': 'data6', 'rule_key': 'rule7',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_117')
+        # },  # vlog 全数据实验 data-[vlog: 0.25, 内容精选: 0.25, 票圈视频: 0.25, 票圈短视频: 0.25], rule-rule7
+        # '120': {
+        #     'data_key': 'data3', 'rule_key': 'rule7',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_120')
+        # },  # 票圈视频 分数据实验 data-[vlog: 0.5, 票圈视频: 0.5], rule-rule7
         '121': {
             'data_key': 'data2', 'rule_key': 'rule7',
             'ab_code': AB_CODE['region_rank_by_h'].get('abtest_121')
         },  # 内容精选 分数据实验 data-[vlog: 0.5, 内容精选: 0.5], rule-rule7
-        '122': {
-            'data_key': 'data4', 'rule_key': 'rule7',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_122')
-        },  # 票圈短视频 分数据实验 data-[vlog: 0.5, 票圈短视频: 0.5], rule-rule7
+        # '122': {
+        #     'data_key': 'data4', 'rule_key': 'rule7',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_122')
+        # },  # 票圈短视频 分数据实验 data-[vlog: 0.5, 票圈短视频: 0.5], rule-rule7
         # '130': {
         #     'data_key': 'data1', 'rule_key': 'rule4',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_130')
         # },  # 095实验基础上去除大列表,进行兜底策略优化
-        '139': {
-            'data_key': 'data1', 'rule_key': 'rule9', '30day_rule_key': 'rule1',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_139')
-        },
+        # '139': {
+        #     'data_key': 'data1', 'rule_key': 'rule9', '30day_rule_key': 'rule1',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_139')
+        # },
         # '136': {
         #     'data_key': 'data1', 'rule_key': 'rule10',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_136')
@@ -188,22 +188,22 @@ class BaseConfig(object):
         #     'data_key': 'data1', 'rule_key': 'rule11',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_137')
         # },
-        '142': {
-            'data_key': 'data8', 'rule_key': 'rule7',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_142')
-        },
-        '143': {
-            'data_key': 'data9', 'rule_key': 'rule7',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_143')
-        },
+        # '142': {
+        #     'data_key': 'data8', 'rule_key': 'rule7',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_142')
+        # },
+        # '143': {
+        #     'data_key': 'data9', 'rule_key': 'rule7',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_143')
+        # },
         '144': {
             'data_key': 'data10', 'rule_key': 'rule7',
             'ab_code': AB_CODE['region_rank_by_h'].get('abtest_144')
         },
-        '145': {
-            'data_key': 'data11', 'rule_key': 'rule7',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_145')
-        },
+        # '145': {
+        #     'data_key': 'data11', 'rule_key': 'rule7',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_145')
+        # },
         # '146': {
         #     'data_key': 'data12', 'rule_key': 'rule7',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_146')
@@ -212,14 +212,14 @@ class BaseConfig(object):
         #     'data_key': 'data13', 'rule_key': 'rule7',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_147')
         # },
-        '153': {
-            'data_key': 'data1', 'rule_key': 'rule12',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_153')
-        },
-        '159': {
-            'data_key': 'data14', 'rule_key': 'rule7',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_159')
-        },  # vlog 全数据实验 data-[vlog: 0.78, 票圈视频: 0.11, 票圈短视频: 0.08, 内容精选: 0.03], rule-rule7
+        # '153': {
+        #     'data_key': 'data1', 'rule_key': 'rule12',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_153')
+        # },
+        # '159': {
+        #     'data_key': 'data14', 'rule_key': 'rule7',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_159')
+        # },  # vlog 全数据实验 data-[vlog: 0.78, 票圈视频: 0.11, 票圈短视频: 0.08, 内容精选: 0.03], rule-rule7
         # '161': {
         #     'data_key': 'data1', 'rule_key': 'rule13',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_161')
@@ -228,10 +228,10 @@ class BaseConfig(object):
         #     'data_key': 'data1', 'rule_key': 'rule14',
         #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_162')
         # },
-        '167': {
-            'data_key': 'lhk_data', 'rule_key': 'lhk_rule',
-            'ab_code': AB_CODE['region_rank_by_h'].get('abtest_167')
-        },
+        # '167': {
+        #     'data_key': 'lhk_data', 'rule_key': 'lhk_rule',
+        #     'ab_code': AB_CODE['region_rank_by_h'].get('abtest_167')
+        # },
     }
 
     # APP ab实验配置
@@ -247,6 +247,16 @@ class BaseConfig(object):
         '10037': {},
     }
 
+    # 默认全量配置
+    INITIAL_CONFIG = {
+        APP_TYPE['VLOG']: '095',  # vlog
+        APP_TYPE['LOVE_LIVE']: '144',  # 票圈视频
+        APP_TYPE['LONG_VIDEO']: '121',  # 内容精选
+        APP_TYPE['LAO_HAO_KAN_VIDEO']: '074',  # 老好看视频
+        APP_TYPE['ZUI_JING_QI']: '069',  # 最惊奇
+        'other': '095',  # 其他端默认配置
+    }
+
     # 小程序小时级列表key不同实验标识
     RULE_KEY = {
         'initial': '',

+ 18 - 19
recommend.py

@@ -515,36 +515,39 @@ def update_local_distribute_count(videos):
         log_.error(traceback.format_exc())
 
 
-def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, page_type=0):
+def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, app_type, page_type=0):
     """
     根据实验分组给定对应的推荐参数
     :param recommend_type: 首页推荐和相关推荐区分参数(0-首页推荐,1-相关推荐)
     :param ab_exp_info: AB实验组参数
     :param ab_info_data: app实验组参数
     :param mid: mid
+    :param app_type: app_type, type-int
     :param page_type: 页面区分参数,默认:0(首页)
     :return:
     """
     top_K = config_.K
     flow_pool_P = config_.P
     # 不获取人工干预数据标记
-    no_op_flag = False
+    no_op_flag = True
+    expire_time = 3600
     old_video_index = -1
-    # if not ab_exp_info:
-    #     ab_code = config_.AB_CODE['initial']
-    #     expire_time = 24 * 3600
-    #     rule_key = config_.RULE_KEY_REGION['initial'].get('rule_key')
-    #     data_key = config_.RULE_KEY_REGION['initial'].get('data_key')
-    #     # old_video_index = -1
-    # else:
+
+    # 获取对应的默认配置
+    ab_initial_config = config_.INITIAL_CONFIG.get(app_type, None)
+    if ab_initial_config is None:
+        ab_initial_config = config_.INITIAL_CONFIG.get('other')
+    param = config_.AB_EXP_CODE[ab_initial_config]
+    ab_code = param.get('ab_code')
+    rule_key = param.get('rule_key')
+    data_key = param.get('data_key')
+    rule_key_30day = param.get('30day_rule_key')
 
     # 默认使用 095 实验的配置
-    ab_code = config_.AB_EXP_CODE['095'].get('ab_code')
-    expire_time = 3600
-    rule_key = config_.AB_EXP_CODE['095'].get('rule_key')
-    data_key = config_.AB_EXP_CODE['095'].get('data_key')
-    rule_key_30day = None
-    no_op_flag = True
+    # ab_code = config_.AB_EXP_CODE['095'].get('ab_code')
+    # rule_key = config_.AB_EXP_CODE['095'].get('rule_key')
+    # data_key = config_.AB_EXP_CODE['095'].get('data_key')
+    # rule_key_30day = None
 
     # 获取用户近30天是否有回流
     # user_30day_return_result = get_user_has30day_return(mid=mid)
@@ -615,11 +618,9 @@ def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, page_ty
             for code, param in config_.AB_EXP_CODE.items():
                 if code in ab_exp_code_list:
                     ab_code = param.get('ab_code')
-                    expire_time = 3600
                     rule_key = param.get('rule_key')
                     data_key = param.get('data_key')
                     rule_key_30day = param.get('30day_rule_key')
-                    no_op_flag = True
                     break
 
             """
@@ -895,10 +896,8 @@ def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, page_ty
             for code, param in config_.APP_AB_CODE['10003'].items():
                 if code == app_ab_code:
                     ab_code = param.get('ab_code')
-                    expire_time = 3600
                     rule_key = param.get('rule_key')
                     data_key = param.get('data_key')
-                    no_op_flag = True
                     break
 
     #     # 相关推荐