| 
					
				 | 
			
			
				@@ -1,9 +1,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import json 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import traceback 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import datetime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from utils import RedisHelper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from config import set_config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from log import Log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from lr_model import get_final_score 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 log_ = Log() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 config_ = set_config() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 redis_helper = RedisHelper() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -294,7 +296,8 @@ def predict_mid_video_res_with_add(now_date, mid, video_id, abtest_param, abtest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'ad_predict': ad_predict} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def predict_mid_video_res_with_model(now_date, mid, video_id, abtest_param, abtest_id, abtest_config_tag, ab_test_code, care_model_status): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def predict_mid_video_res_with_model(now_date, mid, video_id, abtest_param, abtest_id, abtest_config_tag, ab_test_code, care_model_status, app_type): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     model_key = abtest_param.get('model_key', 'ad_out_v1') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     mean_key = 'mean' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     user_key_name = f"{config_.KEY_NAME_PREFIX_AD_OUT_MODEL_SCORE_USER}{model_key}:{mid}" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -321,7 +324,15 @@ def predict_mid_video_res_with_model(now_date, mid, video_id, abtest_param, abte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             item_score = 0.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    final_score = user_score + item_score 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    offline_score = user_score + item_score 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    online_features = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'ctx_apptype': str(app_type), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'ctx_week': time.strftime('%w', time.localtime()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'ctx_hour':  time.strftime('%H', time.localtime()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    final_score, online_score = get_final_score(online_features, offline_score) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 获取对应的阈值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     threshold = redis_helper.get_data_from_redis(key_name=threshold_key) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -339,6 +350,7 @@ def predict_mid_video_res_with_model(now_date, mid, video_id, abtest_param, abte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         'user_score': user_score, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         'item_score': item_score, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         'final_score': final_score, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'online_score': online_score, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         'threshold': threshold, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         'ad_predict': ad_predict 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -507,7 +519,8 @@ def ad_recommend_predict(app_type, mid, video_id, ab_exp_info, ab_test_code, car 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 abtest_id=abtest_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 abtest_config_tag=abtest_config_tag, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ab_test_code=ab_test_code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                care_model_status=care_model_status 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                care_model_status=care_model_status, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                app_type=app_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result = predict_mid_video_res( 
			 |