【问题标题】:Connecting LUIS to Microsoft Bot Framework将 LUIS 连接到 Microsoft Bot Framework
【发布时间】:2017-09-06 07:39:37
【问题描述】:

在假期周末,我一直在尝试让机器人使用 Microsoft Bot Framework 工作。我正在为 Node.js 使用 botbuilder 包的 3.9.1 版。

我在 www.luis.ai 创建了一个应用程序和模型。我已经能够通过“训练和测试”功能成功测试我的意图。然后,在我的实际 Node 代码中,我有以下内容:

let connector = new BotBuilder.ChatConnector({ 
  appId: 'myId', 
  appPassword: 'myAppSecret'
});

let bot = new BotBuilder.UniversalBot(connector);
let luis = new BotBuilder.LuisRecognizer('myLuisAppUrl');

let intent = new BotBuilder.IntentDialog({ });
intent.recognizer(luis);                

intent.matches('Intent.1', '/execute-report');
intent.matches('Intent.2', '/execute-batch-job');
intent.onDefault('/unknown');

bot.dialog('/', intent);

bot.dialog('/execute-report', [function(session, args, next) {
  var result = ((Date.now() % 2) === 0) ? 'Report Ran!' : 'Failed';                        
  session.send(result);
}]);

bot.dialog('/execute-batch-job', [function(session, args, next) {
  var result = ((Date.now() % 2) === 0) ? 'Batch Job Ran!' : 'Unable to run Batch Job';
  session.send(result);
}]);

bot.dialog('/unknown', [function(session, args, next) {
  session.send('What did you ask for?');
}]);

与我的机器人交互时,我总是得到“你要求什么?”。换句话说,在这一点上,我知道:

  1. 我可以成功地与我的机器人交互。但是,/unknown 对话框总是被调用,这不是正确的交互方式。
  2. 我在 LUIS 中的模型看起来正确:

    一个。如果我在 LUIS.ai 测试应用中输入“运行报告”,得分最高的意图是“Intent.1”

    b.如果我在 LUIS.ai 测试应用中输入“执行批处理作业”,得分最高的意图是“Intent.2”

但是,我的机器人没有发送适当的响应。 /execute-report/execute-batch-job 对话框从不使用,即使它们应该使用。我不明白我做错了什么。对我来说,我相信我已经正确设置了我的机器人。我看不出我做错了什么。有人可以告诉我我做错了什么吗?有没有办法在我的节点代码中查看从 LUIS 返回的响应,类似于在 LUIS.ai 的“测试”应用中看到的响应

【问题讨论】:

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


    【解决方案1】:

    如果您转到 LuisRecognizer 的第 89 行并在新行中添加以下内容:console.log(result);,您将看到您的机器人已收到的 LUIS 响应对象。

    您的代码在我看来是正确的,因此问题可能出在 LUIS 方面。你发布了你的应用程序吗?

    【讨论】:

    • 我不确定LuisRecognizer 的第 89 行是什么意思。我以为您的意思是 botbuilder.d.ts 文件。但是,我在那里没有看到相关的行。你能告诉我你指的是什么吗?此外,我已确认我已发布 LUIS 应用。
    • 这是我引用的line。对于您的本地路径,它将是 ./node_modules/botbuilder/lib/dialogs/LuisRecognizer.js
    • 没问题,很高兴我能帮上忙!
    • @ZachTempleton 如果您能够解决您的问题,为什么不将其作为评论/编辑添加到您的问题或此答案中,以供未来的读者阅读?干杯
    猜你喜欢
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 2017-07-18
    • 2021-06-27
    • 2018-05-22
    • 2018-12-16
    • 1970-01-01
    相关资源
    最近更新 更多