def add_subparser( subparsers: SubParsersAction, parents: List[argparse.ArgumentParser], ) -> None: """Add all telemetry tracking parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ telemetry_parser = subparsers.add_parser( "telemetry", parents=parents, help="Configuration of Rasa Open Source telemetry reporting.", formatter_class=argparse.ArgumentDefaultsHelpFormatter, ) telemetry_subparsers = telemetry_parser.add_subparsers() telemetry_disable_parser = telemetry_subparsers.add_parser( "disable", parents=parents, formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Disable Rasa Open Source Telemetry reporting.", ) telemetry_disable_parser.set_defaults(func=disable_telemetry) telemetry_enable_parser = telemetry_subparsers.add_parser( "enable", parents=parents, formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Enable Rasa Open Source Telemetry reporting.", ) telemetry_enable_parser.set_defaults(func=enable_telemetry) telemetry_parser.set_defaults(func=inform_about_telemetry)
def add_subparser(subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: """Add all init parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ scaffold_parser = subparsers.add_parser( "init", parents=parents, help="Creates a new project, with example training data, " "actions, and config files.", formatter_class=argparse.ArgumentDefaultsHelpFormatter, ) scaffold_parser.add_argument( "--no-prompt", action="store_true", help= "Automatically choose default options for prompts and suppress warnings.", ) scaffold_parser.add_argument( "--init-dir", default=None, help="Directory where your project should be initialized.", ) scaffold_parser.set_defaults(func=run)
def add_subparser( subparsers: SubParsersAction, parents: List[argparse.ArgumentParser] ) -> None: """Add all interactive cli parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ interactive_parser = subparsers.add_parser( "interactive", conflict_handler="resolve", parents=parents, formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Starts an interactive learning session to create new training data for a " "Rasa model by chatting.", ) interactive_parser.set_defaults(func=interactive, core_only=False) interactive_subparsers = interactive_parser.add_subparsers() interactive_core_parser = interactive_subparsers.add_parser( "core", conflict_handler="resolve", parents=parents, formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Starts an interactive learning session model to create new training data " "for a Rasa Core model by chatting. Uses the 'RegexMessageHandler', i.e. " "`/<intent>` input format.", ) interactive_core_parser.set_defaults(func=interactive, core_only=True) arguments.set_interactive_arguments(interactive_parser) arguments.set_interactive_core_arguments(interactive_core_parser)
def add_subparser(subparsers: SubParsersAction, parents: List[ArgumentParser]): data_parser = subparsers.add_parser( "data-importer", conflict_handler="resolve", formatter_class=ArgumentDefaultsHelpFormatter, parents=parents, help="Validates and imports training data into kairon.", ) data_parser.add_argument('bot', type=str, help="Bot id for which command is executed", action='store') data_parser.add_argument('user', type=str, help="Kairon user who is initiating the command", action='store') data_parser.add_argument('--import-data', default=False, action='store_true', help="Imports training data into kairon.") data_parser.add_argument('--overwrite', default=False, action='store_true', help="Overwrites, if true, else appends to existing data." "True, by default.") data_parser.set_defaults(func=validate_and_import)
def add_subparser(subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: """Add all run parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ run_parser = subparsers.add_parser( "run", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Starts a Rasa server with your trained model.", ) run_parser.set_defaults(func=run) run_subparsers = run_parser.add_subparsers() sdk_subparser = run_subparsers.add_parser( "actions", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Runs the action server.", ) sdk_subparser.set_defaults(func=run_actions) arguments.set_run_arguments(run_parser) arguments.set_run_action_arguments(sdk_subparser)
def add_subparser(subparsers: SubParsersAction, parents: List[ArgumentParser]): data_parser = subparsers.add_parser( "delete-conversation", conflict_handler="resolve", formatter_class=ArgumentDefaultsHelpFormatter, parents=parents, help="Deletes and archives conversation history", ) data_parser.add_argument('bot', type=str, help="Bot id for which command is executed", action='store') data_parser.add_argument('user', type=str, help="Kairon user who is initiating the command", action='store') data_parser.add_argument('month', type=int, default=3, help="month upto which history to be deleted", action='store') data_parser.add_argument('sender_id', type=str, default=None, help="sender id for user history deletion", action='store') data_parser.set_defaults(func=initiate_history_deletion_archival)
def _add_data_migrate_parsers(data_subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: migrate_parser = data_subparsers.add_parser( "migrate", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Converts Rasa domain 2.0 format to required format for 3.0.", ) migrate_parser.set_defaults(func=_migrate_domain) arguments.set_migrate_arguments(migrate_parser)
def add_subparser(subparsers: SubParsersAction, parents: List[ArgumentParser]): test_parser = subparsers.add_parser( "test", conflict_handler="resolve", formatter_class=ArgumentDefaultsHelpFormatter, parents=parents, help="Tests model on existing stories or test stories.", ) test_parser.add_argument('bot', type=str, help="Bot id for which command is executed", action='store') test_parser.add_argument('user', type=str, help="Kairon user who is initiating the command", action='store') test_parser.set_defaults(func=run_tests_on_model)
def add_subparser(subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: """Add all visualization parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ visualize_parser = subparsers.add_parser( "visualize", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Visualize stories.", ) visualize_parser.set_defaults(func=visualize_stories) arguments.set_visualize_stories_arguments(visualize_parser)
def _add_data_convert_parsers(data_subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: convert_parser = data_subparsers.add_parser( "convert", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Converts Rasa data between different formats.", ) convert_parser.set_defaults(func=lambda _: convert_parser.print_help(None)) convert_subparsers = convert_parser.add_subparsers() convert_nlu_parser = convert_subparsers.add_parser( "nlu", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Converts NLU data between formats.", ) convert_nlu_parser.set_defaults(func=_convert_nlu_data) arguments.set_convert_arguments(convert_nlu_parser, data_type="Rasa NLU")
def add_subparser(subparsers: SubParsersAction, parents: List[ArgumentParser]): train_parser = subparsers.add_parser( "train", conflict_handler="resolve", formatter_class=ArgumentDefaultsHelpFormatter, parents=parents, help="Initiate model training") train_parser.add_argument('bot', type=str, help="Bot id for which command is executed", action='store') train_parser.add_argument('user', type=str, help="Kairon user who is initiating the command", action='store') train_parser.add_argument('token', help="JWT token for the user", action='store') train_parser.set_defaults(func=train)
def add_subparser( subparsers: SubParsersAction, parents: List[argparse.ArgumentParser] ) -> None: """Add all shell parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ shell_parser = subparsers.add_parser( "shell", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help=( "Loads your trained model and lets you talk to your " "assistant on the command line." ), ) shell_parser.set_defaults(func=shell) shell_parser.add_argument( "--conversation-id", default=uuid.uuid4().hex, required=False, help="Set the conversation ID.", ) run_subparsers = shell_parser.add_subparsers() shell_nlu_subparser = run_subparsers.add_parser( "nlu", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Interprets messages on the command line using your NLU model.", ) shell_nlu_subparser.set_defaults(func=shell_nlu) arguments.set_shell_arguments(shell_parser) arguments.set_shell_nlu_arguments(shell_nlu_subparser)
def add_subparser(subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: """Add subparser for `rasa export`. Args: subparsers: Subparsers action object to which `argparse.ArgumentParser` objects can be added. parents: `argparse.ArgumentParser` objects whose arguments should also be included. """ export_parser = subparsers.add_parser( "export", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Export conversations using an event broker.", ) export_parser.set_defaults(func=export_trackers) arguments.set_export_arguments(export_parser)
def _add_data_split_parsers(data_subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: split_parser = data_subparsers.add_parser( "split", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Splits Rasa data into training and test data.", ) split_parser.set_defaults(func=lambda _: split_parser.print_help(None)) split_subparsers = split_parser.add_subparsers() nlu_split_parser = split_subparsers.add_parser( "nlu", parents=parents, formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Performs a split of your NLU data into training and test data " "according to the specified percentages.", ) nlu_split_parser.set_defaults(func=split_nlu_data) arguments.set_split_arguments(nlu_split_parser)
def add_subparser( subparsers: SubParsersAction, parents: List[argparse.ArgumentParser] ) -> None: """Add all training parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ train_parser = subparsers.add_parser( "train", help="Trains a Rasa model using your NLU data and stories.", parents=parents, formatter_class=argparse.ArgumentDefaultsHelpFormatter, ) train_arguments.set_train_arguments(train_parser) train_subparsers = train_parser.add_subparsers() train_core_parser = train_subparsers.add_parser( "core", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Trains a Rasa Core model using your stories.", ) train_core_parser.set_defaults(func=train_core) train_nlu_parser = train_subparsers.add_parser( "nlu", parents=parents, formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Trains a Rasa NLU model using your NLU data.", ) train_nlu_parser.set_defaults(func=train_nlu) train_parser.set_defaults(func=train) train_arguments.set_train_core_arguments(train_core_parser) train_arguments.set_train_nlu_arguments(train_nlu_parser)
def add_subparser( subparsers: SubParsersAction, parents: List[argparse.ArgumentParser] ) -> None: """Add all test parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ test_parser = subparsers.add_parser( "test", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Tests Rasa models using your test NLU data and stories.", ) arguments.set_test_arguments(test_parser) test_subparsers = test_parser.add_subparsers() test_core_parser = test_subparsers.add_parser( "core", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Tests Rasa Core models using your test stories.", ) arguments.set_test_core_arguments(test_core_parser) test_nlu_parser = test_subparsers.add_parser( "nlu", parents=parents, formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Tests Rasa NLU models using your test NLU data.", ) arguments.set_test_nlu_arguments(test_nlu_parser) test_core_parser.set_defaults(func=run_core_test) test_nlu_parser.set_defaults(func=run_nlu_test) test_parser.set_defaults(func=test, stories=DEFAULT_E2E_TESTS_PATH)
def add_subparser(subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: """Add all data parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ data_parser = subparsers.add_parser( "data", conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Utils for the Rasa training files.", ) data_parser.set_defaults(func=lambda _: data_parser.print_help(None)) data_subparsers = data_parser.add_subparsers() _add_data_convert_parsers(data_subparsers, parents) _add_data_split_parsers(data_subparsers, parents) _add_data_validate_parsers(data_subparsers, parents)
def add_subparser(subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: """Add all rasa x parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ x_parser_args = { "parents": parents, "conflict_handler": "resolve", "formatter_class": argparse.ArgumentDefaultsHelpFormatter, } if is_rasa_x_installed(): # we'll only show the help msg for the command if Rasa X is actually installed x_parser_args["help"] = "Starts the Rasa X interface." shell_parser = subparsers.add_parser("x", **x_parser_args) shell_parser.set_defaults(func=rasa_x) arguments.set_x_arguments(shell_parser)
def _add_data_validate_parsers(data_subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: validate_parser = data_subparsers.add_parser( "validate", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Validates domain and data files to check for possible mistakes.", ) _append_story_structure_arguments(validate_parser) validate_parser.set_defaults(func=validate_files) arguments.set_validator_arguments(validate_parser) validate_subparsers = validate_parser.add_subparsers() story_structure_parser = validate_subparsers.add_parser( "stories", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Checks for inconsistencies in the story files.", ) _append_story_structure_arguments(story_structure_parser) story_structure_parser.set_defaults(func=validate_stories) arguments.set_validator_arguments(story_structure_parser)
def _add_data_convert_parsers(data_subparsers: SubParsersAction, parents: List[argparse.ArgumentParser]) -> None: convert_parser = data_subparsers.add_parser( "convert", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Converts Rasa data between different formats.", ) convert_parser.set_defaults(func=lambda _: convert_parser.print_help(None)) convert_subparsers = convert_parser.add_subparsers() convert_nlu_parser = convert_subparsers.add_parser( "nlu", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Converts NLU data between formats.", ) convert_nlu_parser.set_defaults(func=_convert_nlu_data) arguments.set_convert_arguments(convert_nlu_parser, data_type="Rasa NLU") convert_nlg_parser = convert_subparsers.add_parser( "nlg", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help= ("Converts NLG data between formats. If you're migrating from 1.x, " "please run `rasa data convert responses` to adapt the training data " "to the new response selector format."), ) convert_nlg_parser.set_defaults(func=_convert_nlg_data) arguments.set_convert_arguments(convert_nlg_parser, data_type="Rasa NLG") convert_core_parser = convert_subparsers.add_parser( "core", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Converts Core data between formats.", ) convert_core_parser.set_defaults(func=_convert_core_data) arguments.set_convert_arguments(convert_core_parser, data_type="Rasa Core") migrate_config_parser = convert_subparsers.add_parser( "config", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help="Migrate model configuration between Rasa Open Source versions.", ) migrate_config_parser.set_defaults(func=_migrate_model_config) default_arguments.add_config_param(migrate_config_parser) default_arguments.add_domain_param(migrate_config_parser) default_arguments.add_out_param( migrate_config_parser, default=os.path.join(DEFAULT_DATA_PATH, "rules.yml"), help_text= "Path to the file which should contain any rules which are created " "as part of the migration. If the file doesn't exist, it will be created.", ) convert_responses_parser = convert_subparsers.add_parser( "responses", formatter_class=argparse.ArgumentDefaultsHelpFormatter, parents=parents, help= ("Convert retrieval intent responses between Rasa Open Source versions. " "Please also run `rasa data convert nlg` to convert training data files " "to the right format."), ) convert_responses_parser.set_defaults(func=_migrate_responses) arguments.set_convert_arguments(convert_responses_parser, data_type="Rasa stories") default_arguments.add_domain_param(convert_responses_parser)
def add_subparser( subparsers: SubParsersAction, parents: List[argparse.ArgumentParser] ) -> None: """Add all evaluate parsers. Args: subparsers: subparser we are going to attach to parents: Parent parsers, needed to ensure tree structure in argparse """ evaluate_parser = subparsers.add_parser( "evaluate", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Tools for evaluating models.", ) evaluate_subparsers = evaluate_parser.add_subparsers() marker_parser = evaluate_subparsers.add_parser( "markers", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Applies marker conditions to existing trackers.", ) markers_subparser = marker_parser.add_subparsers(dest="strategy") markers_first_n_subparser = markers_subparser.add_parser( "first_n", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Select trackers sequentially until N are taken.", ) arguments.set_markers_first_n_arguments(markers_first_n_subparser) arguments.set_markers_arguments(markers_first_n_subparser) markers_sample_subparser = markers_subparser.add_parser( "sample_n", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Select trackers by sampling N.", ) arguments.set_markers_sample_arguments(markers_sample_subparser) arguments.set_markers_arguments(markers_sample_subparser) markers_all_subparser = markers_subparser.add_parser( "all", parents=parents, conflict_handler="resolve", formatter_class=argparse.ArgumentDefaultsHelpFormatter, help="Select all trackers.", ) arguments.set_markers_arguments(markers_all_subparser) marker_parser.set_defaults(func=_run_markers_cli)