ITPub博客

首页 > 数字化转型 > ERP > 使用Java程序消费SAP Leonardo的机器学习API

使用Java程序消费SAP Leonardo的机器学习API

ERP 作者:DicksonJYL560101 时间:2018-08-11 11:22:24 0 删除 编辑

http://blog.itpub.net/24475491/viewspace-2154590/



开发一个Java程序,用户可以指定一张图片,该Java程序调用SAP Leonardo上训练好的机器学习API,该API会识别该图片,给用户返回一个文本信息,告诉用户识别结果。


  1. SAP Leonardo Machine Learning - Functional Services







  2. 下面我们需要使用Java程序来调用API。

    1. 可以看到该SDK是一个基于Gradle的Java项目。您需要下载Maven和Gradle并完成环境变量的配置,这些配置非常基础,在网上有大量资料,这里不再重复。


    2. 完成配置后,使用Eclipse的import功能,将SDK导入到Eclipse里。

    导入完成后如图。红色区域是SDK自带的代码,蓝色区域是Jerry自己手动创建的代码,用于调用API并打印结果。

    双击根目录下的pom.xml, 将如下依赖关系维护进去:




      错误分析

      我们再回到API控制台,API响应结构里request字段的类型声明为string。

      然而通过测试发现,request字段的内容实际是一个Json对象:




    1. 知道了问题根源,改起来就容易了。新建一个Gson容器类Request.java, 然后按照控制台里观察到的request字段的结构,为Request.java维护对应的成员变量。

    2. 例如tenantName在API响应结构里是一个String,因此在Java类里的类型是String;files在API响应结构里是一个数组,因此在Java类里的类型为List<String>。


    3. 调整完毕之后再次执行,能看到期望的输出结果:通过SDK调用API并打印结果。
    4. https://github.com/i042416/ProductImageMLService

      <p font-size:16px;white-space:normal;background-color:#ffffff;word-break:break-word="" !important;"="" style="margin-top: 0px; margin-bottom: 25px; padding: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; line-height: 28px; color: rgb(47, 47, 47); text-align: justify; white-space: normal; box-sizing: border-box; background-color: rgb(255, 255, 255);">更多Leonardo精彩,尽在 https://api.sap.com !


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29829936/viewspace-2199846/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
行万里路,读万卷书,阅无数人。 吃货一枚,爱吃湘菜,粤菜与杭帮菜,尝遍天下美食。 摄影爱好者,游遍名川大山,江河胡海,赏遍人间春色。 爱看电影,尤其是国产大片,好莱坞大片。英文名:Dickson Jin, 网名:风一样的BOY。精通SAP供应链咨询。2017年开始研习人工智能。

注册时间:2014-08-27

  • 博文量
    2598
  • 访问量
    4671719