这是Botpress 与 Dialogflow详尽比较的第二部分。第一部分请点击此处。
使用现有集成
有哪些集成,集成的难易程度如何?内容是按集成还是按类型?
现有的集成是节省时间的关键所在。
Dialogflow ES
以下是 Dialogflow ES 在用户界面中的集成:
- Dialogflow 电话网关 BETA
- Avaya
- 信号线
- Voximplant
- 音频编码
- Twilio
- 电话
- 基因Cloud
- Twilio
- 网络演示
- Dialogflow Messenger BETA
- 来自 Facebook 的 Messenger
- 来自 Facebook 的工作场所 BETA
- 松弛
- 电报
- 线路
- Kik
- Skype
- 火花
- Twilio IP 消息传送
- Twilio(短信)
- 推特
- Viber
名单还真不少!
添加 Facebook Messenger 会给你提供说明、更多信息链接、环境信息和适当的令牌。
Dialogflow CX
下面是用户界面中的 Dialogflow CX:
- Avaya
- Voximplant
- 音频编码
- 对话流信使
- Facebook Messenger
- 线路
如果不是一切看起来如此相似,人们可能会认为 Dialogflow CX 与前者共享了一半名称,但只有两个非基于网络的文本集成!
Dialogflow CX 重复使用了 Dialogflow ES 的功能,可以直接添加 Facebook Messenger。我们不禁要问,他们为什么不重复使用更多的功能呢?
Botpress v12
Botpress 的集成方式并不多。您需要更改一些配置文件并阅读相关文档。
在模块页面上,唯一的参考是网络通道--在Botpress Studio 开发机器人时,模拟器也可以方便地使用网络通道。
文档页面列出了这些通道:
- 网站嵌入
- 匡威应用程序接口
- Facebook Messenger
- 电报
- 微软团队
- Twilio
- 松弛
- 思慕(阳光对话)
- Vonage
从数量上看,它并不比 Dialogflow CX 多多少,但它提供了几种流行的基于文本的平台。
尽管需要更改配置文件才能启用消息通道,但文档中的说明非常详细。
集成 Facebook Messenger 需要更改配置文件。对于非技术人员来说,这可以变得更加容易。
要获取网络聊天的嵌入 URL,必须打开文档并自行创建 URL。
比较
与 Dialogflow CX 和Botpress 相比,Dialogflow ES 有更多现成的集成。Botpress的用户界面只提到了 webchat,但它支持与 Dialogflow CX 类似数量的集成。到目前为止,网络聊天通道是最容易测试的,因为它不需要配置(Botpress 需要查看文档才能完成配置,而 Dialogflow CX 则不需要)。不过,与 Dialogflow CX 相比,Botpress 支持更常见的基于文本的集成。Botpress 比 Dialogflow CX 更胜一筹,因为与基本服务的集成有些复杂,总比缺少集成要好。
可视化整个对话
机器人是如何组织的,团队成员的加入是否容易?您的团队会喜欢在平台上工作和协作,还是会感到沮丧?这三个平台在这方面的差异令人惊讶。
Dialogflow ES
Dialogflow ES 中的一切都是平面的。没有流程编辑器。这意味着,如果您想将用户从另一个意图发送到另一个意图,可视化将非常困难。您需要使用上下文。
- 一份清单定乾坤
- 如果想控制对话的流程,就需要在意图中添加输出上下文,以控制用户的去向。
- 在退款订单意图中,添加相同的上下文作为输入。对其他选项也采取同样的操作。
- 在 "意图 "列表中,你可以点击 "添加后续意图",这样就可以创建一个具有默认上下文的意图。但如何重新排列嵌套的意图呢?
1 of 4
您很快就会发现,如果要增加更多的复杂性(后续意图),这很快就会变得难以跟踪。缺少可视化流程编辑器就是造成这种情况的原因,也是 Dialogflow ES 的最大不足(可能也是促使 Dialogflow CX 诞生的原因)。
Dialogflow CX
Dialogflow CX 有一个流程编辑器,但它更像是一个流程可视化器。你可以看到你的流程,但你必须通过许多菜单,并通过填写表格来创建它们,以改变它们的外观。
- 每个页面就像一个节点,代表对话中的一个位置。这个页面有一个选择和另外两个按钮。
- 点击某个页面(如退款订单)会打开该页面并关闭其他页面。您可以看到邻近的页面。
- 可视化器一次显示一个流程(一组页面),在左侧可以看到所有页面。
- 起始页是包含所有功能的好地方。路由就其含义(将用户发送到不同页面或流程)而言非常有意义。
1 of 4
没有一种简单的方法可以在进入页面时发生某些操作(如开始)。相反,此类操作必须在触发路径时发生。假设您想在对话开始时添加一个跟踪像素,以便在分析平台中跟踪使用情况。您必须在每个路由和事件处理程序中将其添加为 webhook(自定义代码实现)。
事件处理程序是值得注意的路由,用于处理用户提交时没有任何文本或默认回复等情况。
由于两个原因,对话的流程可能很难把握。首先,对话没有自上而下的逻辑。可以同时触发多个路由,因此对话中没有单一的位置。第二个原因是 Dialogflow 没有将路由/事件处理程序与它们流向的页面可视化地联系起来,而是将页面视为一个整体。
流程用户界面给人的感觉更像是一个可视化界面,而不是一个编辑器,因为你不能移动任何东西,也不能在线编辑任何东西。这种缺乏控制的感觉一开始会让人有些沮丧,但慢慢就会习惯。
Botpress v12
可视化是Botpress 真正的亮点之一!可视化流程编辑器/流程逻辑直观而简单。而且一切都非常迅速。
- 这款可视化流程编辑器没有秘密。它能显示正在发生的一切。每个过渡都连接到另一个节点。
- 创建和更新决定用户下一步被发送到哪里的逻辑非常简单。
- 单击节点时,会弹出节点检查器,其中包含标题编辑器和三个选项卡。
- 如果连接节点的线路变得杂乱无章,可以将流程拆分成多个流程。这将使线路数量保持在可控范围内。
- 意图与实体 "页面就是您所期望的。
- 集成的问答功能非常出色。您可以添加不需要看到整个对话流程的贡献者,让他们发表意见,而不会中断对话的其他部分。
1 of 6
Botpress的流程编辑器反应灵敏、透明、按时间顺序排列且简单明了。问与答 "功能非常出色,无需太多培训就能让人们做出贡献。
比较
Dialogflow ES 有一种直观显示对话的方法--列表。复杂的对话似乎不是优先考虑的对象,因为对话逻辑所使用的方法 "上下文 "并没有显示在意图列表页面上。对于常见问题解答来说,这完全是合理的,但对于更复杂的对话来说,就很难搞清楚到底发生了什么。
Dialogflow CX 有一个流程可视化工具,可以说是最合适不过了。您可以通过右侧菜单编辑流程,填写和更新表单并保存。与 Dialogflow ES 相比,它在帮助用户可视化对话逻辑方面做得更好。遗憾的是,流程编辑器并不显示每条路径的走向,而是将整个页面(或节点)视为一个大节点,并将所有与其他节点的连接合并在一起,这样就更难看出哪条路径通向哪里。此外,还可能出现多重匹配或同时触发多个路径的情况,因此必须小心谨慎。用户界面在显示意图是可选项以及如何处理多重匹配方面也做得不好。总的来说,很多事情都感觉比想象的要复杂。熟悉 Dialogflow CX 的人不会遇到太多问题,但技术水平较低的团队成员上手就需要时间了。
Botpress 有一个合适的流程编辑器。您可以在流程中移动节点(相当于 Dialogflow CX 页面),并通过拖放将它们连接起来。
Botpress 中的节点有三个按时间顺序排列的阶段,即开始、响应后和过渡阶段。Dialogflow CX 将事物组织在隐藏但可访问的面向路由的筒仓中。这意味着您的节点会根据用户将被发送到的位置做不同的事情,而且您无法一目了然地看到所有的事情。Botpress这种方法的好处是,您可以看到发生的所有事情及其逻辑。显示欢迎信息等内容将在流程本身中显示。问与答功能让您可以快速招募非技术人员,让他们立即为聊天机器人做出贡献。您可以将其视为 Dialogflow CX 中的一个迷你 Dialogflow ES 页面。
易于扩展
扩展有两种类型:可扩展以处理大量流量的机器人和可扩展以处理大量对话流的复杂机器人。
您不必担心 Diaglogflow ES 和 CX 或Botpress 的扩展问题--前提是您的项目涉及对话式人工智能平台,而且您的功能与对话直接相关。Botpress Enterprise、Dialogflow ES 和 CX 的基础版本都可以自动扩展,并能处理巨大的流量。对于客户代码,Dialogflow 可以调用cloud 函数(非常可靠),而Botpress 则在基础应用程序内处理(同样是自动扩展)。
在管理非常复杂的机器人方面,您可以参考前面关于整个对话可视化的章节。Dialogflow CX 和Botpress 都能处理大型对话流。Dialogflow CX 在可视化方面更胜一筹,而Botpress 的界面更易懂、更简洁。所有平台都支持用户角色管理,可以为每个团队成员设置不同的角色。
从机器人内存中保存和提取(如订单号)
内存是任何小型应用程序的必备条件。从其他服务获取信息并显示给用户可能是最常见的用例。其他情况还包括记住用户对问题的回答,以便日后将其考虑在内。
Dialogflow ES
如果没有流程编辑器,机器人记忆在 Dialogflow ES 中就不那么重要了。在用户界面中,无法根据参数显示或不显示意图。如果要实现这种逻辑,就需要使用代码。
- 在意图编辑器中,有一种设置 "变量"(使用实体)的非常方便的方法,但却无法通过它进行筛选!
- 你可以用上下文来表示只发生一次的事情,但当我们讨论非二进制逻辑时,这就不适用了。
1 of 2
如果想在 Dialogflow ES 中管理内存,就需要编写代码。Dialogflow ES库可以提供帮助,但如果您需要为每个流程逻辑编写代码,那么您将为其他平台原生集成的东西编写大量代码。在这一点上,您使用 Dialogflow ES 实际上只是为了它的 NLU,而您也可以从其他地方获得 NLU。
Dialogflow CX
保存和读取僵尸存储器通过参数完成。
- 在 Dialogflow CX 中创建第一个路由时,您可能会看到 "参数 "一词。由于参数需要特殊的格式,请务必点击链接进行语法参考。
- 无需任何代码即可在每个会话中问候某人一次的示例。请注意访问变量 "greeted "的方式与保存的方式是不同的。
1 of 2
参数预设之所以被称为预设,是因为它们发生在调用网络钩子(自定义代码)之前。
理解语法需要一些时间。你需要阅读文档才能使用这项功能。遗憾的是,没有任何自动完成/建议界面来告诉你有哪些变量可用。
最后一种修改参数/变量的方法是使用自定义代码/webhooks。这需要阅读本文档,可能还需要加载 Dialogflow CX 库以使用 API。提交响应时,可以将 session_info.parameters 属性设置为所需的新参数。这需要大量阅读,而且很难找到在 webhooks 中更改参数的示例。
Botpress v12
内存的访问和设置使用Botpress 中的 "变量"。
- 在节点检查器中,创建新操作会显示此提示。
- 在 "执行代码 "选项中选择 "设置变量 "操作会显示三个文本输入。类型决定变量存在的时间。名称是变量的名称,而值则是要赋值的内容。
- 变量设置完成后,就可以创建一个过渡(连接到另一个节点/流程的链接),并将其设置为条件,如图所示。
- 或者像这样展示。
- 代码编辑器中的三行代码开发人员可以访问所有变量类型,这意味着他们可以直接读取和更新状态。然后,您就可以在流程中调用这些变量。
1 of 5
比较
Botpress'的超强功能是拥有一个可访问并能更新用户内存的应用内代码编辑器。这将大大简化迭代过程。
无论在哪个平台上,这都不是一件简单到完全直观的事情。在 Dialogflow CX 和Botpress 中,您可能首先发现它的地方是在评估表达式时,而不是在分配信息时。Botpress 稍微领先于 Dialogflow CX,因为它包含图形化变量插入功能。
Dialogflow 在这里的命名对于开发人员来说有点出乎意料。参数是变量,可以在运行时修改。Webhooks 不仅仅是信号,它还可以用来用远程数据设置参数。
Dialogflow ES 在这里根本不是竞争者,这可能是因为它是为更简单的chatbots.NET 应用程序设计的。
价格
这是最容易谈论,也是最难比较的类别。以下是三种方案的定价页面:
Dialogflow ES
https://cloud.google.com/dialogflow/pricing#es-agent
Dialogflow CX
https://cloud.google.com/dialogflow/pricing#cx-agent-2021-09
Botpress
比较
Dialogflow CX 比 Dialogflow ES 贵得多,这很有趣,因为两者的主要区别在于增加了可视化流程编辑器。Botpress同样拥有可视化流程编辑器的 Dialogflow ES 不采用自助服务模式,因此您必须联系他们了解价格。Botpress 开源应用程序的基础部分是免费的,客户可以付费解锁企业功能并获得支持。如果您不想按信息付费,又乐意自己托管,那就必须使用Botpress 。
结论
如果您想快速构建一个纯粹的常见问题式机器人,Dialogflow ES 可能是您的最佳选择。如果你没有自定义代码的要求,只有一个小团队,不关心内部部署和初级对话流,那么它是最合适不过的了。它有很好的集成,已经由 Google 托管,有很好的 NLU,而且界面简单明了。除此之外,还有其他更好的选择。
Dialogflow CX 基于 Dialogflow ES 的许多概念,并增加了扩展功能,即流程编辑器和一些 NLU 功能(如识别事物列表)。不过,它希望客户自己实现大部分集成。如果您有一个复杂的应用程序,并希望使用谷歌的产品,这将完成工作。
Botpress Dialogflow ES 是开源软件,而不是 Saas。从功能上看,它与 Dialogflow CX 相似,但具有 Dialogflow ES 的简洁性。Dialogflow CX 有一些Botpress 没有的功能和细节,但它们大多是相同的。如果您需要更改任何内容,您可以完全控制。除此之外,Botpress 更简洁、更易懂的界面可以说是选择Botpress 的最好理由。
在Botpress 应用程序中加入代码编辑器看似不起眼,但许多更改都需要在流程中进行更新,因此将两者紧密结合在一起非常有意义。读取和更新变量更方便,您可以更新和测试这两个变量,而不必每次都重新部署代码。
Dialogflows 和Botpress 之间可能存在的一个障碍是部署问题。如果出于数据控制的考虑,您希望一切都在内部部署,那么请记住,Dialogflows 是由 Google 托管的 SaaS。另一个影响是部署和维护的便利性。在 Dialogflow 中,获取或更新信息的自定义代码必须在单独的流程中处理,但很可能在 GoogleCloud 函数中处理。Dialogflow 更易于部署,但您必须自行部署添加的任何代码,这会带来Botpress 所没有的复杂性,因为 将代码和逻辑捆绑到一个方便的工作流中。所有解决方案都具有自动扩展功能,能够处理您向它们提出的任何问题。
定价比较复杂,因为实际用量取决于聊天机器人。Dialogflow 的定价结构最简单明了,采用按请求定价模式。CX 的每次请求收费比 ES 高一个数量级。最后,Botpress 企业定价是根据您的需求定制的。如果不想按信息付费,就必须使用Botpress 。一般来说,行业研究表明chatbots 通常是利润很高的项目,我们希望所有定价模式都能反映这一点。
认为Botpress 适合您?我们的销售团队很乐意与您交流,了解您下一个项目的需求。您也可以自己 试用 Botpress ,因为它是开源的。