Kaynağa Gözat

rec-size test complete

liqian 3 yıl önce
ebeveyn
işleme
25811a40e5
3 değiştirilmiş dosya ile 37 ekleme ve 38 silme
  1. 2 2
      app.py
  2. 1 1
      config.py
  3. 34 35
      recommend.py

+ 2 - 2
app.py

@@ -39,7 +39,7 @@ def homepage_recommend():
         mid = request_data.get('mid')
         uid = request_data.get('uid')
         category_id = request_data.get('categoryId')
-        size = request_data.get('size', 10)
+        size = request_data.get('size', 4)
         app_type = request_data.get('appType')
         algo_type = request_data.get('algoType')
         client_info = request_data.get('clientInfo')
@@ -96,7 +96,7 @@ def relevant_recommend():
         share_mid = request_data.get('shareMid')
         share_uid = request_data.get('shareUid')
         page_num = request_data.get('pageNum', 1)
-        page_size = request_data.get('pageSize', 10)
+        page_size = request_data.get('pageSize', 4)
         app_type = request_data.get('appType')
         ab_exp_info = request_data.get('abExpInfo', None)
         log_.info({'requestUri': '/applet/video/relevant/recommend', 'requestData': request_data})

+ 1 - 1
config.py

@@ -60,7 +60,7 @@ class BaseConfig(object):
     # 前k个从ROV召回池中获取视频
     K = 3
     # 从流量池获取视频的概率设置
-    P = 0.15
+    P = 0.3
 
     # ROV召回池redis key前缀,完整格式:com.weiqu.video.recall.hot.item.score.{date}
     RECALL_KEY_NAME_PREFIX = 'com.weiqu.video.recall.hot.item.score.'

+ 34 - 35
recommend.py

@@ -371,11 +371,10 @@ def video_homepage_recommend(mid, uid, size, app_type, algo_type, client_info, a
                           top_K=top_K, expire_time=12 * 3600)
 
     else:
-
+        # size = size
+        top_K = config_.K
+        flow_pool_P = config_.P
         if not ab_exp_info:
-            size = size
-            top_K = config_.K
-            flow_pool_P = config_.P
             ab_code = config_.AB_CODE['initial']
             expire_time = 24 * 3600
             return_count = -1
@@ -392,20 +391,20 @@ def video_homepage_recommend(mid, uid, size, app_type, algo_type, client_info, a
                     ab_exp_code_list.append(str(ab_exp_code))
                     config_value_dict[str(ab_exp_code)] = ab_item.get('configValue', None)
             # 推荐条数 10->4 实验
-            if config_.AB_EXP_CODE['rec_size_home'] in ab_exp_code_list:
-                config_value = config_value_dict.get(config_.AB_EXP_CODE['rec_size_home'], None)
-                if config_value:
-                    config_value = eval(str(config_value))
-                else:
-                    config_value = {}
-                log_.info(f'config_value: {config_value}, type: {type(config_value)}')
-                size = int(config_value.get('size', 4))
-                top_K = int(config_value.get('K', 3))
-                flow_pool_P = float(config_value.get('P', 0.3))
-            else:
-                size = size
-                top_K = config_.K
-                flow_pool_P = config_.P
+            # if config_.AB_EXP_CODE['rec_size_home'] in ab_exp_code_list:
+            #     config_value = config_value_dict.get(config_.AB_EXP_CODE['rec_size_home'], None)
+            #     if config_value:
+            #         config_value = eval(str(config_value))
+            #     else:
+            #         config_value = {}
+            #     log_.info(f'config_value: {config_value}, type: {type(config_value)}')
+            #     size = int(config_value.get('size', 4))
+            #     top_K = int(config_value.get('K', 3))
+            #     flow_pool_P = float(config_value.get('P', 0.3))
+            # else:
+            #     size = size
+            #     top_K = config_.K
+            #     flow_pool_P = config_.P
 
             # 小时级更新-规则1 实验
             if config_.AB_EXP_CODE['rule_rank1_20'] in ab_exp_code_list:
@@ -449,11 +448,11 @@ def video_relevant_recommend(video_id, mid, uid, size, app_type, ab_exp_info):
     :param ab_exp_info: ab实验分组参数 [{"expItemId":1, "configValue":{"size":4, "K":3, ...}}, ...]
     :return: videos type-list
     """
+    # size = size
+    top_K = config_.K
+    flow_pool_P = config_.P
     # 解析ab实验参数
     if not ab_exp_info:
-        size = size
-        top_K = config_.K
-        flow_pool_P = config_.P
         ab_code = config_.AB_CODE['initial']
         expire_time = 24 * 3600
         return_count = -1
@@ -471,20 +470,20 @@ def video_relevant_recommend(video_id, mid, uid, size, app_type, ab_exp_info):
                 config_value_dict[str(ab_exp_code)] = ab_item.get('configValue', None)
 
         # 推荐条数 10->4 实验
-        if config_.AB_EXP_CODE['rec_size_relevant'] in ab_exp_code_list:
-            config_value = config_value_dict.get(config_.AB_EXP_CODE['rec_size_relevant'], None)
-            if config_value:
-                config_value = eval(str(config_value))
-            else:
-                config_value = {}
-            log_.info(f'config_value: {config_value}, type: {type(config_value)}')
-            size = int(config_value.get('size', 4))
-            top_K = int(config_value.get('K', 3))
-            flow_pool_P = float(config_value.get('P', 0.3))
-        else:
-            size = size
-            top_K = config_.K
-            flow_pool_P = config_.P
+        # if config_.AB_EXP_CODE['rec_size_relevant'] in ab_exp_code_list:
+        #     config_value = config_value_dict.get(config_.AB_EXP_CODE['rec_size_relevant'], None)
+        #     if config_value:
+        #         config_value = eval(str(config_value))
+        #     else:
+        #         config_value = {}
+        #     log_.info(f'config_value: {config_value}, type: {type(config_value)}')
+        #     size = int(config_value.get('size', 4))
+        #     top_K = int(config_value.get('K', 3))
+        #     flow_pool_P = float(config_value.get('P', 0.3))
+        # else:
+        #     size = size
+        #     top_K = config_.K
+        #     flow_pool_P = config_.P
 
         # 小时级更新-规则1 实验
         if config_.AB_EXP_CODE['rule_rank1_20'] in ab_exp_code_list: