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