如果使用luis创建QnA,是否可以在我的聊天机器人中集成?当路易斯没有答案时,我想使用路易斯的意图“无”触发QnA。 我是怎么做到的?
答案 0 :(得分:1)
查看Qna + LUIS Node.js示例。
答案 1 :(得分:0)
是的,这是可能的。
在Luis对话框中添加此
[LuisModel("modelID", "SubscriptionKey")]
[Serializable]
public class RootDialog : LuisDialog<object>
{
[LuisIntent("None")]
public async Task NoneRes(IDialogContext context, LuisResult result)
{
var qnadialog = new QnADialog();
await context.Forward(new QnADialog(), AfterQnADialog, context.Activity, CancellationToken.None);
}
private async Task AfterQnADialog(IDialogContext context, IAwaitable<object> result)
{
var answerFound = await result;
// handle after qna response
}
}
在QnADialog中添加此
[Serializable]
[QnAMaker(authKey: "AuthKey", knowledgebaseId: "KnowledgebaseId", defaultMessage: "please rephrase, I could not understand.", scoreThreshold: 0.5, top: 1, endpointHostName: "https://yourAccount.azurewebsites.net/qnamaker")]
public class QnADialog : QnAMakerDialog
{}
因此,只要您的LUIS将返回无意图,它将调用QnADialog,在属性本身中您将提供AuthKey,知识库ID,默认响应,主机地址等,它将起作用。
希望这会有所帮助
答案 2 :(得分:0)
您可以尝试Dispatch tool for multiple LUIS and QnA models:
如果机器人使用多个LUIS模型和QnA Maker知识库(KB),则可以使用Disptach工具来确定哪种LUIS模型或QnA Maker KB最适合用户输入。调度工具通过创建单个LUIS应用程序将用户输入路由到正确的模型来实现此目的。
该工具可用于Bot Builder SDK v4。