The exact workflow of the ChatBot is as follows:
For every message from the user,
- Initialize a chatbot with existing context (if any).
- Get the response for a user message.
- Serialize the chatbot and store that somewhere for passing to a new instance on the next initialization.