这是Jerry 2020年的第39篇文章,也是汪子熙公众号总共第222篇原创文章。
Jerry之前的文章介绍过,我所在的团队曾经用SAP Leonardo上的机器学习服务,开发了一系列消费这些服务的原型应用:
如何在Web应用里消费SAP Leonardo的机器学习API
如何对SAP Leonardo上的机器学习模型进行重新训练
SAP Leonardo图片处理相关的机器学习服务在SAP智能服务场景中的应用
最近我们开发的一个原型应用,包含了微信小程序,SAP Conversation AI同SAP Cloud for Customer的集成,需要把用户在微信小程序里同SAP Conversation AI的对话记录里的关键词提取出来。
在开发过程中,我发现位于SAP Leonardo Machine Learning Foundation这个包里的Machine Learning API,全部被标注成Deprecated状态:
这些API在今年的6月30日之后将停止使用。
在SAP官网和SAP社区上,我进行了一番搜索,得知这些处于Deprecated状态的API,将被一个新的SAP产品所替代:SAP Data Intelligence.
https://api.sap.com/package/SAPLeonardoMLFunctionalServices?section=OVERVIEW
在官网能够下载的SAP AI发展路线图上,我们能看到这样一张示意图:
其中SAP Conversation AI和SAP Intelligent Robotic Process Automation,Jerry之前都曾经介绍过:
使用Recast.AI创建具有人工智能的聊天机器人
SAP智能机器人流程自动化解决方案
而处于示意图中人形图示的头部地位的SAP Data Intelligence,是SAP推出的机器学习相关领域的模型开发,运行和生命周期管理的云端工具和平台。
新的SAP Data Intelligence位于SAP云平台的Kubernetes基础设施上,之前SAP Leonardo Machine Learning Foundation里的机器学习API,将会以Operator的形式,供机器学习场景建模的从业者使用。
在SAP官网上有对SAP Data Intelligence的概要介绍:
https://www.sap.com/sea/products/data-intelligence.html
这里Jerry简单介绍下SAP Data Intelligence在SAP Cloud Platform上的操作界面和用法。
SAP云平台上打开Data Intelligence实例的控制台:
登入之后,是一个类似SAP Fiori Launchpad风格的界面。对于Jerry来说,我需要将之前原型开发里,所有调用已经处于Deprecated状态的Machine Learning API的地方,全部替换成调用SAP Data Intelligence暴露出的Machine Learning服务,因此我首先进入的是Modeler这个tile.
进入Modeler之后,在左边的Operator标签页里浏览:
这个名叫MLF Functional Services Interence的Operator,从功能上说,就是SAP Leonardo Machine Learning Foundation里处于Deprecated状态API的继任者。
如何使用SAP Data Intelligence Modeler里提供的这些标准Operator呢?按照Jerry学习新东西的惯例,我们还是先来看个Hello World的例子。
在Graph标签页里,新建一个Graph. 从这个编辑页面能发现,这个Graph由若干节点和彼此之间的连线组成,每个节点是一个Operator,实现各种操作,而连线表示将一个Operator产生的输出传送到下一个Operator接收的输入去。因此,从视觉效果上说,这种模型非常形象地被称为Graph;从运行时的行为上讲,SAP也将Graph模型称之为Pipeline(管道),这个命令的由来和Linux系统里的管道理念一致。
我新建了一个Graph,命名为jerrytest,从Graph编辑页面里拖拽了两个Operator,分别是Data Generator和Terminal. 前者会每隔一段时间生成一批随机数,该输出直接重定向到第二个Operator里。因此我一旦运行这个Graph,查看Terminal Operatpor的控制台,就能看到随机数发生器生成的随机数打印。
Jerry之前分享过SAP Cloud Integration里的iFlow建模和SAP云平台上的Low Code Development(低代码开发)解决方案里的Microflow,加上本文正在介绍的SAP Data Intelligence Graph,这三者的建模都是在编辑器里,通过拖拽的方式来完成的。
在随机数发生器上点右键,选择Open Script,能查看用JavaScript实现的随机数生成代码:
从JavaScript代码能看出,这个Data Generator以500毫秒的时间间隔,生成随机数。
直接运行这个Graph,等其状态处于Running之后,查看Terminal Operator的控制台:
就能看到Data Generator产生的随机数不断打印出来了:
下载Graph的Diagnostic信息,能查看到更多Graph的运行时明细:
比如其使用的容器和容器镜像的名称:
至于原本SAP Leonardo Machine Learning Foundation里的机器学习API,如何通过SAP Data Intelligence里的Operator和Graph暴露出来,Jerry后续会介绍,感谢阅读。
更多阅读
如何在Web应用里消费SAP Leonardo的机器学习API
如何对SAP Leonardo上的机器学习模型进行重新训练
SAP Leonardo图片处理相关的机器学习服务在SAP智能服务场景中的应用
SAP云平台上的Low Code Development(低代码开发)解决方案
给用过SAP CRM中间件的老哥老姐们讲讲SAP CPI