예제 #1
0
def test_train_nlu_persist_nlu_data(
        run_in_simple_project: Callable[..., RunResult]) -> None:
    run_in_simple_project(
        "train",
        "nlu",
        "-c",
        "config.yml",
        "--nlu",
        "data/nlu.md",
        "--out",
        "train_models",
        "--persist-nlu-data",
    )

    assert os.path.exists("train_models")
    files = rasa.shared.utils.io.list_files("train_models")
    assert len(files) == 1
    assert os.path.basename(files[0]).startswith("nlu-")
    model_dir = model.get_model("train_models")
    assert model_dir is not None
    metadata = Metadata.load(os.path.join(model_dir, "nlu"))
    assert metadata.get("training_data") is not None
    assert os.path.exists(
        os.path.join(model_dir, "nlu",
                     training_data.DEFAULT_TRAINING_DATA_OUTPUT_PATH))
예제 #2
0
def test_train_persist_nlu_data(run_in_simple_project: Callable[...,
                                                                RunResult]):
    temp_dir = os.getcwd()

    run_in_simple_project(
        "train",
        "-c",
        "config.yml",
        "-d",
        "domain.yml",
        "--data",
        "data",
        "--out",
        "train_models",
        "--fixed-model-name",
        "test-model",
        "--persist-nlu-data",
    )

    assert os.path.exists(os.path.join(temp_dir, "train_models"))
    files = rasa.shared.utils.io.list_files(
        os.path.join(temp_dir, "train_models"))
    assert len(files) == 1
    assert os.path.basename(files[0]) == "test-model.tar.gz"
    model_dir = model.get_model("train_models")
    assert model_dir is not None
    metadata = Metadata.load(os.path.join(model_dir, "nlu"))
    assert metadata.get("training_data") is not None
    assert os.path.exists(
        os.path.join(model_dir, "nlu",
                     training_data.DEFAULT_TRAINING_DATA_OUTPUT_PATH))
예제 #3
0
def test_train(run_in_default_project):
    temp_dir = os.getcwd()

    run_in_default_project(
        "train",
        "-c",
        "config.yml",
        "-d",
        "domain.yml",
        "--data",
        "data",
        "--out",
        "train_models",
        "--fixed-model-name",
        "test-model",
    )

    assert os.path.exists(os.path.join(temp_dir, "train_models"))
    files = io_utils.list_files(os.path.join(temp_dir, "train_models"))
    assert len(files) == 1
    assert os.path.basename(files[0]) == "test-model.tar.gz"
    model_dir = model.get_model("train_models")
    assert model_dir is not None
    metadata = Metadata.load(os.path.join(model_dir, "nlu"))
    assert metadata.get("training_data") is None
    assert not os.path.exists(
        os.path.join(model_dir, "nlu",
                     training_data.DEFAULT_TRAINING_DATA_OUTPUT_PATH))
예제 #4
0
파일: project.py 프로젝트: rajanala/rasa
    def _read_model_metadata(self, model_name, model_dir):
        if model_name is None:
            data = Project._default_model_metadata()
            return Metadata(data, model_name)
        else:
            if model_dir is not None:
                path = model_dir
            elif not os.path.isabs(model_name) and self._path:
                path = os.path.join(self._path, model_name)
            else:
                path = model_name

            # download model from cloud storage if needed and possible
            if not os.path.isdir(path):
                self._load_model_from_cloud(model_name, path)

            return Metadata.load(path)
예제 #5
0
def test_train_nlu(run_in_default_project):
    run_in_default_project(
        "train",
        "nlu",
        "-c",
        "config.yml",
        "--nlu",
        "data/nlu.md",
        "--out",
        "train_models",
    )

    assert os.path.exists("train_models")
    files = io_utils.list_files("train_models")
    assert len(files) == 1
    assert os.path.basename(files[0]).startswith("nlu-")
    model_dir = model.get_model("train_models")
    assert model_dir is not None
    metadata = Metadata.load(os.path.join(model_dir, "nlu"))
    assert metadata.get("training_data") is None
    assert not os.path.exists(
        os.path.join(model_dir, "nlu",
                     training_data.DEFAULT_TRAINING_DATA_OUTPUT_PATH))
예제 #6
0
def interpreter_for_model(component_builder, model_dir):
    metadata = Metadata.load(model_dir)
    return Interpreter.create(metadata, component_builder)
예제 #7
0
파일: ltp.py 프로젝트: lsx0930/rasa_usage
           "被盗狼青狗特征:是一条1年半的狼青狗,高约60公分,长约80公分,现市场价值2000余元。" \
           "涉案总价值2000余元。案件性质关键词:撬门压锁。, 出生地北京,现居住在新疆"
    text = "小明,男,身高180cm,上个月去北京站坐G22到新疆,与他同行的有30岁的小黑,他们开着一辆白色法拉利逃跑。"
    context = {}
    time = datetime.datetime.now()
    default_output_attributes = {
        "intent": {
            "name": None,
            "confidence": 0.0
        },
        "entities": []
    }
    message = Message(text, data=default_output_attributes, time=time)

    model_dir = './models/link/model_20190517-113416'
    model_metadata = Metadata.load(model_dir)

    jieba_meta = model_metadata.for_component(index=0)
    jie = JiebaTokenizer.load(meta=jieba_meta,
                              model_dir=model_dir,
                              model_metadata=Metadata.load(model_dir))

    pprint.pprint(message.data)
    jie.process(message)

    ltp_meta = model_metadata.for_component(index=5)
    ltp = LtpHelper.load(meta=ltp_meta,
                         model_dir=model_dir,
                         model_metadata=Metadata.load(model_dir))

    pprint.pprint(message.data)