Skip to main content

Complete On-Premise and Fully Customisable Chat Bot - Part 1 - Overview

Hey Folks !! Welcome back!

For long time I was searching for the solution to make a in-house chatbot that operates with in the organisation and no compromise on the data security using the NLP cloud services or the Bot agents.

Luckily I got to know about the combination of the BOTKIT and the RASA NLU can make this solution. I went on searching and searching for the solution for the long time and I could find the pieces here and there and completed the solution.

I write this to help other folks to make this solution easier rather than searching a lot.


The solution goes on as follows.


Components are as follows :

  1. Front-End UI
  2. Botkit server / Agent server
  3. RASA NLU server 
  4. Business Logic Server
  5. DataSource 
  6. External Api if any
Now seeing in detail what these components will do.

Front-end UI :

This is the component where the user interacts with. This can be on any technology like the Angular webapp or android app ...etc

Borkit Server / Agent Server:

This is the place where the actual botkit server lies. Agent is made using the Botkit and it receives the user meassage.

RASA - NLU:

RASA NLU server is the natural language processor. It acts as the middle ware for the Botkit and helps in parsing and classify the natural language of the user to the Intents and Entities which in-turn becomes the input for the Business logic server to respond back with the respective message back to the user.

Business Logic Server:

Business logic server can be on any server technology like PHP, spring boot, Node js etc. We follow the Node js here in this blog. This server will receive the intents as the input and the response will be formed by this server based on the business logic. This also uses the database and the external API to form the response.

Any one to build this solution the following technology stack is needed.
  1. Python basics like PIP installer and command execution knowledge to run the RASA NLU.
  2. Knowledge in JSON and Websocket protocol
  3. Node js 
  4. Any front end technology. (Here we rely on Angular)
  5. Prior knowledge or work experience in chat bot is plus point
Believe me this blog is going to be as simple that the beginner can even can build the Chat bot from scratch that runs within the premise and no dependency on the cloud services.

We will start with building our Agent using the BOTKIT framework. 

Comments

Popular posts from this blog

Complete On-Premise and Fully Customisable Chat Bot - Part 4 - Integrating the Natural Language Processor NLP

Welcome back Folks !! In our part 3 we have seen how to communicate to the bot that we have built. Each and every people would talk the same thing in the different format and on his style. For each response if we start writing the code, Imagine how hard its gonna be. What can we do for that ? Natural Language Processor makes it easy to do. NLP is a component that identifies the user conversation and identifies the meaningful context from that. What NLP is available ? There are few NLP services like, 1. Dialog flow 2. Luie 3. IBM Voice etc. But all these are the cloud services and we need to go internet for this. As we speaking about the on premise chat bot we will go for the RASA solution. What is RASA ? RASA is a Chatbot server and RASA NLU is the NLP server that comes handy and is built on the python tech stack. Its is a open source and backed by a strong community. Lets get started with RASA ... 1. Installing the python environment :  Si...

How Machine Learning Works ? - Data Rules the Kingdom

W elcome Back Readers !, For those who have not read the previous post on How Machine Learning works ? Please do read previous one before continuing this so that it would be more easy to understand. You can find the previous post here How Machine Learning Works ? - Mathematics Every Where . For other who are ready to join with me in this journey to understand the Machine Learning, Thank you for being with this post. Till now we are discussing on the the title "How Machine Learning works? " and to understand that we have seen in the first post that there exist the patterns or trends in the data and we try to find that in terms of a mathematical equation called a model and try to fit to the new data that we have not came across for predicting the values. Wow may be we got the entire process complete with this. But there are few thinks that needs to be cared while training the model or creating the model or while processing the data for the model creation. ...

Machine Learning - Types of Learning - Explained

W elcome back readers !! So far we are trying to understand the Machine learning in a simple way, keeping the beginners context in mind ! This is one more post, I thought I would write on explaining the various learning types in the Machine Learning. Obviously the word says "Machine Learning" - means machine learn something. How do machine can learn something is what we understood in our various posts before ( here ). We will see about how many types of learning are possible by the machines. Here when I say types of learning, I say about the various classification of learning procedures (Algorithm - Step by step procedure to solve a problem). Types of Learning: Following types of learning procedures can be identified, Regression Classification Clustering Rule association  Ensemble  Reinforcement Deep Learning I can understand that this sounds Greek and Latin now, trust me I will make you understand all this in easy way. We can't cover all the types...