Best approach for serving multiple organizations using a single Rasa instance

Good morning,

we are trying to use Rasa in a multi-organization scenario, but we’d like to avoid opening one port for each chatbot/organization and, in particular, we’d like to avoid loading similar many docker images whose only difference is the loaded model since we’d quickly run out of resources.

Our idea was to have a single Rasa instance that loads n models, one for each organization, and to attach to each user message an organization ID so that, when Rasa receives a message, it “knows” which model should handle it. Basically the same, actual architecture, but with multiple agents, one for model/organization.

Is this approach feasible? It’s no problem if we have to rewrite some parts of the Rasa code. If it isn’t possible, is there another approach you’d suggest?