The command line interface (CLI) gives you easy-to-remember commands for common tasks. This page describes the behavior of the commands and the parameters you can pass to them.
1. Cheat Sheet
| Command | Effect | 
|---|---|
| rasa init | Creates a new project with example training data, actions, and config files. | 
| rasa train | Trains a model using your NLU data and stories, saves trained model in ./models. | 
| rasa interactive | Starts an interactive learning session to create new training data by chatting to your assistant. | 
| rasa shell | Loads your trained model and lets you talk to your assistant on the command line. | 
| rasa run | Starts a server with your trained model. | 
| rasa run actions | Starts an action server using the Rasa SDK. | 
| rasa visualize | Generates a visual representation of your stories | 
| rasa test | Tests a trained Rasa model on any files starting with test_. | 
| rasa data split nlu | Performs a 80/20 split of your NLU training data. | 
| rasa data convert | Converts training data between different formats. | 
| rasa data validate | Checks the domain, NLU and conversation data for inconsistencies. | 
| rasa export | Exports conversations from a tracker store to an event broker. | 
| rasa -x | Launches Rasa X in local mode. | 
| rasa -h | Shows all available commands. | 
2. rasa init
This command sets up a complete assistant for you with some example training data:
$ rasa init
It creates the following files:
.├── actions│ ├── __init__.py│ └── actions.py├── config.yml├── credentials.yml├── data│ ├── nlu.yml│ └── stories.yml├── domain.yml├── endpoints.yml├── models│ └── <timestamp>.tar.gz└── tests└── test_stories.yml
It will ask you if you want to train an initial model using this data. If you answer no, the models directory will be empty.
Any of the default CLI commands will expect this project setup, so this is the best way to get started. You can run rasa train, rasa shell and rasa test without any additional configuration.
3. rasa train
The following command trains a Rasa Open Source model:
$ rasa train
If you have existing models in your directory (under models/ by default), only the parts of your model that have changed will be re-trained. For example, if you edit your NLU training data and nothing else, only the NLU part will be trained.
If you want to train an NLU or dialogue model individually, you can run rasa train nlu or rasa train core. If you provide training data only for one one of these, rasa train will fall back to one of these commands by default.
rasa train will store the trained model in the directory defined by --out, models/ by default. The name of the model by default is <timestamp>.tar.gz. If you want to name your model differently, you can specify the name using the --fixed-model-name flag.
The following arguments can be used to configure the training process:
usage: rasa train [-h] [-v] [-vv] [--quiet] [--data DATA [DATA ...]][-c CONFIG] [-d DOMAIN] [--out OUT] [--dry-run][--augmentation AUGMENTATION] [--debug-plots][--num-threads NUM_THREADS][--fixed-model-name FIXED_MODEL_NAME] [--persist-nlu-data][--force] [--finetune [FINETUNE]][--epoch-fraction EPOCH_FRACTION]{core,nlu} ...positional arguments:{core,nlu}core Trains a Rasa Core model using your stories.nlu Trains a Rasa NLU model using your NLU data.optional arguments:-h, --help show this help message and exit--data DATA [DATA ...]Paths to the Core and NLU data files. (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 domainspecifications in it. The content of these files willbe read and merged together. (default: domain.yml)--out OUT Directory where your models should be stored.(default: models)--dry-run If enabled, no actual training will be performed.Instead, it will be determined whether a model shouldbe re-trained and this information will be printed asthe output. The return code is a 4-bit bitmask thatcan also be used to determine what exactly needs to beretrained: - 1 means Core needs to be retrained - 2means NLU needs to be retrained - 4 means responses inthe domain should be updated - 8 means the trainingwas forced (--force argument is specified) (default:False)--augmentation AUGMENTATIONHow much data augmentation to use during training.(default: 50)--debug-plots If enabled, will create plots showing checkpoints andtheir connections between story blocks in a filecalled `story_blocks_connections.html`. (default:False)--num-threads NUM_THREADSMaximum amount of threads to use when training.(default: 1)--fixed-model-name FIXED_MODEL_NAMEIf set, the name of the model file/directory will beset to the given name. (default: None)--persist-nlu-data Persist the NLU training data in the saved model.(default: False)--force Force a model training even if the data has notchanged. (default: False)--finetune [FINETUNE]Fine-tune a previously trained model. If no model pathis provided, Rasa Open Source will try to finetune thelatest trained model from the model directoryspecified via '--out'. (default: None)--epoch-fraction EPOCH_FRACTIONFraction of epochs which are currently specified inthe model configuration which should be used whenfinetuning a model. (default: 1.0)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)
3.1 Incremental training
⚠️ CAUTION
This feature is experimental. We introduce experimental features to get feedback from our community, so we encourage you to try it out! However, the functionality might be changed or removed in the future. If you have feedback (positive or negative) please share it with us on the Rasa Forum. :::
In order to improve the performance of an assistant, it’s helpful to practice CDD and add new training examples based on how your users have talked to your assistant. You can use rasa train --finetune to initialize the pipeline with an already trained model and further finetune it on the new training dataset that includes the additional training examples. This will help reduce the training time of the new model.
By default, the command picks up the latest model in the models/ directory. If you have a specific model which you want to improve, you may specify the path to this by running rasa train --finetune <path to model to finetune>. Finetuning(微调) a model usually requires fewer epochs to train machine learning components like DIETClassifier, ResponseSelector and TEDPolicy compared to training from scratch. Either use a model configuration for finetuning which defines fewer epochs than before or use the flag --epoch-fraction.
--epoch-fraction will use a fraction of the epochs specified for each machine learning component in the model configuration file. For example, if DIETClassifier is configured to use 100 epochs, specifying --epoch-fraction 0.5 will only use 50 epochs for finetuning.
You can also finetune an NLU-only or dialogue management-only model by using rasa train nlu --finetune and rasa train core --finetune respectively.
To be able to fine tune a model, the following conditions must be met:
- The configuration supplied should be exactly the same as the configuration used to train the model which is being finetuned. The only parameter that you can change is 
epochsfor the individual machine learning components and policies. - The set of labels(intents, actions, entities and slots) for which the base model is trained should be exactly the same as the ones present in the training data used for finetuning. This means that you cannot add new intent, action, entity or slot labels to your training data during incremental training. You can still add new training examples for each of the existing labels. If you have added/removed labels in the training data, the pipeline needs to be trained from scratch.
 - The model to be finetuned is trained with 
