在这个博客中,我想分享如何构建一个简单的chatbot,该chatbot在sapcloudfoundry内部运行,并与SAP会话AI自然语言处理(NLP)组件集成。bot将在NCT上回答用户的查询(临床试验.gov识别号)标题和状态。用户可以说:
nct title for NCT00269126
status for NCT00269126
,bot会用对应的nct号码的title和status进行响应。
这个chatbot应用在本地运行的原因是我们需要与任何本地后端系统集成。我发现在安全性、隐私性、功能更新以及与后端系统的集成方面,将chatbot应用程序放在本地比较容易。
下面是一个高层图表来说明我们将要构建什么。
基本上,淘客基地,我们需要以下组件来使其工作:
SAP云平台:Cloud Foundry subaccountSAP会话AISAP Cloud Connector&NodeJS app安装在本地机器上
继续之前,请确保您拥有这些SAP组件的帐户。
让我们通过以下步骤来构建一个。
NodeJS Bot app
在本地机器上创建NodeJS Bot app:应用程序.js.注意,bot正在端口8081上运行。我们稍后将在Cloud Connector和Cloud Foundry中配置此端口。
安装必要的组件:
使用此命令从本地计算机运行bot:
SAP Cloud Connector
在本地计算机上安装SAP Cloud Connector并对其进行配置。
登录到https://:8443/并添加的子帐户您的云铸造厂
填写信息:
后端类型:非SAP系统协议:HTTP内部主机是运行bot的本地计算机的IP内部端口:8081(我们的NodeJS bot正在这个端口上运行–如果这个端口不可用,请随意更改)主体类型:无
确保主机状态可访问,并添加资源"/"
这是SAP Cloud Connector设置的全部内容。
SAP Cloud Foundry
步骤1–创建目标
导航到您的Cloud Foundry子帐户选择Connectivity>Destinations>New Destination
输入以下信息
Name:nodeBackend1(这将在后面的步骤5中配置应用程序路由器时用作目的地)类型:HTTPURL:是指向端口为8081的本地计算机的带有的URL(示例::8081)代理类型:内部部署身份验证:NoAuthentication
步骤2–创建目标实例
导航到试用帐户的space dev
选择Services>Service>Marketplace。筛选dest并选择destination.
屏幕服务:destination–Instances,点击New Instance.
选择lite作为服务计划,点击Next.
下一屏幕,点击Next.
我们将在manifest文件中指定所需的服务来创建这样的绑定。单击"下一步"继续。
在下一个屏幕上,哪个云服务器好,输入destinationnode demo lite作为实例名称,然后单击"完成"。
我们创建了目标实例。
步骤3–创建连接实例
再次返回开发空间并导航到服务市场。按连接过滤并选择连接。
在屏幕服务:连接-实例,单击新建实例。
选择lite作为服务计划并单击下一步。
在下一屏幕选择下一步。
我们将在清单文件中指定所需的服务以创建此类绑定。单击下一步继续。
在下一个屏幕上,企业管理软件下载,使用connectivity demo lite作为实例名称,然后单击Finish。
创建连接实例。
步骤4–创建XSUAA实例
转到您的开发空间并导航到Service Marketplace。按授权过滤,选择授权和信任管理。
屏幕服务:授权和信任管理-实例选择新实例。
选择应用程序作为服务计划,然后选择下一步。
提供以下参数,然后单击下一步。
我们将在清单文件中指定所需的服务来创建此类绑定。单击"下一步"继续。
在下一屏幕上,物联网教室,使用xsuaanodemo作为实例名并单击Finish。
我们创建了XSUAA实例。
您现在应该看到以下服务实例:
步骤5–创建和配置应用路由器
我们将创建一个应用路由器NodeJS,该NodeJS是使用SAP的NPM注册表安装的https://npm.sap.com。有关此注册表的信息在npm启动文件.npmrc中。
在本地计算机上创建一个名为appnode的新文件夹。创建新文件包.json在包含此内容的文件夹中:
在包含此内容的同一文件夹中创建新文件.npmrc:
创建新文件xs-应用程序.json在具有以下内容的同一文件夹中。目标nodeBackend1是我们在前面的步骤1中创建的。我们将在SAP Conversational AI上为webhook调用目的将身份验证类型设置为basic。
步骤6–部署应用程序路由器
创建zip文件appnode.zip文件包含您之前创建的所有文件。
创建一个文件清单.yml对于appnode。我们定义了所需的服务xsuaanode-demo、connectivity-demo-lite和destinationnode-demo-lite,淘客api,以便在部署期间创建应用路由器和这些服务之间的绑定。
用您的子帐户ID替换主机属性的唯一ID。导航到开发空间并选择应用程序>部署应用程序。
浏览到zip文件appnode.zip文件以及清单.yml点击部署
部署完成后,SAP云平台将尝试启动app router并检查请求的状态,如果没有错误,它将变为绿色。
第7步-在您的开发空间上运行app router
,导航至应用程序>appnode demo.
注意应用程序路径的链接:https://appnode演示-。cfapps.eu10软件.hana.ondemand.com/. 我们稍后将在SAP Conversational AI webhook设置中使用此链接。
这是SAP Cloud Foundry设置的全部。
SAP Conversational AI
登录到SAP Conversational AI并创建一个名为nct的新机器人。
创建后,您将看到五个选项卡:训练、构建、编码、连接和监视。
训练选项卡
导航到训练选项卡,创建具有相同名称的新意图,然后单击"创建意图"。您可以定义任意名称。
创建自定义实体查询,选择自由实体,点击〖创建〗按钮。同时创建另一个名为NCTID的实体。
最后,我们将创建两个实体:query和NCTID。