Cognitive Services QnA Maker Samples in C#
These REST samples show you how to programmatically create, update, publish, and replace a QnA Maker knowledge base, amongst many other ways to interact with it. All samples are in C#. To view these same samples in other languages:
Included are the following samples:
- Create knowledge base. Create a brand new knowledge base with given FAQ URLs.
- Update knowledge base. Update an existing knowledge base by changing its name.
- Publish knowledge base. Publish any existing knowledge base to the host your Azure account.
- Replace knowledge base. Replace an entire existing knowledge base with a custom question/answer pair.
- Download knowledge base. Download the contents of your existing knowledge base in JSON.
- Delete knowledge base. Deletes an existing knowledge base.
All REST samples revolve around what you can do with a knowledge base, which is made up of FAQs or product manuals where there is a question and an answer. QnA Maker gives you more control over how to answer questions by allowing you to train a chat bot to give answers in a variety of ways that feels more like natural, conversational exchanges.
For each sample, a subscription key is required from your Azure Portal account.
- To create a new account/resource for QnA Maker, see Create a Cognitive Services API account in the Azure portal. You may need to 'Search in Marketplace' for QnA Maker if you don't see it in the list given.
- For existing accounts, the key can be found in your Azure Portal dashboard in your QnA Maker resource under Resource Management > Keys. You'll need this key to add to your sample before running.
With the exception of creating a new knowledge base, these samples will require your QnA Maker account knowledge base ID. To find your knowledge base ID, go to My knowledge bases and select
View Code on the right. You'll see the http request and your knowledge base ID is in the topmost line: for example,
POST /knowledgebases/2700e6b9-91a1-41e9-a958-6d1a98735b10/.... Use only the ID.
Create a C# Console App (.NET Framework) in Visual Studio 2017, then add the sample you want to try to Program.cs. For example, if you want to try create-new-knowledge-base.cs. Copy/paste the code from there into your Program.cs.
You can either create one console app per sample, or add a bunch of samples to one console app as projects, then run them separately.
Install the Newtonsoft.Json NuGet package.
Read the comments in the code sample to see where you add your keys.
Run the sample.
- Quickstart: Create a new knowledge base in C#
- Quickstart: Update a knowledge base in C#
- Quickstart: Publish a knowledge base in C#
- More quickstarts coming soon... in the meantime, refer to Quickstart for Microsoft QnA Maker API with C# for all quickstarts in minimal format.