Вам не нужно отключать ни один из них, чтобы код работал.Я подозреваю, что проблема в вашем диалоге.Ниже приведен пример того, как создать диалоговую часть вашего бота.Когда я запустил это, промежуточное программное обеспечение регистратора показывает, что QnA совпадает на входах, которые я передаю, но бот диктует диалог из-за кода.
var luisrecognizer = new builder.LuisRecognizer(LuisModelUrl);
var qnarecognizer = new cognitiveservices.QnAMakerRecognizer({
knowledgeBaseId: process.env.QnAKnowledgebaseId,
authKey: process.env.QnAAuthKey || process.env.QnASubscriptionKey,
endpointHostName: process.env.QnAEndpointHostName
});
var basicQnAMakerDialog = new cognitiveservices.QnAMakerDialog({
recognizers: [qnarecognizer],
defaultMessage: 'No match! Try changing the query terms!',
qnaThreshold: 0.3
});
bot.recognizer(luisrecognizer);
bot.recognizer(basicQnAMakerDialog);
bot.dialog('/', basicQnAMakerDialog);
bot.dialog('GreetingDialog',[
(session) => {
session.send('You reached the Greeting intent. You said \'%s\'.',
session.message.text);
builder.Prompts.text(session, "What is your name?");
},
(session, results) => {
session.userData.name = results.response;
session.send("Glad you could make it, " + session.userData.name);
builder.Prompts.text(session, "Ask me something!");
},
(session, results) => {
session.conversationData.question = results.response;
session.send(session.conversationData.question + " is an interesting topic!")
session.endDialog();
}
]).triggerAction({
matches: 'Greeting'
})
На следующем изображении LUIS подводит меня к Приветствиюнамерение, когда я набираю «Я счастлив [быть здесь]», который я обучил в приложении LUIS.Диалог бота вступает во владение, задавая мне вопросы и сохраняя ответы.Несмотря на то, что я делаю заявления, что QnA или LUIS должны ответить ни на что не делает.Разговор следует за кодом.
Если бы Кна взяла его на себя, то ответила бы на вопрос «Что вы» с текстом о QnA Maker.Точно так же «помощь» вызвала бы ответы либо QnA, либо LUIS, поскольку у меня есть темы / намерения для обоих соответственно.