RASA NLU as a service for multiple chatbots in same instance

Hi, I was wondering if same RASA NLU instance being deployed can be used to serve different agents. For eg. I have one Docker Instance running which has its training file and model to serve the queries. Now if I want another agent, I need to deploy another instance with different training files. So my thought is that each agent will have their own set of training files (nlu, stories). Each of them will generate there own models. But can they all be part of same RASA instance and it can be provided as Service.

The main RASA instance will be one server for eg. http://server.com:5005/ and to access different bots we can access it from different endpoints. for eg. http://server.com:5005/adminbot, http://server.com:5005/weatherbot

Much like how it happens in Dialog flow. The URL etc remains same, but depending on token, it is routed to the correct agent.

So can single instance of RASA act as multiple agent depending on what is being accessed.

Is there any provision in current version or plan for the same ?

Hi @kmrashutosh,

that’s currently not possible. You could run a reverse proxy in front of multiple Rasa instances. There is currently an issue where we discuss whether we add a functionality like this rasa: https://github.com/RasaHQ/rasa/issues/3259#issuecomment-499527531 . Feel free to add your thoughts / requirements there. Interesting would also be:

  • why do you want to run multiple agents in one instance? By running everything in one instance, you also sacrifice the opportunity to scale everything on its own.

Sorry for the late response. The Idea for this is to have a main RASA Bot Platform as a service at organization level. And may be have a separate playground agents for people to learn and experience the bot framework by giving their data files and seeing how the bot responds.

I do agree, providing everything in one will always have the complexity of scaling independently. I can still achieve the same by introducing a middle layer with some API endpoints configuration, which in turn will route to the required RASA instance. So for outside, it still seems as one platform serving as multiple bot agents.

Mhm, there is currently a discussion going on whether to add something like this to rasa Removing projects · Issue #3259 · RasaHQ/rasa · GitHub . Maybe check if anything is missing there what you could require