Version: Latest

Troubleshooting

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.

Python 3.10 requirements

If you are using Linux, installing rasa-pro could result in a failure while installing tokenizers and cryptography.

In order to resolve it, you must follow these steps to install a Rust compiler:

apt install rustc && apt install cargo

After initializing the Rust compiler, you should restart the console and check its installation:

rustc --version

In case the PATH variable had not been automatically setup, run:

export PATH="$HOME/.cargo/bin:$PATH"

If you are using macOS, note that installing rasa-pro could result in a failure while installing tokenizers (issue described in depth here).

In order to resolve it, you must follow these steps to install a Rust compiler:

brew install rustup
rustup-init

After initializing the Rust compiler, you should restart the console and check its installation:

rustc --version

In case the PATH variable had not been automatically setup, run:

export PATH="$HOME/.cargo/bin:$PATH"

OSError: [Errno 40] Message too long

If you run rasa train or rasa run after you’ve enabled tracing using Jaeger as a backend in your local development environment, you might come across this error OSError: [Errno 40] Message too long.

This could be caused by the OS of your local development environment restricting UDP packet size. You can find out the current UDP packet size by running sysctl net.inet.udp.maxdgram on macOS. You can increase UDP packet size by running sudo sysctl -w net.inet.udp.maxdgram=65535.