|
@@ -136,7 +136,7 @@ def positon_duplicate(pos1_vids, pos2_vids, videos):
|
|
|
|
|
|
|
|
|
def video_recommend(mid, uid, size, top_K, flow_pool_P, app_type, algo_type, client_info, expire_time=24*3600,
|
|
|
- ab_code=config_.AB_CODE['initial']):
|
|
|
+ ab_code=config_.AB_CODE['initial'], return_count=-1):
|
|
|
"""
|
|
|
首页线上推荐逻辑
|
|
|
:param mid: mid type-string
|
|
@@ -171,9 +171,9 @@ def video_recommend(mid, uid, size, top_K, flow_pool_P, app_type, algo_type, cli
|
|
|
'''
|
|
|
recall_result_list = []
|
|
|
pool_recall = PoolRecall(app_type=app_type, mid=mid, uid=uid, ab_code=ab_code,
|
|
|
- client_info=client_info)
|
|
|
+ client_info=client_info, return_count=return_count)
|
|
|
_, last_rov_recall_key, _ = pool_recall.get_video_last_idx()
|
|
|
- if ab_code == config_.AB_CODE['rank_by_h']:
|
|
|
+ if ab_code in config_.AB_CODE['rank_by_h']:
|
|
|
t = [gevent.spawn(pool_recall.rov_pool_recall_by_h, size, expire_time),
|
|
|
gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
|
else:
|
|
@@ -378,6 +378,7 @@ def video_homepage_recommend(mid, uid, size, app_type, algo_type, client_info, a
|
|
|
flow_pool_P = config_.P
|
|
|
ab_code = config_.AB_CODE['initial']
|
|
|
expire_time = 24 * 3600
|
|
|
+ return_count = -1
|
|
|
else:
|
|
|
ab_exp_code_list = []
|
|
|
config_value_dict = {}
|
|
@@ -407,18 +408,25 @@ def video_homepage_recommend(mid, uid, size, app_type, algo_type, client_info, a
|
|
|
flow_pool_P = config_.P
|
|
|
|
|
|
|
|
|
- if config_.AB_EXP_CODE['rule_rank1'] in ab_exp_code_list:
|
|
|
- ab_code = config_.AB_CODE['rank_by_h']
|
|
|
+ if config_.AB_EXP_CODE['rule_rank1_20'] in ab_exp_code_list:
|
|
|
+ ab_code = config_.AB_CODE['rank_by_h'][0]
|
|
|
expire_time = 3600
|
|
|
+ return_count = 20
|
|
|
+ elif config_.AB_EXP_CODE['rule_rank1_50'] in ab_exp_code_list:
|
|
|
+ ab_code = config_.AB_CODE['rank_by_h'][1]
|
|
|
+ expire_time = 3600
|
|
|
+ return_count = 50
|
|
|
else:
|
|
|
ab_code = config_.AB_CODE['initial']
|
|
|
expire_time = 24 * 3600
|
|
|
+ return_count = -1
|
|
|
|
|
|
|
|
|
rank_result, last_rov_recall_key = video_recommend(mid=mid, uid=uid, app_type=app_type,
|
|
|
size=size, top_K=top_K, flow_pool_P=flow_pool_P,
|
|
|
algo_type=algo_type, client_info=client_info,
|
|
|
- ab_code=ab_code, expire_time=expire_time)
|
|
|
+ ab_code=ab_code, expire_time=expire_time,
|
|
|
+ return_count=return_count)
|
|
|
|
|
|
|
|
|
|
|
@@ -448,6 +456,7 @@ def video_relevant_recommend(video_id, mid, uid, size, app_type, ab_exp_info):
|
|
|
flow_pool_P = config_.P
|
|
|
ab_code = config_.AB_CODE['initial']
|
|
|
expire_time = 24 * 3600
|
|
|
+ return_count = -1
|
|
|
else:
|
|
|
ab_exp_code_list = []
|
|
|
config_value_dict = {}
|
|
@@ -478,18 +487,25 @@ def video_relevant_recommend(video_id, mid, uid, size, app_type, ab_exp_info):
|
|
|
flow_pool_P = config_.P
|
|
|
|
|
|
|
|
|
- if config_.AB_EXP_CODE['rule_rank1'] in ab_exp_code_list:
|
|
|
- ab_code = config_.AB_CODE['rank_by_h']
|
|
|
+ if config_.AB_EXP_CODE['rule_rank1_20'] in ab_exp_code_list:
|
|
|
+ ab_code = config_.AB_CODE['rank_by_h'][0]
|
|
|
+ expire_time = 3600
|
|
|
+ return_count = 20
|
|
|
+ elif config_.AB_EXP_CODE['rule_rank1_50'] in ab_exp_code_list:
|
|
|
+ ab_code = config_.AB_CODE['rank_by_h'][1]
|
|
|
expire_time = 3600
|
|
|
+ return_count = 50
|
|
|
else:
|
|
|
ab_code = config_.AB_CODE['initial']
|
|
|
expire_time = 24 * 3600
|
|
|
+ return_count = -1
|
|
|
|
|
|
|
|
|
rank_result, last_rov_recall_key = video_recommend(mid=mid, uid=uid, app_type=app_type,
|
|
|
size=size, top_K=top_K, flow_pool_P=flow_pool_P,
|
|
|
algo_type='', client_info=None,
|
|
|
- ab_code=ab_code, expire_time=expire_time)
|
|
|
+ ab_code=ab_code, expire_time=expire_time,
|
|
|
+ return_count=return_count)
|
|
|
|
|
|
|
|
|
|