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))
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))
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))
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)
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))
def interpreter_for_model(component_builder, model_dir): metadata = Metadata.load(model_dir) return Interpreter.create(metadata, component_builder)
"被盗狼青狗特征:是一条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)