SDK源码地址:https://github.com/volcengine/volcengine-sdk-java-rec,支持Java JDK 1.8及其以上版本。
在Java项目的pom.xml文件中加入相应的依赖项。
<dependencies> <dependency> <groupId>com.volcengine</groupId> <artifactId>volcengine-sdk-java-rec</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.30</version> </dependency> </dependencies> <repositories> <repository> <id>github-volcengine-repo</id> <name>The Maven Repository on Github</name> <url>https://volcengine.github.io/volcengine-sdk-java-rec/maven-repo/</url> </repository> </repositories>
构建client,示例:
import volcengine.byteair.ByteairClient; import volcengine.byteair.ByteairClientBuilder; import volcengine.core.*; import volcengine.core.metrics.MetricsCollector; public class Example { public static ByteairClient client; public static void init() { client = new ByteairClientBuilder() // 必传,租户id. .tenantId("xxx") // 必传,应用id. .applicationId("xxx") // 必传,密钥AK. .ak("xxx") // 必传,密钥SK. .sk("xxx") // 必传,域名. .hosts(Collections.singletonList("xxx")) // 进行构建client .build(); // metrics上报初始化.建议开启,方便火山侧排查问题. MetricsCollector.Init( // 域名同上 MetricsOption.withMetricsDomain("xxx") ); /* 私有化部署初始化 client = new ByteairClientBuilder() // 必传,租户id. .tenantId("xxx") // 必传,应用id. .applicationId("xxx") .useAirAuth() // 由火山侧给出 .token("xxx") .hosts(Collections.singletonList("私有化实际部署地址")) .schema("http") // 进行构建client .build(); */ } }
初始化完成后,可以使用client进行数据同步和推荐服务的调用。client不需要重复创建,最好设置为全局变量,以免产生不必要的资源泄漏。
client封装了以下4个函数,分别用于请求数据服务的同步接口(write)和同步完成通知接口(done),推荐服务的推荐接口(predict)和下发回传接口(callback)。
WriteResponse writeData(List<Map<String, Object>> dataList, String topic, Option... opts) DoneResponse done(List dateList, String topic, Option... opts) PredictResponse predict(PredictRequest request, Option... opts) CallbackResponse callback(CallbackRequest request, Option... opts)