Installation

Installation

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

You can install both Rasa and Rasa X using pip (requires Python 3.5.4 or higher).

$ pip install rasa-x --extra-index-url https://pypi.rasa.com/simple

Step-by-step Installation Guide

1. Install the Python development environment

Check if your Python environment is already configured:

$ python3 --version
$ pip3 --version

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.

2. Create a virtual environment (strongly recommended)

Tools like virtualenv and virtualenvwrapper provide isolated Python environments, which are cleaner than installing packages systemwide (as they prevent dependency conflicts). They also let you install packages without root privileges.

3. Install Rasa and Rasa X

Congratulations! You have successfully installed Rasa!

Building from Source

If you want to use the development version of Rasa, you can get it from GitHub:

$ git clone https://github.com/RasaHQ/rasa.git
$ cd rasa
$ pip install -r requirements.txt
$ pip install -e .

NLU Pipeline Dependencies

Several NLU components have additional dependencies that need to be installed separately.

How do I choose a pipeline?

The page on Choosing a Pipeline will help you pick the right pipeline for your assistant.

I have decided on a pipeline. How do I install the dependencies for it?

When you install Rasa, the dependencies for the supervised_embeddings - TensorFlow and sklearn_crfsuite get automatically installed. However, spaCy and MITIE need to be separately installed if you want to use pipelines containing components from those libraries.

Dependencies for spaCy

For more information on spaCy, check out the spaCy docs.

You can install it with the following commands:

$ pip install rasa[spacy]
$ python -m spacy download en_core_web_md
$ python -m spacy link en_core_web_md en

This will install Rasa NLU as well as spacy and its language model for the English language. We recommend using at least the “medium” sized models (_md) instead of the spacy’s default small en_core_web_sm model. Small models require less memory to run, but will somewhat reduce intent classification performance.

Dependencies for MITIE

First, run

$ pip install git+https://github.com/mit-nlp/MITIE.git
$ pip install rasa[mitie]

and then download the MITIE models. The file you need is total_word_feature_extractor.dat. Save this anywhere. If you want to use MITIE, you need to tell it where to find this file (in this example it was saved in the data folder of the project directory).