Microsoft qna maker tutorial | Create, train, and publish your QnA bot.

What is QnA Maker?

QnA Maker is a cloud-based API service that creates a conversational, question and answer layer over your data.

QnA Maker enables you to create a knowledge-base(KB) from your semi-structured content such as Frequently Asked Question (FAQ) URLs, product manuals, support documents and custom questions and answers. The QnA Maker service answers your users’ natural language questions by matching it with the best possible answer from the QnAs in your Knowledge base.

The easy-to-use web portal enables you to create, manage, train and publish your service without any developer experience. Once the service is published to an endpoint, a client application such as a chat bot can manage the conversation with a user to get questions and respond with the answers.


Key QnA Maker processes

QnA Maker provides two key services for your data:

  • Extraction: Structured question-answer data is extracted from structured & semi-structured data sources like FAQs and product manuals. This extraction can be done as part of the KB creation or later, as part of the editing process.
  • Matching: Once your knowledge base has been trained and tested, you publish it. This enables an endpoint to your QnA Maker knowledge base, which you can then use in your bot or client app. This endpoint accepts a user question and responds with the best answer in the knowledge base, along with a confidence score for the match.


{    "answers": [        {            "questions": [                "How do I share a knowledge base with other?"            ],            "answer": "Sharing works at the level of a QnA Maker service, i.e. all knowledge bases in the services will be shared. Read [here]( to collaborate on a knowledge base.",            "score": 70.95,            "id": 4,            "source": "",            "metadata": []        }    ]}

QnA Maker architecture

The QnA Maker architecture consists of the following two components:

  1. QnA Maker management services: The management experience for a QnA Maker knowledge base, which includes the initial creation, updating, training, and publishing. These activities can be done through the portal or the management APIs.
  2. QnA Maker data and runtime: This is deployed in your Azure subscription in your specified region. Your KB content is stored in Azure Search, and the endpoint deployed as an App service. You can also choose to deploy an Application insights resource for analytics.


This tutorial has 3 Parts:

  1. Create a QnA Maker service
  2. Create a QnA Maker knowledge base 
  3. Create a QnA Bot