Requirements
To ensure the proper functioning of Rasa Studio, it is essential to set up and configure the following components.
Please note that these components are NOT part of the Studio Helm Chart.
Kubernetes Cluster: Rasa Studio Helm charts require a Kubernetes cluster (version >=
1.22
) to deploy the application. Kubernetes provides a container orchestration platform that manages the deployment, scaling, and management of containerized applications. You can set up a Kubernetes cluster on various cloud providers, such as Amazon EKS, Google Kubernetes Engine (GKE) etc.Helm: Helm is a package manager for Kubernetes that simplifies the deployment and management of applications. Before deploying Rasa Studio, make sure that Helm (version >=
3.8.0
) is installed on your machine. Helm allows you to define and manage application configurations using Helm charts. Ensure that you have Helm installed on your local machine or a client machine that has access to the Kubernetes cluster.PostgreSQL Database: Rasa Studio requires a PostgreSQL database instance as its primary data store. It is recommended to use PostgreSQL version
16
. Studio needs two databases for its functioning and all of them are automatically created by theStudio Database Migration
container during deployment. The databases are:studio
— to store the core assistant data, including Flows, Rasa primitives, conversation history, CMS, annotation data etc.keycloak
— to store user data for RBAC and Authentication (Keycloak database).
All the above-mentioned databases can be created in a single database instance. A managed PostgreSQL service, such as Amazon RDS or Google Cloud SQL, is recommended for ease of management and scalability.
Kafka Broker: Studio relies on a Kafka broker internally to receive conversation events from your production Rasa Pro assistant. Kafka provides a scalable and fault-tolerant message streaming platform. Managed Kafka services like Amazon MSK, Confluent Cloud, etc can simplify the management of Kafka infrastructure.
Users need to manually create the following Kafka topics:
rasa-events
rasa-events-dlq
Assistant Model Storage :
The
Rasa Pro Model Service
of Studio requires a persistent storage medium to store the trained model. This can either be a Kubernetes persistent volume or cloud storage. Ensure that the persistent storage of your choice is created and ready for use before deploying Rasa Studio. Please note that you need only one of the following storage options:Persistent Volume: The
Rasa Pro
container part of the Studio deployment requires the persistent volume to be mounted at the/app/working-data
location. Persistent volume creation is turned on by default in the Helm chart. You can turn that off and create a persistent volume manually based on the requirements of your Kubernetes cluster if the default settings do not work for you.Cloud Storage: You can configure Studio’s model-service with cloud object storage access to store assistant trained models. The model service supports AWS S3-based storage, Google Cloud Storage and Azure storage. A storage bucket needs to be created and the corresponding environment variables should be passed to the
Rasa
container in thevalues.yaml
file for Rasa Pro’s use. See this section for more information on what Rasa Pro model service needs. Please ensure that the bucket has the necessary permissions to be accessed by Rasa Pro. Rasa Pro needs the permissions to read and write objects to the bucket.
note
If you choose to not use any storage option, the Rasa Pro Model Service will lose the trained model on every restart of the container. This will lead to inconsistent behavior of
Versions
andTry Your Assistant
features in Studio.Rasa Pro Assistant Deployment: Optional: This refers to the production assistant that is running the trained and approved model and is answering questions from your customer.
For seamless integration of your NLU-based assistant annotation workflow or utilization of the conversation review workflow with either CALM or NLU-based assistants, Rasa Studio requires access to conversation events from your Rasa Pro assistant. To deploy a production-grade assistant, you'll need to utilize the official
Rasa Pro Helm Charts
, distinct from the Studio Helm chart. Refer to this link for detailed instructions. Studio establishes connection with the Rasa Pro assistant via theKafka broker
. It's imperative to ensure that the Kafka topicrasa-events
, created earlier, is passed to your Rasa Pro deployment to facilitate ingestion of conversation data by Studio.
Please make sure that you have fulfilled the above requirements before proceeding with the deployment of Rasa Studio using Helm charts.