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
14.3
and above. Studio needs three 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).model-service
— to store details regarding model training & model deployment.
All of 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 for communication between services (for both Modern and Classic assistants) and also to receive conversation events from your production Rasa Pro assistant (for classic assistants only). 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:
training-status-update
deployment-result
deployment-job
training-result
training-job
rasa-events
rasa-events-dlq
NFS Storage: Studio’s model-service containers require an NFS-based persistent storage for its functioning. This needs to be created separately and the corresponding connection details need to be passed into the
values.yaml
file (part of Studio Helm Chart). We recommend using managed solutions such as AWS EFS, Google Cloud FileStore etc. You can also create a VM with an attached NFS drive system and pass that information to Studio to use as a persistent volume.AWS S3 or Google Cloud Storage: Studio’s model-service needs cloud object storage access to store assistant configurations and trained models. Studio currently supports AWS S3-based storage and Google Cloud Storage. A storage bucket needs to be created and passed to the
values.yaml
file for Studio’s use. Based on the cloud provider you either need to provide theservice account
credentials (for GCP) or AWS ACCESS KEYS (for AWS) for the deployment so that Studio can access the bucket. Please ensure that the bucket has the necessary permissions to be accessed by Studio. Studio needs the permissions to read, write, and delete objects from the bucket.Rasa Pro Deployment: For seamless integration of your
classic
assistant annotation workflow or utilization of the conversation review workflow with eithermodern
orclassic
assistants, Rasa Studio requires access to conversation events from your Rasa Pro assistant deployed in production. To deploy a production-grade assistant, you'll need to utilize the officialRasa 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. It's important to note that deploying Rasa Pro isNOT
mandatory if your objective is solely to develop modern bots without requiring the conversation review workflow.
Please make sure that you have fulfilled the above requirements before proceeding with the deployment of Rasa Studio using Helm charts.