QnA Maker - Azure Bot Service - Test in Web Chat not respondng - azure

First, new to creating Bots so please be patient.
I created a KB using QnAMaker. Created new Bot in Azure Bot Service. New bot was created using Template for QnA. Followed the steps below per documentation:
In Azure portal, open the newly created Web App Bot resource.
Click on "Application Settings" and in the App Settings list, add QnASubscriptionKey and QnAKnowledgebaseId. The corresponding values can be obtained from the KB Settings page in http://qnamaker.ai.
The QnAMaker-enabled Azure bot service app is now ready to use. To try it out click on "Test in Web Chat" to chat with your QnA bot.
Test in Web Chat does not respond
Also created new App, using Basic template. Made to other updates. Test in We Chat does send a response.
Again, new to the process but have read a great deal of documentation but nothing that speaks to this issue specifically. Any help would be greatly appreciated.

I created a QnAMaker bot this weekend with Bot Service. The documentation is a little confusing at the moment, although Microsoft generally refines it over time until it's quite good. Here's what I did to get this going.
Provisioned a QnAMaker service at qnamaker.ai. I created a knowledge base, saved and retrained, and published. To make sure everything is good on the QnAMaker service, go to the Test tab (https://qnamaker.ai/Edit/Test?kbId=:your-service-id to make sure you can chat with it and it responds as expected.
Created a new Web App bot by going to the portal, clicking "Create a resource", choosing "AI + Cognitive Services", then "Web App Bot".
When entering the Web App Bot settings, I made sure to choose a Basic C# bot, and chose the "Question and Answer".
Once you provision the Web App Bot service, you'll also have a Web App provisioned as well. You'll need to create a web application that will answer requests from the web, hand them to your QnAMaker service, and return the results. Navigate to your Web App Bot service, then choose the Build menu option under Bot Management. Then Download the zip file containing your starter code.
Open the starter code. You'll need to add some keys to your web.config file. Make sure that you have keys for the following, and that they're populated: MicrosoftAppId, MicrosoftAppPassword, QnaSubscriptionKey, QnAKnowledgebaseId, and AzureWebJobsStorage. If memory serves, these values are read within the code, but there's no empty stubs in the web.config that prompts you to enter them. This was a little frustrating.
After updating web.config, publish the web app to your Azure Web App instance associated with your bot.
Now go back to your Web App Bot in the portal. Under Bot Management, go to the Settings page. You're going to need to enter in the Messaging endpoint so that your bot service knows where to send HTTP requests to your web app, which will in turn talk to your QnAMaker service. In this example project, your messaging endpoint should be https://[web app name].azurewebsites.net/api/messages.
NOW you're ready to Test in Web Chat. Everything should link up then.

I had this issue just now. It was caused by having extraneous data at the end of my QNA service key, something like (format=json) which somehow ended up after the key. I suggest you re-copy and paste the knowledgebase id and key into the fields and make sure they are the correct length with no garbage.
Apart from not returning responses it gave no other clue as to what might be wrong.

Related

Unauthorized: Your bot is not configured to interact with LUIS app

Working with the Azure enterprise bot model, everything is deployed, enabled and functioning. But all calls to LUIS are failing in the chatbot, both on desktop and in Azure's web environment. My LUIS model works in luis.ai when testing, but when connecting to LUIS from the bot I get the error below:
The only thing that does not work is the call to LUIS from the chatbot. It returns unauthorized. I've spent about 8 hours on google and verifying settings. Can somebody tell me where the checkbox is that i've missed?
Basic chatbot function is good.
microsoft app id and secret are good.
QNA maker implementation is good.
Publish cycles from Visual Studio is working fine.
I have verified the LUIS app functions in luis.ai.
I have verified all keys are properly written in cognitivemodels.json
I have verified all keys are correct by changing them incrementally, noting that the app fails, restoring to the correct value, and noting that the app functions.
trace results:
App ID:
Version: Unknown
Slot: Production
Recognizer ResultRaw Response
{
"recognizerResult": {
"alteredText": null,
"entities": {
"$instance": {}
},
"intents": {
"l_general": {
"score": 0.6153312
}
},
"text": "test"
}
}
Top-Scoring Intent
l_general (0.6153312)
Please add your LUIS service to enable reassigning.
Entities
No Entities
error from emulator log:
[LUIS] Unauthorized: Your bot is not configured to interact with LUIS app: . Please connect your bot to LUIS using the services pane.
The service pane appears, I add in all the keys and information as copied from luis.ai for the referenced appID. On save, the pane disappears and nothing changes.
This error looks to be specific to the Bot Framework Emulator as per this code.
I can reproduce the error locally by doing the following:
Debugging my bot.
Submitting a query that will trigger a request to LUIS.
Clicking on the hyperlinked trace text next to a LUIS Trace log entry in the log pane.
You aren't actually able to add a service to a bot without creating a bot configuration first (File > New Bot Configuration). Fill out the following:
Bot name
Endpoint URL (use your local one)
Microsoft App ID
Microsoft App password
Save and connect
Save the configuration somewhere
Then you will be able to add the services:
Click the + next to the Service.
Add your LUIS apps by filling out the dialogs.
Try the steps in the first set of my bullet points again and see if errors come through. If they do then you will need to add a service for the GUID that comes back in the error message - this GUID will match one of your LUIS app ids.
Even after doing this I still got the error message in the Log page, starting the emulator and bot didn't help. So I would advise raising an issue on the official GitHub for the Bot Framework Emulator about adding the services not working.
My AD password changed, Powershell had cached my credentials. Although I was not actively using powershell, apparently my credentials are locally cached on the dev box and used for some specific funcitons, which manifests as seemingly random authentication errors in logs. logging out of azure and logging back in (in powershell) resolved the issue.
Oh the hours of my life I will never get back.

Azure Bot Service Sample AuthenticationBot Sign-in card not working (application/vnd.microsoft.card.oauth)

I am following this tutorial using the v4 SDK.
Add authentication to your bot via Azure Bot Service
Put simply, I click on the "Sign In" button from the OAuthPrompt card, a window pops up with the title "Sign In" and the screen is blank. This is using the bot service emulator.
I could be wrong but I feel like it's something to do with the content type.
application/vnd.microsoft.card.oauth
I wish I had more information to offer.
From the samples, I get the same outcome whether I use the BotAuthenticationMSGraph or AuthenticationBot example.
Thanks for the assistance. I've managed to progress but am not fully over the line yet. Maybe it's clearer for others, but for me, I followed what I thought were the instructions and did this:
Create Azure AD v2 Application (apps.dev.microsoft.com)
Create BOT Registration (Azure Portal)
... but in step 1. above, it automatically creates the app for you when you create the "Bot Channels Registration" so step 2 of creating the application is not required I created a second app and used that one in my settings and I think that's where I was going wrong.
Thanks for your help.
On another note, once the above was corrected and I removed myself from the company Wifi, it all came good. Network blocking issue!

Azure Bot Associated Language Understanding (LUIS) App Not Showing

Per this tutorial, I created an Azure Bot web application (in the US region). It works fine, but the associated LUIS app is not showing.
the associated LUIS app is not showing
Firstly, as Jyo Fanidam mentioned in comment, please make sure you are using same email account to login Azure portal and LUIS web portal.
Secondly, there are three LUIS websites, based on region. If you selected West US as LUIS App location when you create Web App Bot, to access your LUIS app, please login to https://www.luis.ai using the same account you use to log in to Azure.
Please login to correct LUIS website based on LUIS App location that you specified on Azure portal.
LUIS websites:
Figured out my problem: User error. I was neglecting to click the 'Select' button when choosing the 'Language Understanding' Bot template. So, it was creating a Basic Bot instead of a LUIS Bot. Thought I would post my resolution in case someone else makes the same mistake.

Impossible to choose any channel in Azure Bot Service

Since the new Azure Bot Service (released GA 2017-12-13), I've created a "WebAppBot" named "SanoBot" and I can't choose any channel to plug it for another services like Telegram: the page is empty when I click on "Channels". I've done a little screenshot to show you what I see:
I've check the documentation sent by the Azure Support from Twitter but the pages return 404 error.
Just to be clear: the bot works well and I can modify it from the Online Editor, build, deploy & test it. It's only "channels" feature that doesn't work.
Thanks for your help.
I can't use pictures because I haven't enough reputation...

Can't create azure bot service - "This MSA App ID is already in use"

Trying to play with the newly announced service, but am having problems getting started.
Entered name, subscription, etc.
Got my Microsoft App ID, entered it into the form
Selected C#
Selected any one of the templates
When I click Create Bot I get "This MSA App ID is already in use"
What do I need to do?
I clicked the Manage and created a set (app id / password) and used that instead of the previous values and it worked ok thereafter.
Background to my answer: For some reason, my current Bot Service stopped working and I had to create a new Bot Service to provide the back-end for my already published bot. However, when you try to create a new Bot Service using your already published bot App ID and App secret, you will get the same message ("This MSA App ID is already in use").
Solution: Delete the old Bot service that does not work anymore. Then create a new Bot Service (with new App ID and App secret) with the same name as your old Bot Service name (so the messaging endpoint URL will look similar). This process will create a new bot in your bot framework portal (under My bots). Now you need to do two things:
Go to your newly created Bot Service (In Azure portal), find the application settings under "settings" tab. In application settings, replace the MicrosoftAppId and MicrosoftAppPassword with the AppId and App secret (= app password) from your published bot. You can find the App ID and password of your published bot from the Bot Framework portal.
In the Bot Framework portal, find your newly created bot under "My bots". You need to copy the messaging endpoint of this bot, into your messaging endpoint of your old (published) bot. In the portal, click on "Edit" besides the "Details" section. Scroll down and copy the messaging endpoint. Go to "My bots" again and click on your old bot. Click the "Edit" besides the "Details" section and paste the endpoint URL there.
Now your newly created bot service (Azure portal) is connected to your old published bot (in Bot Framework Portal). You can go ahead and delete the newly created bot in your Bot Framework portal, as you do not need it anymore.
Most likely you already registered a Microsoft Application with that ID. You need to create a new App Registration and use that one: https://apps.dev.microsoft.com/#/appList

Resources