Sfoglia il codice sorgente

冷启试验增加日志上传接口

xueyiming 12 ore fa
parent
commit
36f9c41e53

+ 2 - 0
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/score/ScoreParam.java

@@ -28,5 +28,7 @@ public class ScoreParam {
      * 本次命中的实验
      */
     private String expCode;
+
+    private boolean isColdStart = false;
 }
 

+ 42 - 0
ad-engine-server/src/main/java/com/tzld/piaoquan/ad/engine/server/controller/LogUploadController.java

@@ -0,0 +1,42 @@
+package com.tzld.piaoquan.ad.engine.server.controller;
+
+import com.tzld.piaoquan.ad.engine.commons.param.RankRecommendRequestParam;
+import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
+import com.tzld.piaoquan.ad.engine.service.log.LogHubService;
+import com.tzld.piaoquan.ad.engine.service.predict.param.request.ThresholdPredictModelRequestParam;
+import com.tzld.piaoquan.ad.engine.service.score.convert.RequestConvert;
+import com.tzld.piaoquan.ad.engine.service.score.strategy.RankStrategy;
+import com.tzld.piaoquan.ad.engine.service.score.strategy.RankStrategyBy688;
+import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRankItem;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/log")
+public class LogUploadController {
+
+    @Autowired
+    private RankStrategyBy688 rankStrategyBy688;
+
+    @Autowired
+    private LogHubService logHubService;
+
+    @RequestMapping("/coldStart")
+    public Map<String, Object> coldLogUpload(@RequestBody RankRecommendRequestParam request) {
+        ScoreParam scoreParam = RequestConvert.requestConvert(request);
+        scoreParam.setColdStart(true);
+        List<AdRankItem> adRankItems = rankStrategyBy688.adItemRank(request, scoreParam);
+        logHubService.scoreLogUpload(scoreParam, request.getAdIdList(), adRankItems, request, scoreParam.getExpCode());
+        return new HashMap<String, Object>() {{
+            put("result", "success");
+        }};
+    }
+
+
+}

+ 12 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyBy688.java

@@ -256,6 +256,18 @@ public class RankStrategyBy688 extends RankStrategyBasic {
             log.error("handleE1AndE2Feature and handleD3AndB1Feature wait timeout", e);
         }
         long time4 = System.currentTimeMillis();
+
+        //冷启试验只打印特征
+        if(scoreParam.isColdStart()){
+            if (CollectionUtils.isNotEmpty(adRankItems)) {
+                AdRankItem adRankItem = adRankItems.get(0);
+                adRankItem.getFeatureMap().putAll(userFeatureMap);
+                adRankItem.getFeatureMap().putAll(sceneFeatureMap);
+                putMetaFeature(adRankItem, feature, reqFeature, sceneFeatureMap, request);
+                return adRankItems;
+            }
+        }
+
         // 打分排序
         // getScorerPipeline
         List<AdRankItem> result = ScorerUtils.getScorerPipeline(ScorerUtils.PAI_SCORE_CONF_20250214).scoring(sceneFeatureMap, userFeatureMap, adRankItems);