Rasa X chat UI only works for production environment

I have Rasa X 1.2.7 deployed and working using the official Helm chart.

I have also deployed two Rasa Opensource 3.4.0 stacks using the Rasa OS helm chart, one is serving the ‘production’ environment and the other the ‘devlocal’ environment. I have a valid model tagged with both environments.

When I share my assistant for guest testers for the production environment, I can chat with it normally in the chat ui. Not so for the devlocal environment.

In the devlocal chat, everything I type does arrive to the devlocal Rasa service and is processed normally. The bot also generates the correct response which is returned to the Chat UI as a result of the call to https://rasax-host/api/conversations//messages?environment=devlocal. But Chat UI never displays the response. I am assuming that the event itself never arrives through the web socket connection but I don’t know how to verify or debug this.

I have verified that the devlocal Rasa service does reach RabbitMQ and posts messages successfully.

What can be the culprit here?

An additional related question is: what queue should I configure for the various Rasa OS environments? I can configure different queues and they are created and filled, but only one queue (rasa_production_events by default) is consumed by the rasa X event service and I cannot configure it to consume multiple queues. Are all environments supposed to post to the same RabbitMQ queue, and if not, how are queues supposed to be handled?

Thank you!


Reply to self, since I figured this out.

First of all, I totally overlooked the fact that to successfully communicate to Rasa X, a Rasa instance needs to define an environment variable RASA_ENVIRONMENT=. I did read that in the docs, but for some reason, because production worked without it, I assumed that this somehow was set automatically. Not so! The moment I defined those variables for my environments, everything started working.

This also means I now understand that all environments should write to the same RABBITMQ queue since the event consumer (event-service) in Rasa X can only consume events from one queue.


Regarding the queues, you would only need to configure rasa_production_events for use with Rasa X. No other queues are needed.

Since Rasa X is deprecated, I recommend you stop using it and then you wouldn’t configure an event broker at all unless you had your own solution that needed to consume the tracker events.

Thanks @stephens , the problem has been resolved.