|
@@ -17,13 +17,28 @@ import java.io.InputStreamReader;
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
-public class PAIModel extends Model {
|
|
|
+public class PAIModel {
|
|
|
|
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(PAIModel.class);
|
|
|
|
|
|
+ private PAIModel() {
|
|
|
+ }
|
|
|
+
|
|
|
+ private static final PAIModel model;
|
|
|
|
|
|
- // 在类加载时就创建单例实例
|
|
|
- private PredictClient model;
|
|
|
+ public static PAIModel getModel() {
|
|
|
+ return model;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static final PredictClient client;
|
|
|
+
|
|
|
+ static {
|
|
|
+ model = new PAIModel();
|
|
|
+ client = new PredictClient(new HttpConfig());
|
|
|
+ client.setEndpoint("1894469520484605.cn-hangzhou.pai-eas.aliyuncs.com");
|
|
|
+ client.setToken("NmFhZGRlMjBmOGVhZTM1ZjU3YTgyZTYxMWRjNzgxZWJlOTFkZmI1NA==");
|
|
|
+ client.setModelName("ad_rank_widedeep_v8_tf115");
|
|
|
+ }
|
|
|
|
|
|
private final String[] userFeatures = {
|
|
|
"viewall", "clickall", "converall", "incomeall", "ctr_all", "ctcvr_all", "cvr_all"
|
|
@@ -61,7 +76,7 @@ public class PAIModel extends Model {
|
|
|
request.addFeed(entry.getKey(), TFDataType.DT_DOUBLE, new long[]{items.size()}, entry.getValue());
|
|
|
}
|
|
|
request.addFetch("probs");
|
|
|
- TFResponse response = model.predict(request);
|
|
|
+ TFResponse response = client.predict(request);
|
|
|
List<Float> result = response.getFloatVals("probs");
|
|
|
if (!CollectionUtils.isEmpty(result)) {
|
|
|
return result;
|
|
@@ -72,19 +87,4 @@ public class PAIModel extends Model {
|
|
|
return new ArrayList<>(Collections.nCopies(items.size(), 0.0f));
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public int getModelSize() {
|
|
|
- if (this.model == null)
|
|
|
- return 0;
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean loadFromStream(InputStreamReader in) throws Exception {
|
|
|
- model = new PredictClient(new HttpConfig());
|
|
|
- model.setEndpoint("1894469520484605.cn-hangzhou.pai-eas.aliyuncs.com");
|
|
|
- model.setToken("NmFhZGRlMjBmOGVhZTM1ZjU3YTgyZTYxMWRjNzgxZWJlOTFkZmI1NA==");
|
|
|
- model.setModelName("ad_rank_widedeep_v8_tf115");
|
|
|
- return true;
|
|
|
- }
|
|
|
}
|