云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

金山云_虚拟主机宽带_优惠

小七 141 0

我最近读了Sudip Ghosh的几篇博文,我发现它们非常鼓舞人心。我想分享我自己的聊天机器人集成变种。我试图尽可能地简化方法,并考虑了一些简化的假设。

我将描述为Google Hangout Chat构建一个简单的聊天机器人的步骤,以便在S/4HANA中查找业务伙伴:

架构审查和简化步骤1:OData测试请求步骤2:使用DialogFlow构建聊天机器人步骤3:在Firebase云函数中实现chatbot业务逻辑测试

这里是预期结果的预览:

在内部部署的情况下,与SAP Conversational AI集成的"标准"架构如下(我修改的图片归功于本教程):

这是理论。如果采用这种体系结构,则需要几天/几周的时间来实现。如果你只是像我这样的业余爱好者,这看起来很复杂,因为它涉及到一些基础设施步骤,注册步骤等。如果你是一个疯狂的业余爱好者,你可能已经建立了这个基础设施,它不会花太多时间来实施它。

我是这些疯狂的业余爱好者之一,但我不想处理所有这些层。我的目标是在Google Hangout Chat中使用聊天机器人,这是Google Hangout的"专业"风格。原因是我目前的公司正在使用GSuite.

在聊天机器人之前,并不是所有的聊天应用都是平等的,而且聊天机器人的构建者并没有提供市场上所有聊天应用的集成。例如,物联,sapcai不提供Whatsapp和googlehangout聊天的连接器。我应该使用Hangout API编写一些自定义连接器吗?不

简化#1:我们不要对chatbot builder固执己见:我们应该使用SAP CAI吗?我的回答是有偏见的,因为我想要Hangout Chat,我想快速构建一个原型:让我们用DialogFlow代替SAP CAI,它提供与Hangout Chat1的集成。

简化#2:我们需要一个"服务器"来托管chatbot的webhooks调用的服务。实际上,这并不确切,我们需要的是REST服务,而不是服务器。我的意思是,仅仅编写函数而不用管理服务器不是更快吗?DialogFlow通过其内联编辑器提供了该选项:在引擎盖下,它正在Firebase2中提供云功能。

简化#3:我们需要在后端公开OData服务。为了简单起见,我们可以使用S/4提供的任何标准OData服务,比如APIŠBUSINESSŠPARTNER.

简化Š4:我们真的需要一个带云连接器的隧道通过SCP吗?云连接器实现了从我们的专用网络到SCP的连接,以及从SCP到我们的专用网络的连接。然后,我们将需要其他东西从SCP传递到外部世界。有些东西可以是API管理,也可以是SCP中的任何自制反向代理

但是如果我们不需要任何SCP服务,我们就不需要真正通过SCP。后端服务可以通过云连接器+SCP以外的任何其他安全方法公开。让我们将要求简化为:我们必须使URL https:///sap/opu/odata/sap/*可以从internet访问,因此可以从我们的聊天机器人访问。

前提条件:

我假设您知道如何在sap Gateway中公开odata服务,并且您已经使端点可以访问。

在我们的场景中,我们希望能够查询我们的bot业务合作伙伴。我们的目的不是实现一个复杂的搜索函数,所以让我们将查询简化为"查找名称中包含的合作伙伴"。从技术上讲,我们将把它实现为一个带有运算符"substringof"的简单OData请求过滤器,什么叫淘客,即GET请求:

确保您知道如何调用OData,例如使用Postman之类的工具,实际上,您已经成功地从您的请求中获得了结果。

OData示例结果:

DialogFlow是一个用于自然语言处理(NLP)的Google平台,在我们的环境中相当于SAP Conversational AI。官方文件可以在这里找到。

我们的代理是空的。正如我们在SAP CAI中所做的那样,我们需要创建至少一个意图来匹配用户从后端s/4查询业务伙伴的意图。

以黄色突出显示的文本实际上是一个操作的参数。在我们的场景中,NLP应该检测到这些文本作为业务伙伴搜索的查询字符串。

然后在要触发的操作的定义中使用它们:search\u Partner

action name是search\u Partner,云实,并作为唯一的输入参数,大数据分析是什么专业,名为Partner of entity(type)@任何系统:合作伙伴(任何字符串),这是一个列表(许多关键字的串联,比如查询字符串"Domestic US Supplier 90"的[Domestic,US,Supplier,90]。

现在,在屏幕的底部,我们将为这个意图触发一个webhook调用:

我们本可以为这个意图创建一个自定义实体,但是我们的小演示并不需要它。

实现部分是我们定义webhook的地方。在DialogFlow中,云服务器服务商,我们只能使用一个webhook URL,对于所有意图和操作都是相同的。实际上,这取决于"实现服务器"根据输入意图/操作路由到正确的处理。

我们这里有两个选项,