How to update snapshot file when something changes in LUIS and QnA maker for the bot developed in Microsoft Bot Composer with Orchestrator Intent - bot-framework-composer

I am developing a bot using Microsoft Bot Composer and I am using Orchestrator as initial Intent recognizer. If I put every utterances in Bot composer for different intents, the composer will generate a snapshot file (*.blu) for intent recognition. I have a situation that I have to navigate to child dialogs LUIS/QnA recognizer after orchestrator recognizer recognize it correctly. Therefore I need to update the utterances of LUIS and QnA in the snapshot file regularly but I don't want to redeploy the bot. With the current settings in the composer I couldn't point the snapshot file to any other places like blob storage and also unable to create the snapshot file through c# code as only botframework cli tools can create the file alone. Can you please guide me if I am approaching in wrong way or there is any solution I am missing.

Related

Utterance (customDimensions['Text']) is not reported in app insights in Azure Chatbot

I'm using Azure's Chatbot Service to build the chatbot. For data collection, I'm also using Azure Monitor to track and get the data of the conversation from the chatbot and users. The target is to retain the way we captured utterances in customDimensions ['Text']. However, I can't find the attribute "['Text']" in customDimensions.
Could someone know how I can get around this?
Thank you.
Utterance (customDimensions['Text']) is not reported in app insights
in Azure Chatbot
Please follow below reference it has detail explanation about:
Schema of Bot Analytics Instrumentation
Custom Dimensions SDK Bot Analytics
Enabling telemetry to capture usage data from other services like LUIS and QnA Maker
Reference:
Analyze the telemetry data from your bot - Bot Service | Microsoft Docs
Enabling telemetry to capture usage data from other services like LUIS and QnA Maker

How can we record conversation with a web app bot Azure deployed on Teams?

I have deployed a web app bot on Azure for my team on the channel Microsoft teams. I would like to record all conversations of the bot. What are the available options or resources where we can store conversations with users?
The goal is to evaluate the good answers/responses rate from the chatbot.
Thanks
Moving comments to answer section for better visibility.
I think you would like to store your bot conversations to analyze them later for quality. The available options in this scenario are Azure blobs or cosmos db with minimal configuration changes to your existing bot. If your use case is to provide a Q&A to users then you might want to use Azure QnAMaker instead and create a knowledge base and publish a bot from this service. This allows you to use QnAMaker's inbuilt active learning feature and improve your bot's response by approving or rejecting alternate suggestions.

bot framework nlp with dispatch

I followed this example on GitHub and was successfully able to test it using the emulator.
However, I would like to understand:
What is the dispatch tool doing exactly? I can see a new Luis app in my Luis.ai account when I executed the command "dispatch create -b nlp-with-dispatch.bot | msbot connect dispatch --stdin," but I need to understand what the dispatch tool does behind the scenes.
I can see that the dispatch LUIS App contains utterance like:
"turn dimmer off" which in Home Automation was like "turn device operation."
I also need to understand why it is being done this way. What if we don't have the requirement of multiple LUIS models how utterances are resolved with entities.
Whatever is done using CLI tools like creating/importing the LUIS services and intents can also be done using luis.ai and azure portal, but is the only way to configure the Dispatch application with the CLI or can we create it directly on luis.ai without using any command?
1) If you imagine the NLP of your bot as a series of sieves or sifters, it's easier to understand dispatch. Dispatch is the first level of sifting. It can be trained to evaluate whether a particular utterance goes to a certain LUIS intent or to a connected QnAMaker Service. The tutorial here gives a better, more formal description.
2)Dispatch has to be created using the CLI.

Cannot connect QnA maker into Bot Frameowrk Emulator

I am trying to load my QnA maker in addition to my QnA chat bot from Azure into Bot Framework Emulator.
I have been able to load my chat bot in successfully with it returning a response. I have entered the knowledge base data it required inside the Azure chat bot settings as well and the Visual Studio code (C#). But when I enter text into the chat bot inside of the bot framework emulator it replies with: Please set QnAKnowledgebaseId, QnAAuthKey and QnAEndpointHostName (if applicable) in App Settings. Learn how to get them at https://aka.ms/qnaabssetup.
Screen shot of what is displayed when I make contact with my chatbot inside of the bot framework emulator
Any help with resolving this issue would be greatly appreciated!
QnA Maker is generally available from May 2018. New architecture is built on Azure, where the runtime is now deployed on Azure App.
Now, if you are using new QnA Maker GA, it requires three parameters to get connect with Azure Bot Web App Bot. KnowledgebaseID, AuthKey & Host Name.
Host name is nothing but Web App URL deployed whiled creating QnA Maker service,
appname.azurewebsites.net/qnamaker
You have to provide this in Application Settings in Azure portal or alternatively in Constructor code part.
Thanks!

QnAmaker, can't find Channels tab

I deployed my QnAmaker chatbot using the new GA QnAmaker portal today. But after creating the knowledge base, i can't find the channels tab in Azure anymore.
In the channels tab, you could deploy the chatbot to different channels like Microsoft Teams or the Webchat.
Has anyone found this tab in Azure?
You just created your QnAMaker knowledge base and all the necessary items to use it (web app to host the service, Azure Search for the search part).
Now the next step is to create a bot by doing the following:
On Azure, create a Web App Bot
Use Question And Answer bot template in order to have the basic code to call QnAMaker already implemented
Once it is created, you will have at least the following resources: one Web App bot (to manage channels) and one App Service (hosting your bot code)
Go to the Web App Bot item
Select Application Settings menu, you will found several settings: QnAKnowledgebaseId, QnAAuthKey and QnAEndpointHostName
Fill those values with your QnA settings:
QnAKnowledgebaseId: it's your knowledge base Id on QnaMaker.ai website
QnAAuthKey: it's the Authorization EndpointKey value on QnaMaker.ai website (check https://www.qnamaker.ai/UserSettings)
QnAEndpointHostName: the endpoint location where you published your KB (also visible on https://www.qnamaker.ai/UserSettings)
Save
Then it's working ;-) and you can set the channels you want on the Channels menu of this Web App Bot item
Yes! It's still there. QnA MAker going GA has no impact on its functionalities but the way of implementation to some extent, which is of course in a good sense.
You Can find it on Azure Portal => Web App Bot => Bot Management section
Happy Coding!

Resources