我所在的團(tuán)隊(duì)曾經(jīng)用SAP Leonardo上的機(jī)器學(xué)習(xí)服務(wù),開(kāi)發(fā)了一系列消費(fèi)這些服務(wù)的原型應(yīng)用:
- 如何在Web應(yīng)用里消費(fèi)SAP Leonardo的機(jī)器學(xué)習(xí)API
- 如何對(duì)SAP Leonardo上的機(jī)器學(xué)習(xí)模型進(jìn)行重新訓(xùn)練
- SAP Leonardo圖片處理相關(guān)的機(jī)器學(xué)習(xí)服務(wù)在SAP智能服務(wù)場(chǎng)景中的應(yīng)用
最近我們開(kāi)發(fā)的一個(gè)原型應(yīng)用,包含了微信小程序,SAP Conversation AI同SAP Cloud for Customer的集成,需要把用戶(hù)在微信小程序里同SAP Conversation AI的對(duì)話記錄里的關(guān)鍵詞提取出來(lái)。

在開(kāi)發(fā)過(guò)程中,我發(fā)現(xiàn)位于SAP Leonardo Machine Learning Foundation這個(gè)包里的Machine Learning API,全部被標(biāo)注成Deprecated狀態(tài):

這些API在今年的6月30日之后將停止使用。

在SAP官網(wǎng)和SAP社區(qū)上,我進(jìn)行了一番搜索,得知這些處于Deprecated狀態(tài)的API,將被一個(gè)新的SAP產(chǎn)品所替代:SAP Data Intelligence. https://api.sap.com/package/SAPLeonardoMLFunctionalServices?section=OVERVIEW


在官網(wǎng)能夠下載的SAP AI發(fā)展路線圖上,我們能看到這樣一張示意圖:

其中SAP Conversation AI和SAP Intelligent Robotic Process Automation,Jerry之前都曾經(jīng)介紹過(guò):
使用Recast.AI創(chuàng)建具有人工智能的聊天機(jī)器人 SAP智能機(jī)器人流程自動(dòng)化解決方案
而處于示意圖中人形圖示的頭部地位的SAP Data Intelligence,是SAP推出的機(jī)器學(xué)習(xí)相關(guān)領(lǐng)域的模型開(kāi)發(fā),運(yùn)行和生命周期管理的云端工具和平臺(tái)。

新的SAP Data Intelligence位于SAP云平臺(tái)的Kubernetes基礎(chǔ)設(shè)施上,之前SAP Leonardo Machine Learning Foundation里的機(jī)器學(xué)習(xí)API,將會(huì)以O(shè)perator的形式,供機(jī)器學(xué)習(xí)場(chǎng)景建模的從業(yè)者使用。

在SAP官網(wǎng)上有對(duì)SAP Data Intelligence的概要介紹:

這里Jerry簡(jiǎn)單介紹下SAP Data Intelligence在SAP Cloud Platform上的操作界面和用法。
SAP云平臺(tái)上打開(kāi)Data Intelligence實(shí)例的控制臺(tái):

登入之后,是一個(gè)類(lèi)似SAP Fiori Launchpad風(fēng)格的界面。對(duì)于Jerry來(lái)說(shuō),我需要將之前原型開(kāi)發(fā)里,所有調(diào)用已經(jīng)處于Deprecated狀態(tài)的Machine Learning API的地方,全部替換成調(diào)用SAP Data Intelligence暴露出的Machine Learning服務(wù),因此我首先進(jìn)入的是Modeler這個(gè)tile.

進(jìn)入Modeler之后,在左邊的Operator標(biāo)簽頁(yè)里瀏覽:

這個(gè)名叫MLF Functional Services Interence的Operator,從功能上說(shuō),就是SAP Leonardo Machine Learning Foundation里處于Deprecated狀態(tài)API的繼任者。

如何使用SAP Data Intelligence Modeler里提供的這些標(biāo)準(zhǔn)Operator呢?按照J(rèn)erry學(xué)習(xí)新東西的慣例,我們還是先來(lái)看個(gè)Hello World的例子。
在Graph標(biāo)簽頁(yè)里,新建一個(gè)Graph. 從這個(gè)編輯頁(yè)面能發(fā)現(xiàn),這個(gè)Graph由若干節(jié)點(diǎn)和彼此之間的連線組成,每個(gè)節(jié)點(diǎn)是一個(gè)Operator,實(shí)現(xiàn)各種操作,而連線表示將一個(gè)Operator產(chǎn)生的輸出傳送到下一個(gè)Operator接收的輸入去。因此,從視覺(jué)效果上說(shuō),這種模型非常形象地被稱(chēng)為Graph;從運(yùn)行時(shí)的行為上講,SAP也將Graph模型稱(chēng)之為Pipeline(管道),這個(gè)命令的由來(lái)和Linux系統(tǒng)里的管道理念一致。

我新建了一個(gè)Graph,命名為jerrytest,從Graph編輯頁(yè)面里拖拽了兩個(gè)Operator,分別是Data Generator和Terminal. 前者會(huì)每隔一段時(shí)間生成一批隨機(jī)數(shù),該輸出直接重定向到第二個(gè)Operator里。因此我一旦運(yùn)行這個(gè)Graph,查看Terminal Operatpor的控制臺(tái),就能看到隨機(jī)數(shù)發(fā)生器生成的隨機(jī)數(shù)打印。
Jerry之前分享過(guò)SAP Cloud Integration里的iFlow建模和SAP云平臺(tái)上的Low Code Development(低代碼開(kāi)發(fā))解決方案里的Microflow,加上本文正在介紹的SAP Data Intelligence Graph,這三者的建模都是在編輯器里,通過(guò)拖拽的方式來(lái)完成的。
在隨機(jī)數(shù)發(fā)生器上點(diǎn)右鍵,選擇Open Script,能查看用JavaScript實(shí)現(xiàn)的隨機(jī)數(shù)生成代碼:

從JavaScript代碼能看出,這個(gè)Data Generator以500毫秒的時(shí)間間隔,生成隨機(jī)數(shù)。

直接運(yùn)行這個(gè)Graph,等其狀態(tài)處于Running之后,查看Terminal Operator的控制臺(tái):

就能看到Data Generator產(chǎn)生的隨機(jī)數(shù)不斷打印出來(lái)了:

下載Graph的Diagnostic信息,能查看到更多Graph的運(yùn)行時(shí)明細(xì):

比如其使用的容器和容器鏡像的名稱(chēng):

至于原本SAP Leonardo Machine Learning Foundation里的機(jī)器學(xué)習(xí)API,如何通過(guò)SAP Data Intelligence里的Operator和Graph暴露出來(lái),Jerry后續(xù)會(huì)介紹,感謝閱讀。