Бот для веб-приложения Azure w. QnA Maker; Изменение ответа по умолчанию не работает в консоли

Согласно этой документации от Microsoft;
https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/troubleshooting

Чтобы изменить ответ по умолчанию для вашего бота, вы должны перейти в «Ресурс службы приложения»> «Настройки приложения» в разделе «Настройки», а затем отредактировать значение ключа «DefaultAnswer».

Мои ресурсы для этого проекта в Azure выглядят следующим образом:
MyBot (когнитивные службы)
MyBot (план службы приложений)
MyBot (служба приложений)
mybot-randomstring (служба поиска)
mybot -bot (бот веб-приложения)
mybot-bot (служба приложений)

Я захожу в сервис-приложение «MyBot» и вижу, что ключ уже там, и изменяю ответ по умолчанию, однако даже после переобучения моей базы знаний в QnA-Maker он по-прежнему отвечает ответом по умолчанию «Ответы QnA Maker не найдены».

Я перезапустил службу приложений «MyBot», переподготовил и опубликовал базу знаний, но все равно получаю ответ по умолчанию. Если я загляну в службу приложения «mybot-bot», такого ключа нет, поэтому, угадав, что это служба приложения «MyBot», я должен изменить значение в.

Есть идеи, почему это не работает?


person CloudViking86    schedule 03.10.2019    source источник
comment
Я использовал ту же документацию и смог успешно изменить ответ по умолчанию. Просто чтобы дважды проверить, когда вы меняете ответ по умолчанию, нажимаете ли вы на опцию «Сохранить», а затем на опцию «Обновить» в верхней части настроек приложения? Я просто зашел в службу своего приложения, отредактировал ответ по умолчанию, сохранил и обновил. Я вернулся к своему QnA Maker и использовал опцию «Тест» для проверки (даже не нужно было переучивать мою базу знаний).   -  person ranusharao    schedule 03.10.2019
comment
Да, я просто зашел в службу приложений и проверил значение ответа по умолчанию, и я даже нажал обновить (сохранение было выделено серым цветом, поэтому оно было сохранено), и мой собственный ответ все еще был там.   -  person CloudViking86    schedule 04.10.2019


Ответы (2)


У меня была такая же проблема, и я обошел ее, проверив оценку ответа перед отправкой выходного действия. Я сделал еще один шаг вперед, чтобы вызвать отдельную базу знаний Social Talk (используя ее на уровне предприятия), прежде чем использовать ответ по умолчанию. Вот код:

            // Apply confidence filter
            if (qnaResult[0].score > MINIMUM_SCORE) {
                outputActivity = MessageFactory.text(qnaAnswer);
            }
            else {
                // If low confidence, send to social talk
                var socialResult = await SocialTalkHelper.queryQnAService(query, oldState);
                if (socialResult[0].score > MINIMUM_SCORE) {
                    outputActivity = MessageFactory.text(socialResult[0].answer);
                }
                else {
                    // If low confidence for social talk, use default answer
                    outputActivity = MessageFactory.text(defaultAnswer);
                }
            }

defaultAnswer - это моя настраиваемая строка ответа по умолчанию, определенная ранее в коде. Сообщите мне, если у вас возникнут проблемы с тем, чтобы это работало.

person billoverton    schedule 03.10.2019
comment
Спасибо за ваше предложение, однако я все сделал в консоли Azure и ничего не кодировал, так как я не так хорошо знаком с .NET. - person CloudViking86; 07.10.2019

По какой-то причине, когда я удалил добавленную мною «болтовню» и имел только свой собственный документ Sharepoint в качестве основы для базы знаний, я смог протестировать его и получить свой ответ по умолчанию.

person CloudViking86    schedule 04.10.2019