Adding supporting Services in Rasa pipeline + Ability to deploy pipeline components across Microservices

Thank you for this wonderful framework.

We like the ability to define the entire Chatbot flow using Rasa pipeline (using config.yml). In addition to NLU and Dialog Mgmt, we are considering including our supporting services (Channel integration for WhatsApp messages, Session Mgmt, Authentication, Blacklisting, Formatter etc…) in the pipeline so that we have a single place that showcases the system flow.
My questions are;

  • What are the pros & cons of the above design decision?
  • If the above is valid; is there a way to add microservices/lambdas in the pipeline as against functions so that I can avoid a monolithic architecture?

Thank you.

Hi @gowtham, it sounds like the services you’re describing would typically be part of your backend service. It’s not something that would be part of the Rasa config.yml. The rasa bot would be one service, and your backend another. You can take a look at this architecture page for Rasa X which describes the microservice architecture used there: https://rasa.com/docs/rasa-x/api/architecture

Thx Melinda.

typically be part of your backend service. It’s not something that would be part of the Rasa config.yml.

Agree.

Will look into the Architecture page on RasaX