Пример #1
0
def run_locally(args: argparse.Namespace):
    # noinspection PyUnresolvedReferences
    from rasax.community import local  # pytype: disable=import-error

    args.rasa_x_port = args.rasa_x_port or DEFAULT_RASA_X_PORT
    args.port = args.port or DEFAULT_RASA_PORT

    project_path = "."

    _validate_rasa_x_start(args, project_path)

    local.check_license_and_metrics(args)
    rasa_x_token = generate_rasa_x_token()
    process = start_rasa_for_local_rasa_x(args, rasa_x_token=rasa_x_token)

    try:
        local.main(args, project_path, args.data, token=rasa_x_token)
    except Exception:
        print(traceback.format_exc())
        cli_utils.print_error(
            "Sorry, something went wrong (see error above). Make sure to start "
            "Rasa X with valid data and valid domain and config files. Please, "
            "also check any warnings that popped up.\nIf you need help fixing "
            "the issue visit our forum: https://forum.rasa.com/.")
    finally:
        process.terminate()
Пример #2
0
def rasa_x(args: argparse.Namespace):
    from rasa.cli.utils import print_success, print_error, signal_handler
    from rasa.core.utils import AvailableEndpoints

    signal.signal(signal.SIGINT, signal_handler)

    _configure_logging(args)

    if args.production:
        print_success("Starting Rasa X in production mode... 🚀")

        args.endpoints = get_validated_path(
            args.endpoints, "endpoints", DEFAULT_ENDPOINTS_PATH, True
        )
        endpoints = AvailableEndpoints.read_endpoints(args.endpoints)
        _rasa_service(args, endpoints)
    else:
        if not is_rasa_x_installed():
            print_error(
                "Rasa X is not installed. The `rasa x` "
                "command requires an installation of Rasa X."
            )
            sys.exit(1)

        # noinspection PyUnresolvedReferences
        from rasax.community import local

        rasa_x_token = generate_rasa_x_token()
        start_rasa_for_local_rasa_x(args, rasa_x_token=rasa_x_token)
        local.main(args, ".", args.data, token=rasa_x_token)
Пример #3
0
Файл: x.py Проект: spawn08/rasa
def run_locally(args: argparse.Namespace) -> None:
    """Run a Rasa X instance locally.

    Args:
        args: commandline arguments
    """
    _prevent_failure_if_git_is_not_available()

    try:
        # noinspection PyUnresolvedReferences
        from rasax.community import local
    except ModuleNotFoundError:
        raise MissingDependencyException(
            f"Rasa X does not seem to be installed, but it is needed for this "
            f"CLI command. You can find more information on how to install Rasa X "
            f"in local mode in the documentation: "
            f"{DOCS_BASE_URL_RASA_X}/installation-and-setup/install/local-mode"
        )

    args.rasa_x_port = args.rasa_x_port or DEFAULT_RASA_X_PORT
    args.port = args.port or DEFAULT_RASA_PORT

    project_path = "."

    _validate_rasa_x_start(args, project_path)

    rasa_x_token = generate_rasa_x_token()
    process = start_rasa_for_local_rasa_x(args, rasa_x_token=rasa_x_token)

    config_path = _get_config_path(args)
    domain_path = _get_domain_path(args)

    telemetry.track_rasa_x_local()

    # noinspection PyBroadException
    try:
        local.main(
            args,
            project_path,
            args.data,
            token=rasa_x_token,
            config_path=config_path,
            domain_path=domain_path,
        )
    except RasaXTermsError:
        # User didn't accept the Rasa X terms.
        pass
    except Exception:
        print(traceback.format_exc())
        rasa.shared.utils.cli.print_error(
            "Sorry, something went wrong (see error above). Make sure to start "
            "Rasa X with valid data and valid domain and config files. Please, "
            "also check any warnings that popped up.\nIf you need help fixing "
            "the issue visit our forum: https://forum.rasa.com/."
        )
    finally:
        process.terminate()
Пример #4
0
def rasa_x(args: argparse.Namespace):
    from rasa.cli.utils import print_success, print_error, signal_handler
    from rasa.core.utils import AvailableEndpoints

    signal.signal(signal.SIGINT, signal_handler)

    _configure_logging(args)

    if args.production:
        print_success("Starting Rasa X in production mode... 🚀")

        args.endpoints = get_validated_path(args.endpoints, "endpoints",
                                            DEFAULT_ENDPOINTS_PATH, True)
        endpoints = AvailableEndpoints.read_endpoints(args.endpoints)
        _rasa_service(args, endpoints)
    else:
        if not is_rasa_x_installed():
            print_error("Rasa X is not installed. The `rasa x` "
                        "command requires an installation of Rasa X.")
            sys.exit(1)

        project_path = "."

        if not is_rasa_project_setup(project_path):
            print_error(
                "This directory is not a valid Rasa project. Use 'rasa init' "
                "to create a new Rasa project or switch to a valid Rasa project "
                "directory.")
            sys.exit(1)

        _validate_domain(os.path.join(project_path, DEFAULT_DOMAIN_PATH))

        if args.data and not os.path.exists(args.data):
            print_warning(
                "The provided data path ('{}') does not exists. Rasa X will start "
                "without any training data.".format(args.data))

        # noinspection PyUnresolvedReferences
        from rasax.community import local

        local.check_license_and_metrics(args)

        rasa_x_token = generate_rasa_x_token()
        process = start_rasa_for_local_rasa_x(args, rasa_x_token=rasa_x_token)
        try:
            local.main(args, project_path, args.data, token=rasa_x_token)
        except Exception:
            print(traceback.format_exc())
            print_error(
                "Sorry, something went wrong (see error above). Make sure to start "
                "Rasa X with valid data and valid domain and config files. Please, "
                "also check any warnings that popped up.\nIf you need help fixing "
                "the issue visit our forum: https://forum.rasa.com/.")
        finally:
            process.terminate()
Пример #5
0
Файл: x.py Проект: yuanlida/rasa
def rasa_x(args: argparse.Namespace):
    from rasa.cli.utils import print_success, print_error, signal_handler
    from rasa.core.utils import AvailableEndpoints

    signal.signal(signal.SIGINT, signal_handler)

    _configure_logging(args)

    if args.production:
        print_success("Starting Rasa X in production mode... 🚀")

        args.endpoints = get_validated_path(
            args.endpoints, "endpoints", DEFAULT_ENDPOINTS_PATH, True
        )
        endpoints = AvailableEndpoints.read_endpoints(args.endpoints)
        _rasa_service(args, endpoints)
    else:
        if not is_rasa_x_installed():
            print_error(
                "Rasa X is not installed. The `rasa x` "
                "command requires an installation of Rasa X."
            )
            sys.exit(1)

        project_path = "."

        if not is_rasa_project_setup(project_path):
            print_error(
                "This directory is not a valid Rasa project. Use 'rasa init' "
                "to create a new Rasa project or switch to a valid Rasa project "
                "directory."
            )
            sys.exit(1)

        if args.data and not os.path.exists(args.data):
            print_warning(
                "The provided data path ('{}') does not exists. Rasa X will start "
                "without any training data.".format(args.data)
            )

        # noinspection PyUnresolvedReferences
        from rasax.community import local

        local.check_license_and_metrics(args)

        rasa_x_token = generate_rasa_x_token()
        process = start_rasa_for_local_rasa_x(args, rasa_x_token=rasa_x_token)
        try:
            local.main(args, project_path, args.data, token=rasa_x_token)
        finally:
            process.terminate()