【问题标题】:How to add LUIS intent in bot framework locally?如何在本地在机器人框架中添加 LUIS 意图?
【发布时间】:2019-06-04 12:21:04
【问题描述】:

我正在使用机器人框架开发一个聊天机器人。我已经开发了一个基本的 Node Echo Bot 和基本的 QnA Bot。我目前正在开发一个 LUIS 机器人,我已经在 luis.ai 上创建了一个意图。我在 Azure 上创建了机器人并下载了源代码。现在,我的导师要求我开发一个与 LUIS 应用程序配合使用的机器人。我该怎么做?

【问题讨论】:

  • 我已根据我的理解编辑了您的问题。不过,您能否澄清一下:您是否只是想制作一个与 luis.ai 上的 LUIS 应用程序交互的机器人?或者您是否尝试创建一个 LUIS 机器人在本地运行 LUIS 应用程序,例如 in a container

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


【解决方案1】:

我不完全确定我理解your unedited question,所以我会以我解释它的两种方式回答它。

将 LUIS 添加到机器人

请参阅Core Bot Sample 以供参考。

  1. Add your LUIS connection information to your .env file
MicrosoftAppId=
MicrosoftAppPassword=
LuisAppId=<AddMe>
LuisAPIKey=<AddMe>
LuisAPIHostName=<AddMe>
  1. Instantiate a LuisRecognizer
const recognizer = new LuisRecognizer({
    applicationId: process.env.LuisAppId,
    endpointKey: process.env.LuisAPIKey,
    endpoint: `https://${ process.env.LuisAPIHostName }`
}, {}, true);
  1. Get the result and intent of user input
const recognizerResult = await recognizer.recognize(context);

const intent = LuisRecognizer.topIntent(recognizerResult);

注意:Core Bot 在luisHelper.js 中执行所有这些操作。然后它用bookingDetails = await LuisHelper.executeLuisQuery(this.logger, stepContext.context); 之类的东西调用它。你也可以这样做。如果您想了解每条用户消息的意图,另一种方法是在 onMessage() 中包含步骤 2 和 3(recognizerrecognizerResultintent)。

附加说明:如果要从预构建示例开始使用 LUIS,以下示例使用 LUIS:

在本地运行 LUIS

按照 LUIS Container How-To 从 Docker 容器中运行 LUIS。

基本上,您无需在 luis.ai 上查询您的应用,而是将您的机器人设置为查询您的 docker 容器,该容器正在运行您的 LUIS 应用的导出容器化版本。如果您需要在机器人运行一段时间后提高应用的预测准确性,您可以将容器中的查询日志重新上传回 LUIS。

这是一个相当困难和广泛的教程,所以我在这里发布它没有意义。如果遇到问题,请随时打开新的 Stack Overflow 票证。

【讨论】:

    猜你喜欢
    • 2018-03-28
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    相关资源
    最近更新 更多