MINIMUM_COMPATIBLE_VERSIONof the currently installed rasa version.
4. rasa interactive
You can use Rasa X in local mode to do interactive learning in a UI, check out the docs for more details. 
If you’d rather use the command line, you can start an interactive learning session by running:
$ rasa interactive
This will first train a model and then start an interactive shell session. You can then correct your assistants predictions as you talk to it. If UnexpecTEDIntentPolicy is included in the pipeline, action_unlikely_intent can be triggered at any conversation turn. Subsequently, the following message will be displayed:
The bot wants to run 'action_unlikely_intent' to indicate that the last user message was unexpectedat this point in the conversation. Check out UnexpecTEDIntentPolicy docs to learn more.
As the message states, this is an indication that you have explored a conversation path which is unexpected according to the current set of training stories and hence adding this path to training stories is recommended. Like other bot actions, you can choose to confirm or deny running this action.
If you provide a trained model using the --model argument, training is skipped and that model will be loaded instead.
During interactive learning, Rasa will plot the current conversation and a few similar conversations from the training data to help you keep track of where you are. You can view the visualization at http://localhost:5005/visualization.html as soon as the session has started. This diagram can take some time to generate. To skip the visualization, run rasa interactive --skip-visualization.
The following arguments can be used to configure the interactive learning session:
usage: rasa interactive [-h] [-v] [-vv] [--quiet] [--e2e] [-p PORT] [-m MODEL][--data DATA [DATA ...]] [--skip-visualization][--conversation-id CONVERSATION_ID][--endpoints ENDPOINTS] [-c CONFIG] [-d DOMAIN][--out OUT] [--augmentation AUGMENTATION][--debug-plots] [--finetune [FINETUNE]][--epoch-fraction EPOCH_FRACTION] [--force][--persist-nlu-data]{core} ... [model-as-positional-argument]positional arguments:{core}core Starts an interactive learning session model to createnew training data for a Rasa Core model by chatting.Uses the 'RegexInterpreter', i.e. `/<intent>` inputformat.model-as-positional-argumentPath to a trained Rasa model. If a directory isspecified, it will use the latest model in thisdirectory. (default: None)optional arguments:-h, --help show this help message and exit--e2e Save story files in e2e format. In this format usermessages will be included in the stories. (default:False)-p PORT, --port PORT Port to run the server at. (default: 5005)-m MODEL, --model MODELPath to a trained Rasa model. If a directory isspecified, it will use the latest model in thisdirectory. (default: None)--data DATA [DATA ...]Paths to the Core and NLU data files. (default:['data'])--skip-visualization Disable plotting the visualization during interactivelearning. (default: False)--conversation-id CONVERSATION_IDSpecify the id of the conversation the messages arein. Defaults to a UUID that will be randomlygenerated. (default: 9f5889894c774daeba2f4b2c72e58787)--endpoints ENDPOINTSConfiguration file for the model server and theconnectors as a yml file. (default: endpoints.yml)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)Train Arguments:-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 domainspecifications in it. The content of these files willbe read and merged together. (default: domain.yml)--out OUT Directory where your models should be stored.(default: models)--augmentation AUGMENTATIONHow much data augmentation to use during training.(default: 50)--debug-plots If enabled, will create plots showing checkpoints andtheir connections between story blocks in a filecalled `story_blocks_connections.html`. (default:False)--finetune [FINETUNE]Fine-tune a previously trained model. If no model pathis provided, Rasa Open Source will try to finetune thelatest trained model from the model directoryspecified via '--out'. (default: None)--epoch-fraction EPOCH_FRACTIONFraction of epochs which are currently specified inthe model configuration which should be used whenfinetuning a model. (default: 1.0)--force Force a model training even if the data has notchanged. (default: False)--persist-nlu-data Persist the NLU training data in the saved model.(default: False)
5. rasa shell
You can use Rasa X in local mode to talk to your assistant in a UI. Check out the Rasa X docs for more details.
If you’d rather use the command line, you can start a chat session by running:
$ rasa shell
By default this will load up the latest trained model. You can specify a different model to be loaded by using the --model flag.
If you start the shell with an NLU-only model, rasa shell will output the intents and entities predicted for any message you enter.
If you have trained a combined Rasa model but only want to see what your model extracts as intents and entities from text, you can use the command rasa shell nlu.
To increase the logging level for debugging, run:
$ rasa shell --debug
💡 NOTE
In order to see the typical greetings and/or session start behavior you might see in an external channel, you will need to explicitly send /session_start as the first message. Otherwise, the session start behavior will begin as described in Session configuration.
:::
The following arguments can be used to configure the command:
usage: rasa shell [-h] [-v] [-vv] [--quiet][--conversation-id CONVERSATION_ID] [-m MODEL][--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]{nlu} ... [model-as-positional-argument]positional arguments:{nlu}nlu Interprets messages on the command line using your NLUmodel.model-as-positional-argumentPath to a trained Rasa model. If a directory isspecified, it will use the latest model in thisdirectory. (default: None)optional arguments:-h, --help show this help message and exit--conversation-id CONVERSATION_IDSet the conversation ID. (default:bb923ad32d5c4149aa3529d5e9c0485d)-m MODEL, --model MODELPath to a trained Rasa model. If a directory isspecified, it will use the latest model in thisdirectory. (default: models)--log-file LOG_FILE Store logs in specified file. (default: None)--endpoints ENDPOINTSConfiguration file for the model server and theconnectors as a yml file. (default: endpoints.yml)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)Server Settings:-p PORT, --port PORT Port to run the server at. (default: 5005)-t AUTH_TOKEN, --auth-token AUTH_TOKENEnable token based authentication. Requests need toprovide the token to be accepted. (default: None)--cors [CORS [CORS ...]]Enable CORS for the passed origin. Use * to whitelistall origins. (default: None)--enable-api Start the web server API in addition to the inputchannel. (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 isstored, e.g. on AWS. (default: None)--ssl-certificate SSL_CERTIFICATESet the SSL Certificate to create a TLS securedserver. (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 canspecify the CA file using this parameter. (default:None)--ssl-password SSL_PASSWORDIf your ssl-keyfile is protected by a password, youcan specify it using this paramer. (default: None)Channels:--credentials CREDENTIALSAuthentication credentials for the connector as a ymlfile. (default: None)--connector CONNECTORService to connect to. (default: None)JWT Authentication:--jwt-secret JWT_SECRETPublic key for asymmetric JWT methods or sharedsecretfor symmetric methods. Please also make sure touse --jwt-method to select the method of thesignature, otherwise this argument will beignored.Note that this key is meant for securing theHTTP API. (default: None)--jwt-method JWT_METHODMethod used for the signature of the JWTauthentication payload. (default: HS256)
6. rasa run
To start a server running your trained model, run:
$ rasa run
By default the Rasa server uses HTTP for its communication. To secure the communication with SSL and run the server on HTTPS, you need to provide a valid certificate and the corresponding private key file. You can specify these files as part of the rasa run command. If you encrypted your keyfile with a password during creation, you need to add the --ssl-password as well.
$ rasa run --ssl-certificate myssl.crt --ssl-keyfile myssl.key --ssl-password mypassword
The following arguments can be used to configure your Rasa server:
usage: rasa run [-h] [-v] [-vv] [--quiet] [-m MODEL] [--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]{actions} ... [model-as-positional-argument]positional arguments:{actions}actions Runs the action server.model-as-positional-argumentPath to a trained Rasa model. If a directory isspecified, it will use the latest model in thisdirectory. (default: None)optional arguments:-h, --help show this help message and exit-m MODEL, --model MODELPath to a trained Rasa model. If a directory isspecified, it will use the latest model in thisdirectory. (default: models)--log-file LOG_FILE Store logs in specified file. (default: None)--endpoints ENDPOINTSConfiguration file for the model server and theconnectors as a yml file. (default: endpoints.yml)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)Server Settings:-p PORT, --port PORT Port to run the server at. (default: 5005)-t AUTH_TOKEN, --auth-token AUTH_TOKENEnable token based authentication. Requests need toprovide the token to be accepted. (default: None)--cors [CORS [CORS ...]]Enable CORS for the passed origin. Use * to whitelistall origins. (default: None)--enable-api Start the web server API in addition to the inputchannel. (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 isstored, e.g. on AWS. (default: None)--ssl-certificate SSL_CERTIFICATESet the SSL Certificate to create a TLS securedserver. (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 canspecify the CA file using this parameter. (default:None)--ssl-password SSL_PASSWORDIf your ssl-keyfile is protected by a password, youcan specify it using this paramer. (default: None)Channels:--credentials CREDENTIALSAuthentication credentials for the connector as a ymlfile. (default: None)--connector CONNECTORService to connect to. (default: None)JWT Authentication:--jwt-secret JWT_SECRETPublic key for asymmetric JWT methods or sharedsecretfor symmetric methods. Please also make sure touse --jwt-method to select the method of thesignature, otherwise this argument will beignored.Note that this key is meant for securing theHTTP API. (default: None)--jwt-method JWT_METHODMethod used for the signature of the JWTauthentication payload. (default: HS256)
For more information on the additional parameters, see Model Storage. See the Rasa HTTP API page for detailed documentation of all the endpoints.
7. rasa run actions
To start an action server with the Rasa SDK, run:
$ rasa run actions
The following arguments can be used to adapt the server settings:
usage: rasa run actions [-h] [-v] [-vv] [--quiet] [-p PORT][--cors [CORS [CORS ...]]] [--actions ACTIONS][--ssl-keyfile SSL_KEYFILE][--ssl-certificate SSL_CERTIFICATE][--ssl-password SSL_PASSWORD] [--auto-reload]optional arguments:-h, --help show this help message and exit-p PORT, --port PORT port to run the server at (default: 5055)--cors [CORS [CORS ...]]enable CORS for the passed origin. Use * to whitelistall origins (default: None)--actions ACTIONS name of action package to be loaded (default: None)--ssl-keyfile SSL_KEYFILESet the SSL certificate to create a TLS securedserver. (default: None)--ssl-certificate SSL_CERTIFICATESet the SSL certificate to create a TLS securedserver. (default: None)--ssl-password SSL_PASSWORDIf your ssl-keyfile is protected by a password, youcan specify it using this paramer. (default: None)--auto-reload Enable auto-reloading of modules containing Actionsubclasses. (default: False)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)
8. rasa visualize
To generate a graph of your stories in the browser, run:
$ rasa visualize
If your stories are located somewhere other than the default location data/, you can specify their location with the --stories flag.
The following arguments can be used to configure this command:
usage: rasa visualize [-h] [-v] [-vv] [--quiet] [-d DOMAIN] [-s STORIES][-c CONFIG] [--out OUT] [--max-history MAX_HISTORY][-u NLU]optional arguments:-h, --help show this help message and exit-d DOMAIN, --domain DOMAINDomain specification. This can be a single YAML file,or a directory that contains several files with domainspecifications in it. The content of these files willbe read and merged together. (default: domain.yml)-s STORIES, --stories STORIESFile or folder containing your training stories.(default: data)-c CONFIG, --config CONFIGThe policy and NLU pipeline configuration of your bot.(default: config.yml)--out OUT Filename of the output path, e.g. 'graph.html'.(default: graph.html)--max-history MAX_HISTORYMax history to consider when merging paths in theoutput graph. (default: 2)-u NLU, --nlu NLU File or folder containing your NLU data, used toinsert example messages into the graph. (default:None)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)
9. rasa test
To evaluate a model on your test data, run:
$ rasa test
This will test your latest trained model on any end-to-end stories you have defined in files with the test_ prefix. If you want to use a different model, you can specify it using the --model flag.
If you want to evaluate the dialogue and NLU models separately, you can use the commands below:
$ rasa test core && rasa test nlu
You can find more details in Evaluating an NLU Model and Evaluating a Core Model.
The following arguments are available for rasa test:
usage: rasa test [-h] [-v] [-vv] [--quiet] [-m MODEL] [-s STORIES][--max-stories MAX_STORIES] [--endpoints ENDPOINTS][--fail-on-prediction-errors] [--url URL][--evaluate-model-directory] [-u NLU][-c CONFIG [CONFIG ...]] [--cross-validation] [-f FOLDS][-r RUNS] [-p PERCENTAGES [PERCENTAGES ...]] [--no-plot][--successes] [--no-errors] [--no-warnings] [--out OUT]{core,nlu} ...positional arguments:{core,nlu}core Tests Rasa Core models using your test stories.nlu Tests Rasa NLU models using your test NLU data.optional arguments:-h, --help show this help message and exit-m MODEL, --model MODELPath to a trained Rasa model. If a directory isspecified, it will use the latest model in thisdirectory. (default: models)--no-plot Don't render evaluation plots. (default: False)--successes If set successful predictions will be written to afile. (default: False)--no-errors If set incorrect predictions will NOT be written to afile. (default: False)--no-warnings If set prediction warnings will NOT be written to afile. (default: False)--out OUT Output path for any files created during theevaluation. (default: results)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)Core Test Arguments:-s STORIES, --stories STORIESFile or folder containing your test stories. (default:.)--max-stories MAX_STORIESMaximum number of stories to test on. (default: None)--endpoints ENDPOINTSConfiguration file for the connectors as a yml file.(default: endpoints.yml)--fail-on-prediction-errorsIf a prediction error is encountered, an exception isthrown. This can be used to validate stories duringtests, e.g. on travis. (default: False)--url URL If supplied, downloads a story file from a URL andtrains on it. Fetches the data by sending a GETrequest to the supplied URL. (default: None)--evaluate-model-directoryShould be set to evaluate models trained via 'rasatrain core --config <config-1> <config-2>'. All modelsin the provided directory are evaluated and comparedagainst each other. (default: False)NLU Test Arguments:-u NLU, --nlu NLU File or folder containing your NLU data. (default:data)-c CONFIG [CONFIG ...], --config CONFIG [CONFIG ...]Model configuration file. If a single file is passedand cross validation mode is chosen, cross-validationis performed, if multiple configs or a folder ofconfigs are passed, models will be trained andcompared directly. (default: None)
10. rasa data split
To create a train-test split of your NLU training data, run:
$ rasa data split nlu
This will create a 80/20 split of train/test data by default. You can specify the training data, the fraction, and the output directory using the following arguments:
usage: rasa data split nlu [-h] [-v] [-vv] [--quiet] [-u NLU][--training-fraction TRAINING_FRACTION][--random-seed RANDOM_SEED] [--out OUT]optional arguments:-h, --help show this help message and exit-u NLU, --nlu NLU File or folder containing your NLU data. (default:data)--training-fraction TRAINING_FRACTIONPercentage of the data which should be in the trainingdata. (default: 0.8)--random-seed RANDOM_SEEDSeed to generate the same train/test split. (default:None)--out OUT Directory where the split files should be stored.(default: train_test_split)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)
If you have NLG data for retrieval actions, this will be saved to seperate files:
$ ls train_test_splitnlg_test_data.yml test_data.ymlnlg_training_data.yml training_data.yml
11. rasa data convert nlu
You can convert NLU data from
- LUIS data format,
 - WIT data format,
 - Dialogflow data format,
 - JSON
 - Markdown
 
