Introduction
KNO is designed as a conversational assistant to answer queries of the user. Think of a very helpful and knowledgeable colleague. The early version is live on Slack as a generative AI bot. It understands a query using natural language processing, spell-checks, intent interpretation and prior event listening for context.
Once you have logged into your Slack workspace and installed KNO using this link, you can converse with KNO either one-on-one or in a channel by tagging ‘@kno’. A more detailed description of the steps can be found here.
Making KNO intelligent
The KNO engine is based on new and cutting edge technologies, of which the two most important ones are Dialogflow and OpenAI.
- Dialogflow is a language comprehension platform used to build conversational UI across different form factors - including but not limited to mobile and web apps as well as IVRS.
- OpenAI is an artificial intelligence software firm and platform which provides many solutions in understanding the intent and natural language processing of a query.
KNO uses Dialogflow to understand the intent behind the question. Subsequently, it uses the knowledge graph in the internal database to understand the model and information required to answer the query. After picking the required model, it queries OpenAI with the required parameters of the request and gets the answer.
KNO architecture
When we started building out KNO, we wanted to limit writing code for as many platform elements as possible and focus development resources on the conversational engine. The logical choice was to run KNO on a platform - Slack in this case. KNO uses Slack’s native authentication (Oauth2) and authorization (Slack provided keys). It is hosted as a flask app using Gunicorn deployment.
Path ahead
We have two upcoming priorities
1. Improving KNO : In the coming versions, KNO will evolve to understand the ‘context’ of the user and the tone of the query content. It will graduate to include images and videos in not only the questions but also the answers.
2. Repurposing KNO : KNO can be repurposed as a help widget, an in-app concierge or an enterprise search engine. There is a flexibility in what we train KNO on. We can exclude or include sources and fine tune relative weightage.