QnA Maker NoMatch Handeling
Я ищу способы отловить событие Qna Maker no match, а затем обработать его индивидуально. Мой текущий диалог Qna выглядит так:
[Serializable]
public class QnaMakerDialog : QnAMakerDialog
{
public QnaMakerDialog() : base(new QnAMakerService(new QnAMakerAttribute(<<myQnAAuthKey>>, <<myQnAKnowledgebaseId>>, "Answer not found. Please try it again", 0.5, 1, <<myQnAEndpointHostName>>)))
{
}
protected override async Task RespondFromQnAMakerResultAsync(IDialogContext context, IMessageActivity message, QnAMakerResults result)
{
...
}
}
Пользовательское сообщение о несоответствии работает нормально, когда QnA Maker не может найти ответ на заданный вопрос. Тем не менее, я хотел бы перехватить событие, а затем записать ответ "нет соответствия" в базе данных.
Заранее спасибо, Аминтас
1 ответ
Вы можете использовать метод NoMatchhandler для этого.
public class BotFrameworkFaQDialog:QnAMakerDialog<object>
{
public override async Task NoMatchHandler(IDialogContext context, string originalQueryText)
{
await context.PostAsync($"Sorry i could't find answer for {originalQueryText} .");
context.Wait(MessageReceived);
}
}