Azure Web App Bot w. QnA Maker;Изменение ответа по умолчанию не работает в консоли - PullRequest
0 голосов
/ 03 октября 2019

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

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

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

Я вхожу в "MyBot "app-service и видит, что ключ уже существует, и изменил ответ по умолчанию, однако даже после переподготовки моего КБ в QnA-Maker он все равно отвечает ответом по умолчанию" Ответы QnA Maker не найдены ".

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

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

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

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

0 голосов
/ 03 октября 2019

У меня была та же проблема, и я обошел ее, проверив оценку ответа перед отправкой выходных данных. Я сделал еще один шаг, чтобы вызвать отдельную KB 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 - моя строка ответа по умолчанию, определенная ранее в коде. Дайте мне знать, если у вас возникнут проблемы с тем, чтобы заставить это работать

...