Rasa Pro License
Rasa Pro Services Setup
Installing Rasa Pro Services requires the deployment of a docker container. The container can be deployed in a different environment than Rasa Plus. Both deployments need to be able to connect to the same Kafka cluster to communicate.
A Rasa Pro Services deployment needs to be connected to
- a message broker (Kafka) and
- a data warehouse (e.g. PostgreSQL).
The Kafka deployment should be a production deployment. We recommend a managed deployment, e.g. using Amazon Managed Streaming for Apache Kafka.
The minimum hardware requirements include information about the requirements you need to install and use Rasa Pro Services. Hardware requirements are dependent on the average number of conversations and expected workload. Your exact needs may be more, depending on your workload.
The following is the recommended minimum hardware guidance:
- CPU: 2 vCPU
- Memory: 4 GB
- Disk space: 10 GB
These requirements correspond to the
t3.medium instance type on AWS.
Running Rasa Pro Services requires a valid license. You need to supply the license as an environment variable to the service.
Installation and Configuration
Rasa Plus streams data to Kafka which gets consumed by Rasa Pro Services. These different services need to be run and configured to be able to communicate.
Configure Rasa Plus to stream data to Kafka. The configuration for Kafka should be put in a configuration file
endpoints.yml:endpoints.ymlevent_broker:type: kafkapartition_by_sender: Truetopic: rasa-eventsurl: <BROKER URL>
<BROKER_URL>needs to be replaced with an address of a bootstrap server of your Kafka cluster. Configuration examples for different security protocols and other parameters can be found in the Kafka Event Broker documentation.
Rasa Pro Services is a docker image. Authenticate to pull the docker images:gcloud auth configure-docker europe-west3-docker.pkg.dev
Pull the Rasa Pro Services image to your machine:docker pull europe-west3-docker.pkg.dev/rasa-releases/rasa-pro/rasa-pro-services
For a more complete walkthrough on how to manage the authentication credentials and licenses in a production environment, see the Rasa Plus Deployment Guide (select the Rasa Plus tab).
Run the Rasa Pro Services docker image and configure it to receive data from your Rasa Plus assistant connected to Kafka:docker run \-e RASA_PRO_LICENSE=<your_license> \-e KAFKA_BROKER_ADDRESS=<BROKER_URL> \-e KAFKA_TOPIC=rasa-events \europe-west3-docker.pkg.dev/rasa-releases/rasa-pro/rasa-pro-services
For production deployments, we recommend to us Amazon Elastic Container Service.
Docker Container Configuration (Reference)
The Rasa Pro Services docker container supports configuration through several environment variables. The following table lists the available environment variables:
|Required. The license key for Rasa Pro Services.|
|Required. The address of the Kafka broker.|
|Required. The topic Rasa Plus publishes events to and Rasa Pro consumes from.|
|The URL of the data lake to store analytics data in.|
|The SASL mechanism to use for authentication. Valid mechanisms are|
|The username for SASL authentication.|
|The password for SASL authentication.|
|The security protocol to use for communication with Kafka. Supported mechanisms are |
Rasa Pro Services exposes a health check endpoint at
The endpoint will return a
200 status code if the service is healthy.
If any other status code is returned or if the endpoint is not reachable
the service is unhealthy.
Example response for
Connect to a secured Kafka instance
The connection to a secured Kafka instance can be configured by setting the
following environment variables on the Rasa Pro docker container:
KAFKA_SECURITY_PROTOCOL. A detailed description of the parameters can
be found in the
environment variable reference.
The environment variables need to be configured upon startup of the Rasa Pro docker container.
keystores is currently not supported.
To upgrade to the latest version of Rasa Pro Services, you must follow these steps:
- Read the changelog documentation on breaking changes.
- Download a new docker container and run it.
Note that the container might take some time to start-up as it is running database schema migrations as part of its start-up.
If the migrations have failed, the container will be shut down.