Я использую QnAmaker.ai для бота FAQ, разработанного с использованием node.js msbotframework.Я хочу реализовать еще несколько дополнительных функций:
- Приветственное сообщение для пользователя при подключении бота.
- Предоставляйте оценки для каждого ответа.Например, было ли это полезно "Да" и "Нет".Есть ли способ сохранить эту информацию в QnAmaker KB.
- Кроме того, я включил чат-чат вместе с моим собственным набором вопросов и ответов.Тем не менее, ответы в чит-чате предпочтительнее пользовательских.Я хочу, чтобы пользовательские ответы переопределяли чат-чат.
Код, который я использую на данный момент, очень прост и взят из учебника:
var previewRecognizer = new builder_cognitiveservices.QnAMakerRecognizer({
knowledgeBaseId: process.env.QnAKnowledgebaseId,
authKey: process.env.QnAAuthKey || process.env.QnASubscriptionKey
});
var basicQnAMakerPreviewDialog = new builder_cognitiveservices.QnAMakerDialog({
recognizers: [previewRecognizer],
defaultMessage: 'Sorry, I did not understand. Please say that again.',
qnaThreshold: 0.3
}
);
bot.dialog('basicQnAMakerPreviewDialog', basicQnAMakerPreviewDialog);
// Recognizer and and Dialog for GA QnAMaker service
var recognizer = new builder_cognitiveservices.QnAMakerRecognizer({
knowledgeBaseId: process.env.QnAKnowledgebaseId,
authKey: process.env.QnAAuthKey || process.env.QnASubscriptionKey, // Backward compatibility with QnAMaker (Preview)
endpointHostName: process.env.QnAEndpointHostName
});
var basicQnAMakerDialog = new builder_cognitiveservices.QnAMakerDialog({
recognizers: [recognizer],
defaultMessage: 'Sorry, I did not understand. Please say that again.',
qnaThreshold: 0.3
}
);
bot.dialog('basicQnAMakerDialog', basicQnAMakerDialog);
bot.dialog('/', //basicQnAMakerDialog);
[
function (session) {
var qnaKnowledgebaseId = process.env.QnAKnowledgebaseId;
var qnaAuthKey = process.env.QnAAuthKey || process.env.QnASubscriptionKey;
var endpointHostName = process.env.QnAEndpointHostName;
// QnA Subscription Key and KnowledgeBase Id null verification
if ((qnaAuthKey == null || qnaAuthKey == '') || (qnaKnowledgebaseId == null || qnaKnowledgebaseId == ''))
session.send('Please set QnAKnowledgebaseId, QnAAuthKey and QnAEndpointHostName (if applicable) in App Settings. Learn how to get them at https://aka.ms/qnaabssetup.');
else {
if (endpointHostName == null || endpointHostName == '')
// Replace with Preview QnAMakerDialog service
session.replaceDialog('basicQnAMakerPreviewDialog');
else
// Replace with GA QnAMakerDialog service
session.replaceDialog('basicQnAMakerDialog');
}
}
]);
Спасибо