如何在LuisActionDialog传递上下文中从一个intent转到另一个intent

时间:2017-06-02 14:52:07

标签: c# botframework luis

我正在使用Microsoft Bot Framework,LUIS和LUISActionBinding开发一个机器人。

在我的LUIS应用程序中,我有3个主要意图: BuyX FindA FindB 。机器人的主要目标是帮助用户购买X,但是他们可能首先想要使用一些过滤器来搜索A或B,或者直接购买X.

我使用必需和可选字段为每个意图设置了动作,一切都很好,我能够接收我的意图处理程序操作返回的对象。

在FindA处理程序中,我帮助用户选择一个A,在FindB处理程序中,我帮助用户选择一个B.在BuyX中,我需要来自A和B的信息才能继续。但是如果用户使用了FindA或FindB对话框,我想重复使用的东西。

我的问题是如何从意图FindA中触发意图BuyX,以便代码到达我的BuyXAction类 已根据我从FindA动作+意图中获取的内容分配了一些属性。

这样用户就不必输入任何说他想要购买X的东西,也不必重复他在FindA对话框中已经/选择过的东西。

提前致谢。

1 个答案:

答案 0 :(得分:2)

我相信SubActions的概念可能对您有所帮助。请查看此documentation topic以了解有关其工作原理和一些代码亮点的更多信息。

  

触发没有上一个上下文的上下文操作(即来自   划痕)

     

用户可以提供将触发上下文操作的输入   (没有当前背景)。该框架支持这种情况   提供一种为它实例化上下文链的方法(即   提供的父行动链将提供整个上下文),   最后执行请求。