Multiple QnA makers on one azure app service - azure

I would like to create multiple knowledge bases using https://www.qnamaker.ai. On the UI when I create a new qnamaker service using my azure subscription it actually creates 3 things/services for 1 qnamaker which are as follows
qnamaker as Cognitive service
Azure app service to provision qnamaker
Azure Search service to power qnamaker search
Based on the documentation it makes sense to have this created. But, I would like to see if it's possible to combine all qnamaker's on one single strong , highly scaled azure app service. ?

You are able to create multiple knowledgebases on one Azure app service.
The only thing you would need to change if using APIs is the knowledgebase ID while the subscription key would remain the same.
You can either create new knowledgebases using its API here https://learn.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/create-new-kb-csharp
Or log into their QnA Portal https://www.qnamaker.ai/ into my knowledgebases, creating a new one and adding in the HTTP Request info to the API method. https://learn.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/metadata-generateanswer-usage

Related

How to get an accurate cost of deploying a bot solution?

Before moving from prototype to production phase, I want to calcualte accurate cost of production solution for getting better understanding of ROI.
i have built and deploy a bot which is based on enterprise bot template which is deployed using msbot deployment script which creates following services:Web App Bot, Azure Cosmos DB Account, App Service Plan, App Service, Storage Account, Application Insights, Cognitive Services (LUIS), App Service (QNA Host), Cognitive Services (QnA Maker), Search Service.
Azure portal allows to get pricing (https://azure.microsoft.com/en-us/pricing/calculator/), however, i am not sure whether i should include Cosmos DB as well as Storage Account? or is it a deployment script problem,
Any pointers is appreciated!
This is a process i followed to get the correct cost of the production solution.
First, there are two ways you can build a bot (a) using VS studio template (VSIX) and build the bot and deploy using msbot script. (b) Create a bot on Azure and download the code and make changes.
(a) is a recommended option from MSFT.
With option (a) I have used msbot script to deploy the solution, that creates list of services in your Azure subscription. If you look closely, it creates Cosmos DB as well as Storage Account, Cosmos DB is mainly used for storing bot state and storage account is used for storing log and app insights, etc.
Also there are two app service are included, but if you look closely, both app service shares the same app service plan meaning one app service is used for both services, however, it depends on your need.
Most of the services are allowed to scale-up, but azure search can not be scale-up, it must be re-created and re-configured.
Finally you need to include following services for calculating price using the azure price calculator:App Service,QnA Maker Service,LUIS Service,Cosmos DB, Storage Account, and Bot

How to develop and deploy several different bots in Azure?

I have developed a bot using Microsoft Bot Framework v3 and C#.Net. I have also deployed the bot in Azure with in a resource group having necessary resources like App Service Plan, App Service, Bot Service etc. Now there is a requirement to create a new bot for different workflow. I want to know what are my chances to use my existing Azure resources. Should I create a new Bot service & App Service in same App Service Plan?
If anyone have created and deployed various different bots in Azure please share the strategy.
It highly depends on your scenarios.
But considering that your different bots must run in parallel:
App Service Plan can be reused, if its pricing is high enough to size to the demands of both bots
Storage account can also be reused as it uses bot Id in its keys (but it would be better to specify different tables for each bot in your dependency injection if using Table Storage)
App Service (where you are exposing your /api/messages endpoint) must be specific if you don't manage a special configuration
App Bot Service (which is linked to this endpoint) must be specific also, as Bot Channel Registration is specific to each bot

LUIS apps created on eu.luis.ai not showing on my Azure Portal

I created 2 LUIS apps about a month ago on eu.luis.ai, and they have been working just fine with the Bot they are linked to, but it seems that I have hit some sort of quota on LUIS requests. I think upgrading my plan to a higher tier would resolve the problem, but I can't find the app on my azure portal, and I can't find a way to change the plan from eu.luis.ai either.
You can see my LUIS apps here (eu.luis.ai)
You can see my Azure apps here, the only cognitive service appearing is QNAMaker
Does anybody have the same problem ? I am 100% sure I'm logged in with the same account on both websites.
I found what was wrong : when you first start using LUIS, you can create apps on luis.ai without creating them on your Azure portal. They come with starter keys that expire after a month or so. You then have to create a LUIS app on the Azure portal, and add the newly generated key to your existing apps.
I was having a similar problem where I had my LUIS app working with a Speech Recognition service key, and it stopped working after a month. I had to add a new LUIS service on my Azure portal and use that key instead.

Azure Create Resource Monitoring Webhooks using Rest API

In Azure is it possible to create an alert, with a webhook, if any of my resource goes up or down(not service, but resource)? I see many alert conditions but none of them do plain up/down monitoring.
Is it possible to create these alerts (with a webhook) programatically using REST API(without logging into Azure portal), once i get the required authorization? Currently I am unable to find any create alert REST API
Thanks.
Ok, I found out how to do this.
The REST API provided by Azure for monitoring can be used to create new Action Groups and create new Alerts.
The document here gives more details: https://learn.microsoft.com/en-us/rest/api/monitor/actiongroups
https://learn.microsoft.com/en-us/rest/api/monitor/alertrules/createorupdate

Azure Resource Group template for Cloud Service and Notification Hub

I'm trying to create Azure Resource Group template for an application consisting of: Cloud Service (with single WebRole), Notification Hub, Azure Storage and Azure SQL.
I started in VS2013 by creating AzureResourceGroup project and using the JSON Outline i can add storage and SQL resources. But Cloud Service and Notification Hub is missing in Add Resource dialog. What is the schema for them? What is the best way to add them to the template?
Edit: I found schema for NotificatonHubs here and was able to add template for it. Still don't know how to define the Cloud Service.
Cloud Services are in a "private preview" on ARM so we won't have snippets in VS until it goes public. I think that you have to be whitelisted as part of the preview to deploy at the moment... (i.e. the deployment will fail if you're not whitelisted)

Resources