The previous documentation for Qbot is rendered irrelevant since most of the suggested Azure services were already discontinued or are going to be discontinued in a few years time.
The aim of this bot is to automate question answering in class Microsoft Team channels. In parallel to that, this bot will also build a knowledge repository of questions and answers, as well as provide a better visibility on the types of questions asked by students in different classes & over the years.
A knowledge base is the repository of questions and answers that the language service can refer to when it looks up for questions. This resource can be created through this portal.
When creating a KB, Azure will prompt you to create a question answering
service in the Language Studio.
In the Language Studio, click on "Create new project", select the language to English, and populate the project information.
KB Source can be in the file format of Excel or TSV (might be possible to try other file formats, but not priority at the moment).
After uploading the KB Source, you could edit the prompts and responses anytime.
Once you're satisfied with the list of QnAs, the KB is ready for deployment.
Click on the "Deploy knowledge base" button on the sidebar, and click on the deploy button.
After KB is successfully deployed, there is a "Create a bot" button, which will automatically create a boilerplate code for the MS Teams bot and deploy it with the relevant KB Source.
At the time of writing this document, the SEA region does not have the quota for Bot Web App resource. If the deployment fails, check the log and if it says "SKU Oversubscription", change the region (by default, the region selected is US Central).
The source code of the bot service can be downloaded, modified, and redeployed.
Navigate to qbot-language-service-bot
and click on Download bot source code
.
If you're using VSCode, install the following extensions:
The commands to deploy an Azure Bot can be found here.
//TODO: research the exact steps to re-deploy the bot using the modified code.
//TODO: read up on how to program the "Tabs" (which is basically an embedded web application) in MS Teams.
In order to make the QNAMaker Knowledge Base dynamic, we need a way to update the KB with new values.
This can be done by modifying the bot's codebase.
Currently, the ownership of all the resource group is under Prof Oka.
Ownership of a resource group is inherited from the ownership of the subscription.
For this project, it is recommended that the student lead and the prof in charge to be co-administrators of the subscription.
If you are the owner of the resources and wish to transfer the ownership of the project to someone else, navigate to the resource group > Access Control (IAM) > Roles > Add > Add co-administrator.
In this project, there is only one resource group used – qbot-trial
resource group. This resource group falls under the SUTD Q-Bot Subscription
subscription.
Disabling the resource group means stopping all resources under the group.
Note that the data stored in Azure will be removed after a few months (Azure).
The resource group can be disabled (without deleting the resources) by temporarily cancelling the subscription:
SUTD Q-Bot Subscription
Status
is Disabled
.Enabling the resource group means running all the resources under this group, and this is automatically done after creating all of the resources above.
However, if all of the resources are disabled. You can re-enable them by doing the following:
SUTD Q-Bot Subscription
Currently, the bot can converse using static qna pair knowledge base.
Works required:
@OdinBot what is the origin of "hello world"?
The bot is supposed to create a QnA pair entry with an empty Answer.