我正在使用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对话框中已经/选择过的东西。
提前致谢。
答案 0 :(得分:2)
我相信SubActions的概念可能对您有所帮助。请查看此documentation topic以了解有关其工作原理和一些代码亮点的更多信息。
触发没有上一个上下文的上下文操作(即来自 划痕)强>
用户可以提供将触发上下文操作的输入 (没有当前背景)。该框架支持这种情况 提供一种为它实例化上下文链的方法(即 提供的父行动链将提供整个上下文), 最后执行请求。