This is unreleased documentation for Rasa Documentation Main/Unreleased version.
For the latest released documentation, see the latest version (3.x).

Version: Main/Unreleased

Setting up your environment

1. Python Environment Setup

Check if your Python environment is already configured:

python3 --version
pip3 --version
Python3 Supported Versions

Currently, rasa supports the following Python versions: 3.7, 3.8, 3.9 and 3.10. Note that Python 3.10 is only supported for versions 3.4.x and upwards. Additionally, rasa installation on Apple Silicon with Python 3.10 is not functional in 3.4.x but will be supported starting from 3.5.x.

If these packages are already installed, these commands should display version numbers for each step, and you can skip to the next step.

Otherwise, proceed with the instructions below to install them.

Fetch the relevant packages using apt, and install virtualenv using pip.

sudo apt update
sudo apt install python3-dev python3-pip

2. Virtual Environment Setup

This step is optional, but we strongly recommend isolating python projects using virtual environments. Tools like virtualenv and virtualenvwrapper provide isolated Python environments, which are cleaner than installing packages system-wide (as they prevent dependency conflicts). They also let you install packages without root privileges.

Create a new virtual environment by choosing a Python interpreter and making a ./venv directory to hold it:

python3 -m venv ./venv

Activate the virtual environment:

source ./venv/bin/activate

M1 / M2 (Apple Silicon) Limitations

Rasa installations on Apple Silicon don't use Apple Metal by default. We found that using the GPU on Apple Silicon increased training time for the DIETClassifier and TEDPolicy dramatically. You can, however, install the optional dependency to test it yourself or try it with other components using: pip3 install 'rasa[metal]'.

Currently, not all of Rasa's dependencies support Apple Silicon natively. This leads to the following restrictions:

  • You can not run Duckling as a docker container on Apple Silicon. If you want to use the duckling entity extractor we recommend a cloud deployment of duckling. Progress on this can be tracked on the Duckling project.
  • Rasa on Apple Silicon does not support the ConveRTFeaturizer component or pipelines containing it. The component relies on tensorflow-text which currently isn't available for Apple Silicon. Progress on this can be tracked on the Tensorflow Text project.