Local Mode
Rasa X Compatibility
Rasa X version 0.33.0 or higher is only compatible with Rasa Open Source 2.x. If you are on Rasa Open Source 1.x, please check the compatibility matrix for a compatible version.
License Terms
For the use of Rasa X the Rasa X License Terms apply. For the use of Rasa Enterprise the Rasa Enterprise License Terms apply.
Install and Run
You can install Rasa X on your local machine with:
pip3 install rasa-x --extra-index-url https://pypi.rasa.com/simple
Installing Edge vs. Stable
The above command will install the stable version of Rasa X. To install the latest edge version, use:
pip3 install rasa-x --pre --extra-index-url https://pypi.rasa.com/simple
From your Rasa assistant's project directory, start it with:
rasa x
This should open a browser tab to http://localhost:5002.
Configure Settings
By default, Rasa X will auto-generate a password for you that will be available in the logs. You can set a specific password for Rasa X via the RASA_X_PASSWORD environment variable. For example:
export RASA_X_PASSWORD="my-secure-password"
Then run:
rasa x
The following arguments can also be used to adapt the server settings:
usage: rasa x [-h] [-v] [-vv] [--quiet] [-m MODEL] [--data DATA [DATA ...]]
[-c CONFIG] [-d DOMAIN] [--no-prompt] [--production]
[--rasa-x-port RASA_X_PORT] [--config-endpoint CONFIG_ENDPOINT]
[--log-file LOG_FILE] [--endpoints ENDPOINTS] [-p PORT]
[-t AUTH_TOKEN] [--cors [CORS [CORS ...]]] [--enable-api]
[--response-timeout RESPONSE_TIMEOUT]
[--remote-storage REMOTE_STORAGE]
[--ssl-certificate SSL_CERTIFICATE] [--ssl-keyfile SSL_KEYFILE]
[--ssl-ca-file SSL_CA_FILE] [--ssl-password SSL_PASSWORD]
[--credentials CREDENTIALS] [--connector CONNECTOR]
[--jwt-secret JWT_SECRET] [--jwt-method JWT_METHOD]
Optional Arguments:
-h, --helpShow this help message and exit-m MODEL, --model MODELPath to a trained Rasa model. If a directory is specified, it will use the latest model in this directory. (default: models)--data DATA [DATA ...]Paths to the files or directories containing stories and Rasa NLU data. (default: data)-c CONFIG, --config CONFIGThe policy and NLU pipeline configuration of your bot. (default: config.yml)-d DOMAIN, --domain DOMAINDomain specification. This can be a single YAML file, or a directory that contains several files with domain specifications in it. (default: domain.yml)--no-promptAutomatic yes or default options to prompts and oppressed warnings. (default: False)--productionRun Rasa X in a production environment. (default: False)--rasa-x-port RASA_X_PORTPort to run the Rasa X server at. (default: 5002)--config-endpoint CONFIG_ENDPOINTRasa X endpoint URL from which to pull the runtime config. This URL typically contains the Rasa X token for authentication. Example:https://example.com/api/config?token=my_rasa_x_token--log-file LOG_FILEStore logs in specified file. (default: None)--endpoints ENDPOINTSConfiguration file for the model server and the connectors as a yml file. (default: endpoints.yml)
Python Logging Options:
-v, --verboseBe verbose. Sets logging level to INFO. (default: None)-vv, --debugPrint lots of debugging statements. Sets logging level to DEBUG. (default: None)--quietBe quiet! Sets logging level to WARNING. (default: None)
Server Settings:
-p PORT, --port PORTPort to run the server at. (default: 5005)-t AUTH_TOKEN, --auth-token AUTH_TOKENEnable token based authentication. Requests need to provide the token to be accepted. (default: None)--cors [CORS [CORS ...]]Enable CORS for the passed origin. Use * to whitelist all origins. (default: None)--enable-apiStart the web server API in addition to the input channel. (default: False)--response-timeout RESPONSE_TIMEOUTMaximum time a response can take to process (sec). (default: 3600)--remote-storage REMOTE_STORAGESet the remote location where your Rasa model is stored, e.g. on AWS. (default: None)--ssl-certificate SSL_CERTIFICATESet the SSL Certificate to create a TLS secured server. (default: None)--ssl-keyfile SSL_KEYFILESet the SSL Keyfile to create a TLS secured server. (default: None)--ssl-ca-file SSL_CA_FILEIf your SSL certificate needs to be verified, you can specify the CA file using this parameter. (default: None)--ssl-password SSL_PASSWORDIf your ssl-keyfile is protected by a password, you can specify it using this paramer. (default: None)
Channels:
--credentials CREDENTIALSAuthentication credentials for the connector as a yml file. (default: None)--connector CONNECTORService to connect to. (default: None)
JWT Authentication:
--jwt-secret JWT_SECRETPublic key for asymmetric JWT methods or shared secret for symmetric methods. (default: None)--jwt-method JWT_METHODMethod used for the signature of the JWT authentication payload. (default: HS256)
Share your bot in local mode
In order to share your bot you’ll need to make your locally running Rasa X server available to external traffic. You can do this using ngrok.
You can download and install ngrok for free. Once it is installed, open a new terminal window and run:
ngrok http 5002
This will create a public HTTPS url for your locally running Rasa X server. You should see something like this:
Session Status online
Session Expires 7 hours, 59 minutes
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4041
Forwarding http://831897ef2f98.ngrok.io -> http://localhost:5002
Forwarding https://831897ef2f98.ngrok.io -> http://localhost:5002
To share your bot, replace the http://localhost:5002 portion of your Share your Bot link with the https forwarding address from ngrok. Your link should then look something like this: https://831897ef2f98.ngrok.io/guest/conversations/production/29fbd34c2a06481f.