Luis和QnA在同一个应用程序中

时间:2017-09-21 15:48:23

标签: artificial-intelligence luis

如果使用luis创建QnA,是否可以在我的聊天机器人中集成?当路易斯没有答案时,我想使用路易斯的意图“无”触发QnA。 我是怎么做到的?

3 个答案:

答案 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。