コード例 #1
0
def test_pass_conversation_id_to_interactive_learning(
        monkeypatch: MonkeyPatch):
    from rasa.core.train import do_interactive_learning
    from rasa.core.training import interactive as interactive_learning

    parser = argparse.ArgumentParser()
    sub_parser = parser.add_subparsers()
    interactive.add_subparser(sub_parser, [])

    expected_conversation_id = "🎁"
    args = parser.parse_args([
        "interactive",
        "--conversation-id",
        expected_conversation_id,
        "--skip-visualization",
    ])

    _serve_application = Mock()
    monkeypatch.setattr(interactive_learning, "_serve_application",
                        _serve_application)

    do_interactive_learning(args, Mock())

    _serve_application.assert_called_once_with(ANY, ANY, True,
                                               expected_conversation_id, 5005)
コード例 #2
0
ファイル: interactive.py プロジェクト: zoovu/rasa
def perform_interactive_learning(
    args: argparse.Namespace, zipped_model: Text, file_importer: TrainingDataImporter
) -> None:
    """Performs interactive learning.

    Args:
        args: Namespace arguments.
        zipped_model: Path to zipped model.
        file_importer: File importer which provides the training data and model config.
    """
    from rasa.core.train import do_interactive_learning

    args.model = zipped_model

    metadata = LocalModelStorage.metadata_from_archive(zipped_model)
    if metadata.training_type == TrainingType.NLU:
        rasa.shared.utils.cli.print_error_and_exit(
            "Can not run interactive learning on an NLU-only model."
        )

    args.endpoints = rasa.cli.utils.get_validated_path(
        args.endpoints, "endpoints", DEFAULT_ENDPOINTS_PATH, True
    )

    do_interactive_learning(args, file_importer)
コード例 #3
0
ファイル: interactive.py プロジェクト: suryatmodulus/rasa
def perform_interactive_learning(
    args: argparse.Namespace, zipped_model: Text, file_importer: TrainingDataImporter
) -> None:
    """Performs interactive learning.

    Args:
        args: Namespace arguments.
        zipped_model: Path to zipped model.
        file_importer: File importer which provides the training data and model config.
    """
    from rasa.core.train import do_interactive_learning

    args.model = zipped_model

    with model.unpack_model(zipped_model) as model_path:
        args.core, args.nlu = model.get_model_subdirectories(model_path)
        if args.core is None:
            rasa.shared.utils.cli.print_error_and_exit(
                "Can not run interactive learning on an NLU-only model."
            )

        args.endpoints = rasa.cli.utils.get_validated_path(
            args.endpoints, "endpoints", DEFAULT_ENDPOINTS_PATH, True
        )

        do_interactive_learning(args, file_importer)
コード例 #4
0
ファイル: interactive.py プロジェクト: kushal1212/Demo_Bot
def interactive(args: argparse.Namespace):
    from rasa.core.train import do_interactive_learning

    args.finetune = False  # Don't support finetuning

    zipped_model = train.train(args)
    model_path = model.unpack_model(zipped_model)
    args.core, args.nlu = model.get_model_subdirectories(model_path)
    stories_directory = data.get_core_directory(args.data)

    do_interactive_learning(args, stories_directory)

    shutil.rmtree(model_path)
コード例 #5
0
ファイル: interactive.py プロジェクト: applenob/rasa
def perform_interactive_learning(args, zipped_model):
    from rasa.core.train import do_interactive_learning

    if zipped_model:
        model_path = model.unpack_model(zipped_model)
        args.core, args.nlu = model.get_model_subdirectories(model_path)
        stories_directory = data.get_core_directory(args.data)

        do_interactive_learning(args, stories_directory)

        shutil.rmtree(model_path)
    else:
        print_warning("No initial zipped trained model found.")
コード例 #6
0
ファイル: interactive.py プロジェクト: tatisudheer/rasa_core
def perform_interactive_learning(args, zipped_model):
    from rasa.core.train import do_interactive_learning

    if zipped_model and os.path.exists(zipped_model):
        args.model = zipped_model

        with model.unpack_model(zipped_model) as model_path:
            args.core, args.nlu = model.get_model_subdirectories(model_path)
            stories_directory = data.get_core_directory(args.data)

            do_interactive_learning(args, stories_directory)
    else:
        print_error(
            "Interactive learning process cannot be started as no initial model was "
            "found.  Use 'rasa train' to train a model.")
コード例 #7
0
def perform_interactive_learning(args, zipped_model):
    from rasa.core.train import do_interactive_learning

    if zipped_model and os.path.exists(zipped_model):
        args.model = zipped_model
        model_path = model.unpack_model(zipped_model)
        args.core, args.nlu = model.get_model_subdirectories(model_path)
        stories_directory = data.get_core_directory(args.data)

        do_interactive_learning(args, stories_directory)

        shutil.rmtree(model_path)
    else:
        print_error(
            "No initial zipped trained model found. Interactive learning process "
            "cannot be started.")
コード例 #8
0
ファイル: interactive.py プロジェクト: Cesarcuna/dockerhub
def perform_interactive_learning(args: argparse.Namespace, zipped_model: Text,
                                 file_importer: TrainingDataImporter) -> None:
    from rasa.core.train import do_interactive_learning

    args.model = zipped_model

    with model.unpack_model(zipped_model) as model_path:
        args.core, args.nlu = model.get_model_subdirectories(model_path)
        if args.core is None:
            utils.print_error_and_exit(
                "Can not run interactive learning on an NLU-only model.")

        args.endpoints = utils.get_validated_path(args.endpoints, "endpoints",
                                                  DEFAULT_ENDPOINTS_PATH, True)

        do_interactive_learning(args, file_importer)