Connect an Existing QnA Knowledge base in Bot Composer - botframework

Sorry if this is a stupid question. I just installed Bot Composer v2 and want to connect the bot to a QnAMaker knowledgebase. This is what I have done:
Provision the necessary resources on Azure.
In the QnAMaker website, (www.qnamaker.ai), create a knowledge base
Upload a File and have it populates the QnA pairs. Save and publish (not sure if publish is necessary).
Create a new bot with the "Core bot with QnA" template.
Configure the bot to use the existing resource.
However, after doing the five steps, it doesn't give me the option to connect to an existing knowledgebase. The only option I have is to create a new knowledge base, and the only option I have to populate the QnA pair is via a public URL - which is not a preferable option.
Since it doesn't work, I was trying to work the other direction by
Create a new bot with the "Core bot with QnA" template.
Configure the bot to use the existing resource.
Create a new Knowledge base with nothing in it.
Test the bot.
I checked QnAMaker website and realized the new empty knowledge base has been added. I try to upload files to it - but it won't let me (Oops something went wrong)
The use case I am trying to do is to manage my knowledge (add new files etc) through the QnAMaker website, so content owner can manage their own content. As a developer I will simply connect to the knowledge base. However it seems that I can only manage the knowledgebase directly in the Bot Composer with reduced functionality (e.g. no direct import of a file).

Follow this https://learn.microsoft.com/en-us/composer/how-to-add-qna-to-bot?tabs=v2x
to Add Existing QnA Maker KB to Bot Composer

Related

Bot Composer and QnA Maker - Questions

I'm creating a new bot using the Bot Composer and QnA Maker. The general set-up is pretty straight forward and the bot now answers questions from the QnA Maker knowledgebase. However it's looking like there are some limitations that I can't find reference to in the documentation. Specifically:
We have an existing qna knowledgebase that is used with a custom coded bot. It's updated by various scripts and custom user interfaces. To use this knowledgebase in the composer I seem to need to connect to it so it creates a local copy within composer. At this point I can only update it via composer?
Using the QnA intent recognised trigger with the pre-configured actions doesn't seem to offer any customisable parameters, such as accuracy threshold and metadata filtering?
Using the QnA intent recognised trigger with the pre-configured actions doesn't seem to offer the users alternative answers (if multiple results are returned from qna maker) or allow any form of user feedback to qna maker.
Please can anyone confirm that these points are correct or if I'm missing something. I have attempted to use the 'QnA Maker dialog' action which enabled you to add various parameters etc. but can't see any documentation on how to process questions and answers with it.
Thanks

How to start: Embed Microsoft bot framework functionality inside an app with drag and drop config capability?

I want to embed chatbot building functionality inside my product and use msbotframework As the back end. Can I achieve that? Each of my customers will have his bot, and I want to build my drag and drop interface to achieve that purpose.
The challenges I am facing are:
when the customer creates the bot, how will it be automatically provisioned to Azure? Knowing that the drag and drop interface will create the bot, so I need to generate the code and then provision it to Azure.
I need to have the shared backend between clients (database,
server...etc), so I am not sure how to achieve this multitenancy.
Take a look at the Bot Framework Composer. It is pretty new, so if you come across bugs or suggestions/enhancements, please log those as issues in the GitHub repo.
If you don't want to use Composer (or fork and change it), then you could build your own. Composer is built on Adaptive dialogs, which are declarative. So you could build your own type of composer that would then build declarative dialogs that could then be used in a bot.

LUIS: Edit project downloaded from Azure

I have subscription on Azure and I dowloaded chat bot with my AppId and password. On page luis.ai I trained new model and exported it to downloaded azure project (with flight booking). I replaced their cognitive model with my model from luis.ai, but after that - azure project is always working with old data. I donĀ“t understand why, because their model is removed from my PC. What should I do to working with my own model? Thanks.
You code is based on the core-bot sample. First of all, make sure that your LUIS configuration is set up correctly in your .env file (or in App Settings if running from Azure). The recognizer is created in index.js and passed to MainDialog.js. From the core-bot sample code, I'm actually not seeing where it is importing the local code. I think that is maybe just to give you the model to import to your own LUIS app? If you have the proper LUIS keys and app ID, it should respond to whatever you have in there. My guess is maybe that you replaced the FlightBooking.json LUIS model file, but didn't actually point the bot to your LUIS app with the new intents.
I would suggest, though, that this isn't the best sample to use if you are trying to just tweak it. There are a lot of things here that are set up specifically for booking flights that don't really make sense if that's not what your bot is doing. Personally I like the Dispatch Bot sample better as a starting point (even if you are not using Dispatch CLI tool), though it has the intent actions within the bot file instead of separate dialogs. Maybe that will give you a better starting point though?

QnA Maker with cards

I want to add cards in my QnA Maker. I my QnA maker if anyone asks about "what services we provide?" Bot should answer (for example: We provide following services /n/n 1: Bot Development /n/n 2: Web Development /n/n 3: Documentation). In this example bot should reply it with the card and if user clicks on any of the above mentioned services than it should gives details about that.
Thanks in advance...
QnA Maker has just released a new feature called multi-turn conversations whcih does exactly what you are looking for.
Once you have added some multi-turn conversations to your knowledge base you can try this out by downloading the BotBuilder-Samples repo and opening the qnamaker-prompting sample (C# and NodeJS provided) then you can plug your knowledge base details into the appsettings.json (C#) or .env (NodeJS) file and test the functionality locally using the Bot Framework Emulator.
The key part is this method which checks to see if the result contains any prompts and returns the response accordingly - it is called inside the controller.
This should give you a good idea of how to get started.

Does a Bot Framework bot need to be registered every time it changes, or only once?

I have created Bot 'MyFirstBOT' where my backend is QnA maker application data. I have given a name to this bot called 'TestJPBOT' and I have enabled the Teams channel for this bot so that we can use this bot on Teams applications. Right now in our organization we are working to register this bot with Microsoft so that we can start using it. I would like to know going forward if I want to make any changes in the bot, like changing its name, profile picture, or something similar, do I need to reregister it every time with Microsoft? Or is there no need?
Per my simple testing using Azure Bot Service env, we don't need register again after change our bots.
Actually, register your bot is populate your bot on Microsoft, equivalent to create a index for your bot I think. You change your bot's profile or code, should not effect the index.

Resources