BL.Assistant: Towards an Human-AI Teaming Platform

BL.Assistant featured image.

At work, you can have the best position ever (at least from your point-of-view), there are always boring and repetitive tasks to do that make you feel like you’re wasting your time. At Berger-Levrault, we aim to your life easier, that’s why we worked on BL.Assistant, a platform able to host AI-Based robots to assist administrative agents in their repetitive and tedious daily tasks.

In human resources, accounting and others adminitrative activites, there are numerous repetitive tasks with low added value. These tasks make daily work heavier and take time from workers which could be dedicated to more complex’s activities where intelligence and human subtlety are required. The recently published report from France Conseil d’Etat list an incredible amount of use case where automation and AI could improve public services and free agents from low-added value tasks.
In addtion, administrative activites are currently in complete transformation due to digitization. To go along with that, software development methodology is also evolving. Indeed, software frameworks, graphics toolkit, packaging and deployment pipelines, and development environments are transitioning to take advantage of Low-Code/No-Code frameworks, RPA (Robotic Process Automation), and Function as a Service (FaaS), to make a developer’s life much easier. These approaches allow us to reconsider completely the way we develop management software. These platforms offer easy-to-use graphic interfaces with preconfigured units and tools to connect them, though, these tools once used separately are not mature enough to answer complex needs, and there is not yet a clear vision on their limitations, and functionalities they provide once connected together.

Low-Code/No-Code frameworks, Robotic Process Automation, Function as a Service allow us to reconsider completely the way we develop management software.

That’s why we started to investigate the creation of a platform which aims at solving the problem of repetitive and tedious administrative tasks by takin advantage of Artificial Intelligence, Natural Language Processing, Robotic Process Automation and Intelligent Process Automation. This platform thus named BL.Assistant offers a marketplace of programmable robots consumable through a No-Code/Low-Code interface to ease task automation. This solution enables us to:

  • Offer to the user a set of robots and functionalities developed in an easy and fast way favoring Low-Code Framework able to answer complex functions thanks to its integrated script languages.
  • A command & control platform taking advantage of Low-Code/No-Code technologies to administrate with a set of available robots and schedule their execution, follow their progress, stop them, etc. It enables to monitor these tools and their ability to answer to our use case.
  • Insure a total decoupling between the executive part and the user interface. The robots are not linked to a particular input, they provide a set of consumables services which can be used by other applications. The interaction with them must be as simple as possible, by calling services or an API for instance.
  • Optimize continuously the calculation resources needed for the robots executions. BL.Assistant must natively integrate an on-the-fly deployment logic, scheduling and dynamic resource allocation based on the Serverless approach.
  • Ease the add of new robots by handling all the non functionnal requirements code and technicities, allowing developpers to focus only on the robot behaviour and objectives.

Inside BL.Assistant

The solution is based on a decoupled architecture with two pillars, a control plan and an execution plan. The objective of this decoupling is to provide a set of consumables ” Robots” services which can be used by others applications, not linked to a particular input. The following figure illustrates the main components of the architecture as well as the distribution of each component within each plan and the interaction between each service.

BL.Assistant architecture.
Figure 1: BL.Assistant architecture

The control plan allows to supervise, manage, configure and follow robots condition. This part is composed of a web application developed with the Low-Code tool Budibase from which we will plan and launch the robots. It also contains a data base connected to the web application and to a real-time streaming server connector which receives and registers the execution requests and logs of the robots.
The execution plan is hosted on a distant server from the user device. It is made out of an open-source FaaS platform, OpenFaaS, which manages the robots’ executions requests, their launch and monitors their functions. An other real-time streaming server is present in this plan (Kafka Message Broker), the robots pass their logs in real time to the server which register them in what we call “topic”. For each robot, a different topic is created.
The last component of this plan is an automation server which will take in charge the continuous integration and automatic deployment of new robots in the infrastructure. This server is responsible for the creation of the robots from code put on a code repository (e.g. Gitlab) and makes them available to OpenFaaS.

The interaction between these two plans happens as follow:

  • When a workflow execution request happens in the UI part, the workflow’s parameters are sent to the body of an “API REST” request under a JSON form to the execution plan, and the attached files are uploaded to the cloud, a distant storage space.
  • In the meantime of the workflows execution, the robots download the attached files needed to treat the request and upload the resulting files in the cloud, while the connector linked to the data base subscribes to the streaming server topic and consumes the logs emitted by the robots to display them in the user interface in real time. At the end of the process, the bots connect to the remote messaging service to send the report detailing the tasks performed to the user by email.

What comes next?

The initial objective was to ease the automation of repetitive and tedious tasks. To do so, we developed an architecture combining the concepts of Low-Code/No-Code and RPA to make the automation easier and expose them as programmable and consumable bots, available for consumption on Low-Code/No-Code interfaces. However, we want to highlight that this is a first version of the project. In a near future, we want to propose interactive robots enabling the user to interact with them for tasks requiring a certain level of human expertise. This could be achieved through many manners that we intend to explore: as a chatbot, by sending orders to a robot through email, or even vocally through your phone or favorite video-conferencing system.

Of course this is the very first version of BL.Assistant, we intend to keep exploring how this architecture and system can answer administrative agents’ difficulties and how to enable easy access to the very last technologies and features in RPA and AI.

By Mohamed Moalla

More ...

Retour en haut