A common challenge for most informational FAQs (Frequently Asked Questions) scenarios is to separate out the content management from the FAQs design and development, as content owners are usually domain experts who may not be technical. QnAMaker addresses this by enabling a QnA management experience.
In Microsoft words – Azure QnA Maker allows you to edit, remove, or add QnA pairs with an easy-to-use interface, then publish your knowledge base as an API endpoint for a bot service. It’s simple to text and train the bot using a familiar chat interface, and the active learning feature automatically learns questions variations from users over time and adds them to your knowledge base. Use the QnA Maker endpoint to seamlessly integrate with other APIs like Language Understanding service and Speech APIs to interpret and answer user questions in different ways. More details are available at here.
To get my hands dirty, I started developing a minimal app. Basically, a Hello World with QaA Maker
The high-level scope is –
- Firstly, I have a “Azure Purchase FAQ.pdf” file which contains the questions and answers related to Azure purchasing (it’s a cut short version for obvious reasons).
- Secondly, I uploaded the above file to https://www.qnamaker.ai/ and terminology wise, it’s the knowledge base creation.
- Lastly, developed a quick console application using C#. On start this app hits the ‘qnamaker’ endpoint to search a question and gets the answer for it.
Honestly, writing this blog took me more time than developing an end to end working solution
The solution is uploaded at the GitHub. Feel free to copy/clone and try you own hands also. To begin, create the QnA Maker service and deploy with free/defaults. The settings for Sample HTTP request would look like –
Authorization: EndpointKey 4836aac3-9fcf-45ca-9295-d256a50216ec
On running the app, the console window should look like this –
Happy coding, and have fun