【问题标题】:How to call luis dialog from general dialog and luis dialog如何从常规对话框和 luis 对话框中调用 luis 对话框
【发布时间】:2017-06-16 16:15:11
【问题描述】:

我正在使用节点 js,我想调用 luis dialog("morningUpdate") 通用对话框(“工作”)

dialog.matches('morningUpdate',[    
    function (session, args, next) {
  }
]);

bot.dialog('/work', [
  function (session, args) {
    //how to call here "morningUpdate" dialog
  }
]);

我们如何做到这一点。

【问题讨论】:

  • morningUpdate 是对话框的名称还是 LUIS 中意图的名称?
  • 意图名称是morningUpdate。这意味着意图和对话的名称都相同
  • 所以您想手动调用 LUIS 对话框,而不是仅使用 LUIS 识别器?
  • 是的,我想有时手动调用 LUIS 对话框,有时它会由 LUIS 识别器调用
  • 好的,我添加了问题...标准 beginDialog 应该可以解决问题..您尝试过吗?

标签: node.js botframework azure-language-understanding


【解决方案1】:

要调用新对话框,您可以使用session.beginDialog('nameOfDialog');。查看basicadvanced 多对话框示例。

如果您需要 LUIS 示例,请查看此one

【讨论】:

  • 您在代码中的对话框定义错误,我假设您将对话框更改为 bot.dialog('morningUpdate', [...]); dialog.matches 没有定义对话框。
  • dialog.matches 是正确的,它对我有用.. 你可以检查github.com/Microsoft/BotBuilder/issues/1929
  • 您的解决方案 session.beginDialog('nameOfDialog');给出错误 Error: Dialog[*:morningUpdate] not found.
  • 所以你没有那个名字的对话框。我认为这个错误很明显。看看我链接的样本。同样在同一个 repo 中,您也可以找到使用 LUIS 的示例。
  • 任何方式您的解决方案都适合我。我改了,但还是不清楚匹配项
【解决方案2】:

这是实际答案

link for code

dialog.matches('morningUpdate', 'morningUpdate');
   bot.dialog('morningUpdate', [    
        function (session, args, next) {

        }
    ]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多