Dialogflow,如何在另一个Intent中重用Intent

时间:2018-06-24 01:17:28

标签: dialogflow

我正在构建一个Dialogflow应用程序,该应用程序在很大程度上取决于用户提供的位置。我找到了一个名为“地图”的预制代理,该代理显示了如何训练该代理从用户的陈述中识别位置。但是,我想将此位置解析逻辑保持一定的分离度,并将其用作另一个Intent的一部分,而不是使同一Intent中的所有内容杂乱无章。

是否可以在另一个Intent中重用Intent? 要么 有不同的设计模式吗?

2 个答案:

答案 0 :(得分:0)

一个代理由多个意图组成。您可以向地图代理添加更多意图。

或者,一种常见的做法是拥有多个代理,但在用户和代理之间建立一个抽象层。该抽象层可以协调多个代理之间的共享上下文。问题是,这意味着您不能使用dialogflow连接器来超级轻松地发布Google Assistant,Facebook Messenger,Slack,Twilio等的代理。您需要自己做工作才能将它们连接到您的代理抽象层。

答案 1 :(得分:0)

您可以尝试使用上下文解决方法。

  • 将所有意图作为顶级意图,而没有任何后备或后续意图。
  • 在代码中使用上下文作为后备或后续意图,以识别操作/意图并执行任务。

|--- Default Welcome
|
|--- Default Fallback (single fallback for all, use context to identify intent you want to serve)
|
|--- Follow-up YES (serve YES follow-up for all using context)
|
|--- Follow-up NO (serve NO follow-up for all using context)
|
|--- Intent A (out context A)
|
|--- Intent B (out context B)
|
..
..
|
|--- Other Intents