Version: Latest

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.

  1. 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.

  2. 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.

  3. 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 the Studio Database Migration container during deployment. The databases are:

    1. studio — to store the core assistant data, including Flows, Rasa primitives, conversation history, CMS, annotation data etc.

    2. keycloak — to store user data for RBAC and Authentication (Keycloak database).

    3. 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.

  4. 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
  5. 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.

  6. 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 the service 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.

  7. Rasa Pro Deployment: For seamless integration of your classic assistant annotation workflow or utilization of the conversation review workflow with either modern or classic 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 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 the Kafka broker. It's imperative to ensure that the Kafka topic rasa-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 is NOT 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.