Botfront

The Botfront is a complete conversational platform built with RASA as the engine. Because this platform is based on RASA, a good knowledge of this nlu engin is required

The Botfront provides intuitive interfaces to easily create and manage virtual assistants, without using the yaml files generated by RASA.

In this blog, we will show you the different features of the platform. We will also mention the perspectives highlighted by Baamtu, before giving you our feedback on this platform.

Components

The different components we will deal with are the following:

  • Nlu
  • Stories and Rules
  • Incoming
  • Analytics
  • Responses

We will also talk about the docker part and the management of the action.py file.

 

NLU component

NLU COMPONENT
NLU COMPONENT

As we mentioned, this platform allows easy interaction with the bot. It is therefore natural that components related to training data, responses and rules & stories are included.

The first component we will talk about is about training data and intentions.

Indeed, in the NLU component, it is easy to add an intention, some training data and an entity related to an intention.

NLU COMPONENT : Training Data
NLU COMPONENT : Training Data

This component also offers a more detailed view of the bot’s skills, by showing for example the number of training data, the number of intentions and other statistics as shown in the image below :

Vue détaillée des compétences du BOT

 

Above, another aspect of the component allows the evaluation of an entry against the different training data registered.
The botfront also offers a dynamic interface that permit you to chat with the bot. This is different from rasa x, or rasa shell.

 

Stories & Rules component

The Stories and Rules component makes it easy to manage the different scenarios that the bot could face.

Stories & Rules component

 

Incoming component

This last one allows to have statistics about the conversations, listing the conversations, the requested forms and the evaluation of the different inputs that the bot had to analyze.

Incoming component
Incoming component

 

Responses component

This component simply allows the management of the bot’s responses.

Responses component
Responses component

 

Docker and Settings

We thought it was important to write about this docker part, which is very important for the botfront, despite the fact that it is not illustrated in this platform. Indeed, the botfront acts simultaneously with 5 docker images as shown in the picture below:
One image is for the RASA server, one for the actions.py file, one for the storage in a mongo database, one for the ducking library and one for the platform.

The settings component allows the management of the domain, endpoints and credential files of the bot, the management of imports and exports of the bot, as well as the control of its git aspects and of some display parameters of the platform.

 

Analytics component

This component completes the incoming component, in the processing of information on the different conversations that the bot has had with its different users .

Analytics component

 

Actions.py

As it is mentioned in the documentation ( https://botfront.io/docs/rasa/custom-actions ) the actions.py file, thanks to its docker image, acts directly with the botfront. Indeed, when initializing a project with botfront init, an actions folder is created and the actions server is automatically started with botfront up. We can use botfront watch to rebuild and restart the action server .

Actions.py
Actions.py

 

Perspectives

After exploring the botfront source code, available on Github, Baamtu raised 2 important aspects:
1) The different bots of the server are installed on a RASA server. This can be problematic in case the platform has to deal with a hundred bots for example .
2) Because Facebook has open sourced the WhatsApp API, it is possible to deploy a bot on WhatsApp without going through Twilio.

 

Conclusion

Despite the fact that the bot is no longer maintained since 2020, this platform has not lost any of its charm and elegance. Baamtu has enjoyed using this platform to manage its various chatbots and is thinking of improving this platform to be more up to date.

Leave a Reply

Your email address will not be published. Required fields are marked *