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 16. Studio needs two 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).

    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.

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

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

    2. 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 the values.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 and Try Your Assistant features in Studio.

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

Please make sure that you have fulfilled the above requirements before proceeding with the deployment of Rasa Studio using Helm charts.