I’ve noticed there are a few people on here asking how to install Rasa on the Raspberry Pi 4 and a lot of the answers are pretty outdated.
Here is a tutorial I made for running the latest version of Rasa, 3.5.10 on the Raspberry Pi 4. It works using Raspberry Pi OS (64-bit) and Ubuntu 23.04 (64-bit)
------------------------------------------------------- For ease of access ------------------------------------------------------
To get started install the Raspberry Pi OS Imager
After installing the imager select CHOOSE OS > Raspberry Pi OS (other) > Raspberry Pi OS (64-bit)
- NOTE: I have also tested that Rasa works with Ubuntu Desktop 23.04 (64-bit) on the Raspberry Pi as well so feel free to choose that if you prefer Ubuntu
Then select your storage device and write the image to it
Once you have finished writing the OS attach your storage device to your Raspberry Pi, power it on and go through the installation steps and restart the Pi when prompted
Adding Debian Bookworm to Debian Bullseye SourceList – Skip this step if you are using Ubuntu 23.04 –
To get the proper updated versions of some packages needed by Rasa’s package requirements we need to upgrade from Debian Bullseye to Bookworm
First open the source lists file from the terminal
sudo nano /etc/apt/sources.list
Then replace every instance of “bullseye” with “bookworm” in the first three lines. It should look as follows
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware deb http://security.debian.org/debian-secuirty bookwork-security main contrib non-free non-free-firmware deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
Press Ctrl + s then Crtl + x to save and exit
Once in the desktop open the terminal to update Debian and install the required packages. Select y to any prompts
sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y
Now reboot the system and you should be in Debian Bookworm. – Ignore if using ubuntu –
- NOTE: The default desktop environment may not look or work properly, if you’d like to change it follow this tutorial, I would recommend going with the gnome desktop option
Now lets install the required packages
sudo apt install -y build-essential git curl librdkafka-dev
Next we will install Mamba, this is a newer version of Conda that runs much faster and will help with installing all our Python packages
cd ~/Downloads wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-pypy3-Linux-aarch64.sh bash Mambaforge-pypy3-Linux-aarch64.sh
This will start the installation process. Go through the installer saying yes to all the options.
- NOTE: this will cause Mamba to always activate when opening the terminal. To stop this you can issue the command “conda config --set auto_activate_base false”
Now close and reopen the terminal and you should see (base) added to the terminal line.
Update mamba by running these commands and selecting “y” to any prompts
mamba update mamba mamba update --all
- NOTE: if you get an error after performing mamba update --all this should be okay, just rerun both commands and ensure everything is up to date
Now that Mamba is running and up to date we need to create a python environment for the project. This allows us to install whatever Python packages we want without clutering the main environment
We will be using python 3.10, selecting y to any prompts
mamba create -n RASA Python==3.10 mamba activate RASA python -m pip uninstall pip python -m ensurepip python -m pip install -U pip
Next we install Bazelisk, this is a launcher for Bazel that will help with creating the Tensorflow Addons and Text Packages from source
cd ~/Downloads wget https://github.com/bazelbuild/bazelisk/releases/download/v1.17.0/bazelisk-linux-arm64 chmod +x bazelisk-linux-arm64 sudo mv bazelisk-linux-amd64 /usr/local/bin/bazel
Now run the version command twice.
- The first time will download the release to your machine.
- The second time should confirm the bazel version
Now that we have all our tools setup and ready to go lets install Tensorflow version 2.11.0
pip install tensorflow==2.11.0
Now we have to build Tensorflow Addons version 0.19 which is compatible with Tensorflow 2.11
cd ~/Downloads git clone https://github.com/tensorflow/addons.git cd addons git checkout r0.19 python ./configure.py bazel build --enable_runfiles build_pip_pkg bazel-bin/build_pip_pkg artifacts pip install artifacts/tensorflow_addons-0.19.0-*.whl
Now for the final requirement we build Tensorflow Text. This one will take a while so sit back, relax and make sure your Pi has a healthy power supply
cd ~/Downloads git clone https://github.com/tensorflow/text cd text git checkout 2.11 source oss_scripts/configure.sh bazel build --enable_runfiles oss_scripts/pip_package/build_pip_package ./bazel-bin/oss_scripts/pip_package/build_pip_package artifacts pip install artifacts/tensorflow_text-*.whl
And now for the moment of truth, we install Rasa
cd ~/Documents mkdir Rasa cd Rasa pip install "rasa==3.5.10" rasa init
Hopefully this helped, and happy training!