当我们的服务器与 dialogflow 交互时,我们是否需要 webhook?

Do we need webhook when our server is interacting with dialogflow?

我们正在使用对话流实现我们定制的聊天机器人。当用户输入任何文本时,我们的 javascript 代码将此文本发送到我们的 python 服务器,服务器与 google 对话流交互,服务器获得完整的响应。我有几个问题如下。

  1. 当服务器从对话流中得到响应时,它会处理 响应并向 UI 发送一些响应。我们还需要 当我们的服务器得到响应时启用履行?基本上如果 服务器正在与对话流交互并获得响应,什么是 webhook的使用?

  2. 是否有至少强制执行对话流意图的要求 实体之一?我经历了 Can I make Dialogflow intents require atleast one of the trained entities?,它说要为该意图启用 webhook 实现,如果没有提供实体,则重新提示用户输入至少一个实体列表。所以在我的例子中,如果不需要 webhook,我是否需要在服务器收到响应后在服务器中执行它,或者无论如何对话流将自动强制执行条件而服务器不承担责任?

在您的情况下,不,您不需要使用 webhook fulfillment。

您可能仍希望使用它,但是,如果您想将业务逻辑(将在 webhook 中)与 UI/UX 逻辑(将在您的 python 服务器中,并且在 javascript 客户端中)。但是没有要求你以这种方式分开。

同样,您可以使用 python 代码强制执行“至少一个”参数匹配 - 您正在将该逻辑从 webhook 移至现有服务器。

无论哪种方式,这都有些笨拙。如果您有不同的实体类型,一种替代方法是拥有多个 Intent,每个可能的类型一个,并根据需要标记参数。这样,只有提供了参数,Intent 才会匹配。如果您随后需要将这些 Intent 中的每一个报告为“相同”Intent,您可以将该逻辑添加到您的 python 代码中。