QnABot ReadMe
Project Setup
Add a separate appsettings.<environment>.json
file for each environment in Properties/launchSettings.json
per these instructions.
appsettings.Development.json
appsettings.Production.json
You can get them from someone who’s worked on the project or grab the keys from Azure if you have access
- The
GreetingMsg
config value is used to set the greeting messgage that will be displayed whenever a new conversation is started with the bot. - The
DefaultAnswer
config value is used to set the messgage that is dispalyed when no suitable answer can be found. - The
ScoreThreshold
config value is used to set the minimum confidence score that the bot will consider a match worth returning.
Contributing
SOV Org Members
- Create a local branch
- Push changes to our repo
- Open pull request
General Public
- Fork the repo
- Push changes to any branch
- Create pull request into upstream master branch
- When creating PR, check “Allow maintainers to edit my branch”
Deployment
Deploys should only be done after a PR is merged into master
Grab the publish profile from the App Service used by the Bot
QnA Maker
Bot Framework v4 QnA Maker bot sample. This sample shows how to integrate Multiturn and Active learning in a QnA Maker bot with ASP.Net Core-2. Click here to know more about using follow-up prompts to create multiturn conversation. To know more about how to enable and use active learning, click here.
This bot has been created using Bot Framework, it shows how to create a bot that uses the QnA Maker Cognitive AI service.
The QnA Maker Service enables you to build, train and publish a simple question and answer bot based on FAQ URLs, structured documents or editorial content in minutes. In this sample, we demonstrate how to use the QnA Maker service to answer questions based on a FAQ text file used as input.
Concepts introduced in this sample
The QnA Maker Service enables you to build, train and publish a simple question and answer bot based on FAQ URLs, structured documents or editorial content in minutes. In this sample, we demonstrate how to use the Active Learning to generate suggestions for knowledge base.
Prerequisites
- Follow instructions here to create a QnA Maker service.
- Follow instructions here to create multiturn experience.
- Follow instructions here to import and publish your newly created QnA Maker service.
- Update appsettings.json with your kbid (KnowledgeBase Id), endpointKey and endpointHost. QnA knowledge base setup and application configuration steps can be found here.
- (Optional) Follow instructions here to set up the QnA Maker CLI to deploy the model.
To try this sample
-
Clone the repository
git clone https://github.com/microsoft/botbuilder-samples.git
- In a terminal, navigate to
experimental/qnamaker-multiturn-bot/csharp_dotnetcore
-
Run the bot from a terminal or from Visual Studio, choose option A or B.
A) From a terminal
# run the bot dotnet run
B) Or from Visual Studio
- Launch Visual Studio
- File -> Open -> Project/Solution
- Navigate to
experimental/qnamaker-multiturn-bot/csharp_dotnetcore
folder - Open
qnamaker-sample.sln
file - Press
F5
to run the project
Testing the bot using Bot Framework Emulator
Bot Framework Emulator is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel.
- Install the Bot Framework Emulator version 4.3.0 or greater from here
Connect to the bot using Bot Framework Emulator
- Launch Bot Framework Emulator
- File -> Open Bot
- Enter a Bot URL of
http://localhost:3999/api/messages
Deploy the bot to Azure
See Deploy your C# bot to Azure for instructions.
The deployment process assumes you have an account on Microsoft Azure and are able to log into the Microsoft Azure Portal.
If you are new to Microsoft Azure, please refer to Getting started with Azure for guidance on how to get started on Azure.