|
@@ -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(
|