0

Once the bot is created using qnamaker.ai, I wanted to deploy it in Azure using the SDK and publishing from VS2017, which let me define the top parameter to enable the Active Learning as shown in https://github.com/Microsoft/BotBuilder-CognitiveServices/tree/master/CSharp/Samples/QnAMaker But when I want to register it in dev.botframework the end point URL doesn't work.

If I use Azure Bot Service template, is not possible to set the top parameter but registering in my Bots is ready straight forward. I have realized that the URL from Azure template contains some extra info, that is not available in my web app ...code=2xDGuyPbupZIm8zsDOucgcHDvXO908dPIad2LFG2y/37TPecdMfQEw==

A "typical" URL from Azure, that work with other deployed Bots is https://"MyBotName".azurewebsites.net/api/messages

Please, can you help enabling the active learning in Azure templates for a Q&A bot? Can you explain me what should I add to get the "extra details" in my Web app URL?

Ezequiel Jadib
  • 14,767
  • 2
  • 38
  • 43
jgfdsa
  • 75
  • 6

1 Answers1

1

I think there is some misunderstanding here. The QnA Maker site is not creating any bot for you. It just provisions the QnA service (a rest API).

If you want to have a bot on top of the service you created, grab the code of the QnABotWithActiveLearning sample that you linked, update the QnADialogWithActiveLearning.cs class to include your QnA subscription key (that you can get from the Settings tab of your QnA service), update MicrosotAppId and MicrosoftAppPassword settings on the Web.config with the ones you got from the BotFramework developer portal and deploy to Azure as a Web App.

Once done, you will have the standard websites URL https://"MyBotName".azurewebsites.net and the API endpoint https://"MyBotName".azurewebsites.net/api/messages.

Then just update your bot URL in the BotFramework portal with this URL.

Ezequiel Jadib
  • 14,767
  • 2
  • 38
  • 43
  • Thanks, @EzequielJadib. I agree with QnA Maker provisions the rest API. Once I have deployed the Bot in Azure, the Web App URL is not working in BotFramework: _There was an error sending this message to your bot: HTTP status code InternalServerError._ The other scenario is using Azure Bot Templates, which is "outdated" and doesn't let me declare the `top` parameter to enable the active learning. Once the Bot is created in Azure template, automatically is registered in Bot Framework, and the URL has the extra info I commented on my question. Hope now is better explained – jgfdsa Jun 01 '17 at 14:01
  • Have you updated the MicrosoftAppId and MicrosoftAppPassword settings in your web.config with the ones you got from the Bot Framework developer portal? https://github.com/Microsoft/BotBuilder-CognitiveServices/blob/master/CSharp/Samples/QnAMaker/QnABotWithActiveLearning/Web.config – Ezequiel Jadib Jun 01 '17 at 14:05
  • 1
    You saved my day. I modified the Web.config but didn't re-published after registering the Bot. So I verified the web.config and published again. Now my Bot is working as expected in BotFramework – jgfdsa Jun 01 '17 at 14:20