to
- YAML or
 - JSON or
 - Markdown.
 
You can start the converter by running:
$ rasa data convert nlu
You can specify the input file or directory, output file or directory, and the output format with the following arguments:
usage: rasa data convert nlu [-h] [-v] [-vv] [--quiet] [-f {json,md,yaml}]--data DATA [DATA ...] [--out OUT] [-l LANGUAGE]optional arguments:-h, --help show this help message and exit-f {json,md,yaml}, --format {json,md,yaml}Output format the training data should be convertedinto. Note: currently training data can be convertedto 'yaml' format only from 'md' format (default: yaml)--data DATA [DATA ...]Paths to the files or directories containing Rasa NLUdata. (default: data)--out OUT File (for `json` and `md`) or existing path (for`yaml`) where to save training data in Rasa format.(default: converted_data)-l LANGUAGE, --language LANGUAGELanguage of data. (default: en)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)
12. rasa data convert core
You can convert Core data from Markdown to YAML.
You can specify the input file or directory, output directory with the following arguments:
$ rasa data convert core --help
13. rasa data convert nlg
You can convert NLG data from Markdown to YAML.
You can specify the input file or directory, output directory with the following arguments:
$ rasa data convert nlg --help
14. rasa data validate
You can check your domain, NLU data, or story data for mistakes and inconsistencies. To validate your data, run this command:
$ rasa data validate
The validator searches for errors in the data, e.g. two intents that have some identical training examples. The validator also checks if you have any stories where different assistant actions follow from the same dialogue history. Conflicts between stories will prevent a model from learning the correct pattern for a dialogue.
If you pass a max_history value to one or more policies in your config.yml file, provide the smallest of those values in the validator command using the --max-history <max_history> flag.
You can also validate only the story structure by running this command:
$ rasa data validate stories
💡 NOTE
Running rasa data validate does not test if your rules are consistent with your stories. However, during training, the RulePolicy checks for conflicts between rules and stories. Any such conflict will abort training.
Also, if you use end-to-end stories, then this might not capture all conflicts. Specifically, if two user inputs result in different tokens yet exactly the same featurization, then conflicting actions after these inputs may exist but will not be reported by the tool. :::
To interrupt validation even for minor issues such as unused intents or responses, use the --fail-on-warnings flag.
💡 CHECK YOUR STORY NAMES
The rasa data validate stories command assumes that all your story names are unique!
💡 EXPERIMENTAL FEATURE
The rasa data validate stories command is an experimental feature. We introduce experimental features to get feedback from our community, so we encourage you to try it out! However, the functionality might be changed or removed in the future. If you have feedback (positive or negative) please share it with us on the Rasa Forum.
:::
You can use rasa data validate with additional arguments, e.g. to specify the location of your data and domain files:
usage: rasa data validate [-h] [-v] [-vv] [--quiet][--max-history MAX_HISTORY] [-c CONFIG][--fail-on-warnings] [-d DOMAIN][--data DATA [DATA ...]]{stories} ...positional arguments:{stories}stories Checks for inconsistencies in the story files.optional arguments:-h, --help show this help message and exit--max-history MAX_HISTORYNumber of turns taken into account for story structurevalidation. (default: None)-c CONFIG, --config CONFIGThe policy and NLU pipeline configuration of your bot.(default: config.yml)--fail-on-warnings Fail validation on warnings and errors. If omittedonly errors will result in a non zero exit code.(default: False)-d DOMAIN, --domain DOMAINDomain specification. This can be a single YAML file,or a directory that contains several files with domainspecifications in it. The content of these files willbe read and merged together. (default: domain.yml)--data DATA [DATA ...]Paths to the files or directories containing Rasadata. (default: data)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)
15. rasa export
To export events from a tracker store using an event broker, run:
$ rasa export
You can specify the location of the environments file, the minimum and maximum timestamps of events that should be published, as well as the conversation IDs that should be published:
usage: rasa export [-h] [-v] [-vv] [--quiet] [--endpoints ENDPOINTS][--minimum-timestamp MINIMUM_TIMESTAMP][--maximum-timestamp MAXIMUM_TIMESTAMP][--conversation-ids CONVERSATION_IDS]optional arguments:-h, --help show this help message and exit--endpoints ENDPOINTSEndpoint configuration file specifying the trackerstore and event broker. (default: endpoints.yml)--minimum-timestamp MINIMUM_TIMESTAMPMinimum timestamp of events to be exported. Theconstraint is applied in a 'greater than or equal'comparison. (default: None)--maximum-timestamp MAXIMUM_TIMESTAMPMaximum timestamp of events to be exported. Theconstraint is applied in a 'less than' comparison.(default: None)--conversation-ids CONVERSATION_IDSComma-separated list of conversation IDs to migrate.If unset, all available conversation IDs will beexported. (default: None)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)
💡 IMPORT CONVERSATIONS INTO RASA X
This command is most commonly used to import old conversations into Rasa X to annotate them. Read more about importing conversations into Rasa X. :::
16. rasa x
Rasa X is a tool for practicing Conversation-Driven Development. You can find more information about it here. You can start Rasa X in local mode by executing
$ rasa x
To be able to start Rasa X you need to have Rasa X local mode installed and you need to be in a Rasa project directory.
The following arguments are available for rasa x:
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, --help show this help message and exit-m MODEL, --model MODELPath to a trained Rasa model. If a directory isspecified, it will use the latest model in thisdirectory. (default: models)--data DATA [DATA ...]Paths to the files or directories containing storiesand 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 domainspecifications in it. The content of these files willbe read and merged together. (default: domain.yml)--no-prompt Automatic yes or default options to prompts andoppressed warnings. (default: False)--production Run 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 runtimeconfig. This URL typically contains the Rasa X tokenfor authentication. Example:https://example.com/api/config?token=my_rasa_x_token(default: None)--log-file LOG_FILE Store logs in specified file. (default: None)--endpoints ENDPOINTSConfiguration file for the model server and theconnectors as a yml file. (default: endpoints.yml)Python Logging Options:-v, --verbose Be verbose. Sets logging level to INFO. (default:None)-vv, --debug Print lots of debugging statements. Sets logging levelto DEBUG. (default: None)--quiet Be quiet! Sets logging level to WARNING. (default:None)Server Settings:-p PORT, --port PORT Port to run the server at. (default: 5005)-t AUTH_TOKEN, --auth-token AUTH_TOKENEnable token based authentication. Requests need toprovide the token to be accepted. (default: None)--cors [CORS [CORS ...]]Enable CORS for the passed origin. Use * to whitelistall origins. (default: None)--enable-api Start the web server API in addition to the inputchannel. (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 isstored, e.g. on AWS. (default: None)--ssl-certificate SSL_CERTIFICATESet the SSL Certificate to create a TLS securedserver. (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 canspecify the CA file using this parameter. (default:None)--ssl-password SSL_PASSWORDIf your ssl-keyfile is protected by a password, youcan specify it using this paramer. (default: None)Channels:--credentials CREDENTIALSAuthentication credentials for the connector as a ymlfile. (default: None)--connector CONNECTORService to connect to. (default: None)JWT Authentication:--jwt-secret JWT_SECRETPublic key for asymmetric JWT methods or sharedsecretfor symmetric methods. Please also make sure touse --jwt-method to select the method of thesignature, otherwise this argument will beignored.Note that this key is meant for securing theHTTP API. (default: None)--jwt-method JWT_METHODMethod used for the signature of the JWTauthentication payload. (default: HS256)
