问题描述
我正在为我们的聊天机器人使用声明式自适应对话框。我在.dialog文件中包括识别器LUIS感到很累。但是我在执行时未在工厂错误中注册Microsoft.LuisRecognizer类型。我正在声明性文件中执行以下步骤。
在下面的4个声明性文件中创建。 Test.lu
在LUIS门户中创建经过培训的LUIS应用并发布。
Test.lu.dialog
{ "$kind": "Microsoft.MultiLanguageRecognizer","recognizers": { "en-us": "Test.en-us.lu","": "Test.en-us.lu" },"$schema": "../../TestBot.schema" }
Test.en-us.lu.dialog
{
"$kind": "Microsoft.LuisRecognizer","applicationId": "my-app-id","endpoint": "our endpoint","endpointKey": "our key","$schema": "../../TestBot.schema"
}
Test.main.dialog
{
"$schema": "../../TestBot.schema","$kind": "Microsoft.AdaptiveDialog","autoEndDialog": true,"defaultResultProperty": "dialog.result","recognizer" : "Test.lu","triggers": [
{
"$kind": "Microsoft.OnIntent","intent": "Greeting","actions": [
{
"$kind": "Microsoft.SendActivity","activity": "Greetings intent!!!"
}
]
},{
"$kind": "Microsoft.OnIntent","intent": "Service","activity": "Service intent has been triggered..."
}
]
},"intent": "Cancel","activity": "The cancel intent has been triggered..."
}
]
}
]
}
我正在类中加载所需的对话框文件,但仍然遇到上述错误。请帮助我解决问题。
解决方法
您可以参考this的Adaptive Dialog(具有事件,流,时隙填充和歧义解决方案的丰富组成对话框)示例。
SDK为推理定义了一个声明性文件,称为.dialog文件。 .Dialog文件使您无需编写代码即可定义应用程序的逻辑。 .Dialog以开放式和可扩展的方式存储系统中任何对象的配置,并且这些定义可以重用,就像它们是自定义代码一样。可以通过.dialog文件创作SDK中的所有组件以及第三方库提供的组件,从而提供了丰富的系统组成和扩展功能。