linfan 1 год назад
Родитель
Сommit
153528d840
2 измененных файлов с 53 добавлено и 30 удалено
  1. 40 17
      app.py
  2. 13 13
      rank_service.py

+ 40 - 17
app.py

@@ -49,7 +49,7 @@ def homepage_recommend():
         uid = request_data.get('uid')
         category_id = request_data.get('categoryId')
         size = request_data.get('size', 4)
-        app_type = request_data.get('appType')
+        app_type = request_data.get('appType', 4)
         algo_type = request_data.get('algoType')
         client_info = request_data.get('clientInfo')
         ab_exp_info = request_data.get('abExpInfo', None)
@@ -63,14 +63,26 @@ def homepage_recommend():
         recommendsource = request_data.get('recommendSource', '0')
         sencetype = request_data.get('senceType', 0)
         env_dict = {}
-        env_dict['app_type'] = app_type
-        env_dict['pagesource'] = pagesource
-        env_dict['versioncode'] = versioncode
-        env_dict['machineinfo_brand'] = machineinfoBrand
-        env_dict['machineinfo_model'] = machineinfoModel
-        env_dict['machineinfo_platform'] = machineinfoPlatform
-        env_dict['recommendsource'] = recommendsource
-        env_dict['sencetype'] = sencetype
+        try:
+            env_dict['app_type'] = int(app_type)
+            env_dict['pagesource'] = str(pagesource)
+            env_dict['versioncode'] = int(versioncode)
+            env_dict['machineinfo_brand'] = str(machineinfoBrand)
+            env_dict['machineinfo_model'] = str(machineinfoModel)
+            env_dict['machineinfo_platform'] = str(machineinfoPlatform)
+            env_dict['recommendsource'] = str(recommendsource)
+            env_dict['sencetype'] = int(sencetype)
+        except:
+            env_dict['app_type'] = 4
+            env_dict['pagesource'] = str(pagesource)
+            env_dict['versioncode'] = 0
+            env_dict['machineinfo_brand'] = str(machineinfoBrand)
+            env_dict['machineinfo_model'] = str(machineinfoModel)
+            env_dict['machineinfo_platform'] = str(machineinfoPlatform)
+            env_dict['recommendsource'] = str(recommendsource)
+            env_dict['sencetype'] = sencetype
+            log_.error("feature error",env_dict)
+
         params = Params(request_id=request_id)
         # size默认为10
         if not size:
@@ -173,14 +185,25 @@ def relevant_recommend():
         recommendsource = request_data.get('recommendSource', '0')
         sencetype =  request_data.get('senceType', 0)
         env_dict = {}
-        env_dict['app_type'] = app_type
-        env_dict['pagesource'] = pagesource
-        env_dict['versioncode'] = versioncode
-        env_dict['machineinfo_brand'] = machineinfoBrand
-        env_dict['machineinfo_model'] = machineinfoModel
-        env_dict['machineinfo_platform'] = machineinfoPlatform
-        env_dict['recommendsource'] = recommendsource
-        env_dict['sencetype'] = sencetype
+        try:
+            env_dict['app_type'] = int(app_type)
+            env_dict['pagesource'] = str(pagesource)
+            env_dict['versioncode'] = int(versioncode)
+            env_dict['machineinfo_brand'] = str(machineinfoBrand)
+            env_dict['machineinfo_model'] = str(machineinfoModel)
+            env_dict['machineinfo_platform'] = str(machineinfoPlatform)
+            env_dict['recommendsource'] = str(recommendsource)
+            env_dict['sencetype'] = int(sencetype)
+        except:
+            env_dict['app_type'] = 4
+            env_dict['pagesource'] = str(pagesource)
+            env_dict['versioncode'] = 0
+            env_dict['machineinfo_brand'] = str(machineinfoBrand)
+            env_dict['machineinfo_model'] = str(machineinfoModel)
+            env_dict['machineinfo_platform'] = str(machineinfoPlatform)
+            env_dict['recommendsource'] = str(recommendsource)
+            env_dict['sencetype'] = sencetype
+            log_.error("feature error", env_dict)
         params = Params(request_id=request_id)
         recommend_result = video_relevant_recommend(
             request_id=request_id,

+ 13 - 13
rank_service.py

@@ -59,7 +59,7 @@ def get_featurs(mid, data, size, top_K, flow_pool_P, env_dict=None):
             continue
         vid = recall_item.get("videoId",0)
         mid_list.append(mid)
-        videoid_list.append(vid)
+        videoid_list.append(int(vid))
         apptype_list.append(apptype)
         pagesource_list.append(pagesource)
         versioncode_list.append(versioncode)
@@ -80,18 +80,18 @@ def get_featurs(mid, data, size, top_K, flow_pool_P, env_dict=None):
                 vid = vidKeys[i].replace(pre_str,"")
                 if video_static_info[i] :
                     per_video_staic = json.loads(video_static_info[i])
-                    day_rov_list.append(per_video_staic[0])
-                    day_share_return_score_list.append(per_video_staic[1])
-                    day_share_score_list.append(per_video_staic[2])
-                    day_return_rate_list.append(per_video_staic[3])
-                    day_ctr_score_list.append(per_video_staic[4])
-                    day_view_users_list.append(per_video_staic[5])
-                    day_view_pv_list.append(per_video_staic[6])
-                    day_play_users_list.append(per_video_staic[7])
-                    day_play_pv_list.append(per_video_staic[8])
-                    day_share_users.append(per_video_staic[9])
-                    day_share_pv_list.append(per_video_staic[10])
-                    day_return_users_list.append(per_video_staic[11])
+                    day_rov_list.append(float(per_video_staic[0]))
+                    day_share_return_score_list.append(float(per_video_staic[1]))
+                    day_share_score_list.append(float(per_video_staic[2]))
+                    day_return_rate_list.append(float(per_video_staic[3]))
+                    day_ctr_score_list.append(float(per_video_staic[4]))
+                    day_view_users_list.append(int(per_video_staic[5]))
+                    day_view_pv_list.append(int(per_video_staic[6]))
+                    day_play_users_list.append(int(per_video_staic[7]))
+                    day_play_pv_list.append(int(per_video_staic[8]))
+                    day_share_users.append(int(per_video_staic[9]))
+                    day_share_pv_list.append(int(per_video_staic[10]))
+                    day_return_users_list.append(int(per_video_staic[11]))
                 else:
                     insert_static_default_fea(day_ctr_score_list, day_play_pv_list, day_play_users_list,
                                               day_return_rate_list, day_return_users_list, day_rov_list,