node.js - 如何在本地在机器人框架中添加 LUIS 意图?
问题描述
我正在使用机器人框架开发一个聊天机器人。我已经开发了一个基本的 Node Echo Bot 和基本的 QnA Bot。我目前正在开发一个 LUIS 机器人,我已经在luis.ai上创建了一个意图。我在 Azure 上创建了机器人并下载了源代码。现在,我的导师让我开发一个与 LUIS 应用程序配合使用的机器人。我怎样才能做到这一点?
解决方案
我不完全确定我是否理解您未经编辑的问题,因此我会以两种解释方式回答它。
将 LUIS 添加到机器人
请参阅Core Bot 示例以供参考。
MicrosoftAppId=
MicrosoftAppPassword=
LuisAppId=<AddMe>
LuisAPIKey=<AddMe>
LuisAPIHostName=<AddMe>
const recognizer = new LuisRecognizer({
applicationId: process.env.LuisAppId,
endpointKey: process.env.LuisAPIKey,
endpoint: `https://${ process.env.LuisAPIHostName }`
}, {}, true);
const recognizerResult = await recognizer.recognize(context);
const intent = LuisRecognizer.topIntent(recognizerResult);
注意:Core Bot 在luisHelper.js中完成所有这些工作。然后它用类似的东西调用它bookingDetails = await LuisHelper.executeLuisQuery(this.logger, stepContext.context);
。你也可以这样做。如果您想了解每条用户消息的意图,另一种方法是在 中包含步骤 2 和 3 ( recognizer
, recognizerResult
, intent
) onMessage()
。
附加说明:如果要从预构建示例开始使用 LUIS,以下示例使用 LUIS:
在本地运行 LUIS
按照LUIS 容器操作方法从 Docker 容器中运行 LUIS。
基本上,您无需在 上查询您的应用程序luis.ai
,而是将您的机器人设置为查询您的 docker 容器,该容器正在运行您的 LUIS 应用程序的导出的容器化版本。如果您需要在机器人运行一段时间后提高应用的预测准确性,您可以将容器中的查询日志重新上传回 LUIS。
这是一个相当困难和广泛的教程,所以我在这里发布它是没有意义的。如果您遇到麻烦,请随时打开新的 Stack Overflow 票证。
推荐阅读
- excel - 我可以创建一个计算字段,如总数的百分比吗?
- ruby-on-rails - 将带有 ar_firebird_adapter 的 Firebird DB 表转储到 Rails schema.rb 中,但并非所有表都正确转储
- php - Vips 库线程限制
- reactjs - 尝试在使用 MUI 的 React 中使用 useState 对数组中的交替项目进行条件渲染 css
- flutter - 我的 Flutter 应用程序无法在 android studio 到 ios 模拟器上运行,因为 Command CompileSwift 因非零退出代码而失败
- ios - Ionic for IOS 与 Wordpress
- python - Tkinter 获得适合另一个 Python 程序的解决方案语法
- javascript - 尝试创建一个随机文字游戏,通过单击 html 按钮输出一个函数
- uwp - 调用 RaisePropertyChanged 时多次调用 UWP 属性集
- javascript - 按 LEVEL 遍历树