Scripting for LUIS and QNA Maker - botframework

We are planning to do scripting for updating the LUIS and QNA Maker for Dev/testing/production environment. Is there any possibility of doing it in the current version of LUIS and QNA Maker?

LUIS has a variety of scriptable options including service management through PowerShell, ARM templates, and REST APIs for authoring and endpoint.

do scripting for updating the LUIS and QNA Maker for Dev/testing/production environment.
LUIS provides two publishing slots: Staging slot and Production slot. And if you’d like to programmatically update and publish app to specified slot, you can use the following LUIS Programmatic APIs:
Import version to application
Publish application
Besides, as far as I know, QnA Maker currently does not provide publishing slots.

Related

What's the difference between Azure Bot Service and QnA Maker Knowledge Base?

I don't understand the difference here, but there must be one. With the Azure QnA Maker, I can create a list of questions and interact with the Knowledge Base via an API and get answers back. What additional features does the Bot Service offer?
QnA service can only retrieve answers from the Knowledgebase, nothing else. You can think it as a fancier Database, you can query it using human language.
Bot Service is the application layer, you can build other business logic in this layer to make your Bot looks smarter. e.g. User asks "What's the weather tomorrow", when your bot service receives this message, you can call the weather API to get the weather, instead of forwarding the question to the QnA service. The bot service also provides interfaces to integrate with different chat channels like Teams, Slack, etc.
Of course, you can do much more in the bot service based on your own business needs. If your bot is solely used for QnA, this layer indeed will seem to be a thin layer wrapper.
The Azure Bot service is just a bot managing SaaS which offers multiple things like ability to automatically push you bot onto multiple channels(teams, slack, facebook etc.) without needing to code the adaptors. It also offers other services like hosting your bot onto the Azure cloud servers and other services like LUIS (Microsoft's NLU), QnA maker, speech service etc.
The web channels adaptor is mostly free which the bot hosting and other services are paid

Is it possible to Backup a QnA Maker Knowledge with Azure Pipelines?

Im working with bots from the Microsoft Bot Framework (SDK4).
My Bot is connected with LUIS and two KnowledgeBases.
The CI/CD process is realized with Azure Pipelines.
Im wondering if it is possible to backup a knowledge Base with the Release Pipeline within Azure Pipelines.
You can try to write a script in azure pipeline to download the knowledge base from QnA Maker programmatically.
The download process is programmatically available using the following REST API:
GET {Endpoint}/qnamaker/v4.0/knowledgebases/{kbId}/{environment}/qna
You can refer to this document for details.

Using BotFramework Composer with other NLU Engines

The bot we have created uses DialogFlow as NLU Engine and uses MS BotFramework core as a dialog manager that creates dialogs as steps.
The preview version of Bot Composer looks powerful and intuitive way to create the Dialogs and manage them. But none of the documentation or Ignite Videos give a clear view whether it can be used for other NLU's(for obvious reasons, they wanted to promote LUIS).
So, curious to know if some integrated the composed with other NLU's apart from LUIS. If so, what are the caveats.
Though LUIS provides a builtin way of managing intents in Bot Framework Composer, you can still access external API's like any NLU endpoints you want to use by incorporating an HTTP step into your dialog.

What is msbot clone services for in Enterprise Bot Template?

I need to know what is msbot clone services for in a Bot Enterprise Template? what is the main goal of this command, if I configurate a LUIS application in Azure, I need this command to use my LUIS in my local bot? Is there a way to configurate LUIS manually in Bot Enterprise Template?
FYI: Enterprise Bot is being replaced by Virtual Assistant, which doesn't use msbot.
msbot is used for a variety of different purposes, but I'm assuming you're referring to the msbot clone command. Basically, it's just a command that makes all of the necessary services/resources in Azure and then updates your .bot/appsettings.json/.env file, depending on which is applicable to your environment.
You can use your own LUIS, but Enterprise Bot creates a lot of LUIS apps for you that are used in the bot. To use your own, you'd just need to add your LUIS config in your .bot/appsettings.json/.env file and then ensure that it's called in the appropriate places in your code. Personally, if I were to do this, I'd just run the msbot command and then replace whatever it generates with my own LUIS config.

Does a ChatBot built using QnA Maker API require Virtual Machine

While calculating the pricing for deploying a chatbot developed using QnA Maker, i am supposed to select the App Service Plan.
https://azure.microsoft.com/en-in/pricing/calculator/
In the App Service section I am supposed to enter the following details
Region, Tier, number of instances and hours.
What does the instances mean here and on what basis should i select the Tier.
Does deploying a basic QnA bot using QnA Maker API require an instance. (does the instance imply a VM instance).
Currently, the limit is a 20-MB knowledge base used by QnA Maker.
Thank you.
Back to definitions
There are 2 different things here:
Your bot
QnAMaker
In fact you are not "deploying a bot developed using QnAMaker", you are "deploying a bot developed with Microsoft Bot Framework and using QnAMaker".
Your bot is a web API, with a simple endpoint ("xxx/api/messages") accepting POST requests and which will be used by the bot connector. Then on some cases it's calling QnAMaker but this call is a bit hidden if you use QnAMakerDialog in C# for example.
Hosting / Costs
To host a Web API in Azure (called an App Service), you will need an App Service Plan. There are different levels of Azure App Service Plan, depending on your needs:
You just need to select the one corresponding to your needs, no other actions are necessary (what is behind (VMs...) is not your purpose).
For example if you just want to demonstrate the use of a bot with QnAMaker, a Free App Service Plan is enough.
For the QnAMaker part, it's only calls of your QnAMaker project in background. Your project is exposed through the web on an URL. The use of QnAMaker is free, at the time of writing this reply (it's still a preview)
Last (but not least), there can be an additional cost depending on the channels you will be using to expose your bot. See Azure calculator for bot service for that: https://azure.microsoft.com/en-us/pricing/details/bot-service/

Resources