Deploying your Rasa Assistant

These docs are for version 1.x of Rasa Open Source.

Deploying your Rasa Assistant

This page explains when and how to deploy an assistant built with Rasa. It will allow you to make your assistant available to users and set you up with a production-ready environment.

When to deploy your assistant

The best time to deploy your assistant and make it available to test users is once it can handle the most important happy paths or is what we call a minimum viable assistant. The recommended deployment methods allow you to share your assistant with test users via the share your assistant feature in Rasa X.

Recommended Deployment Methods

The recommended way to deploy an assistant is using either the Docker Compose or Kubernetes/Openshift options we support. Both deploy Rasa X and your assistant.

Kubernetes/Openshift

Kubernetes/Openshift is the best option if you need a scalable architecture. It’s straightforward to deploy if you use the helm charts we provide. However, you can also customize the Helm charts if you have specific requirements.

Docker Compose

Rasa-Only Deployment with Docker Compose

It is also possible to deploy a Rasa assistant using Docker Compose without Rasa X.

Installing Docker

If you’re not sure if you have Docker installed, you can check by running:

docker -v && docker-compose -v

Building an Assistant with Rasa and Docker

This section will cover the following:

Setup

Just like in the tutorial, you’ll use the rasa init command to create a project.

docker run -v $(pwd):/app rasa/rasa init --no-prompt

Talking to Your Assistant

To talk to your newly-trained assistant, run this command:

docker run -it -v $(pwd):/app rasa/rasa shell

Customizing your Model

Choosing a Tag

To keep images as small as possible, we publish different tags of the rasa/rasa image with different dependencies installed.

Training a Custom Rasa Model with Docker

Edit the config.yml file to use the pipeline you want, and place your NLU and Core data into the data/ directory. Now you can train your Rasa model by running:

docker run 
  -v $(pwd):/app 
  rasa/rasa:latest-full 
  train 
    --domain domain.yml 
    --data data 
    --out models

Running the Rasa Server

To run your AI assistant in production, configure your required Messaging and Voice Channels in credentials.yml.

Using Docker Compose to Run Multiple Services

To run Rasa together with other services, it is recommend to use Docker Compose.

Adding Custom Actions

To create more sophisticated assistants, you will want to use Custom Actions.

Creating a Custom Action

Start by creating the custom actions in a directory actions:

mkdir actions
# Rasa SDK expects a python module.
# Therefore, make sure that you have this file in the directory.
touch actions/__init__.py
touch actions/actions.py

Adding a Custom Tracker Store

By default, all conversations are saved in memory. This means that all conversations are lost as soon as you restart the Rasa server. If you want to persist your conversations, you can use a different Tracker Store.


👋 I can help you get started with Rasa and answer your technical questions.