0
def train_nlu(data, configs, model_dir):
    training_data = load_data(data)
    trainer = Trainer(config.load(configs))
    trainer.train(training_data)
    model_directory = trainer.persist(model_dir, fixed_model_name='weathernlu')
    return model_directory


def run_nlu(model_dir):
    interpreter = Interpreter.load(model_dir)
    print(interpreter.parse("hello"))

我想加载多个模型来运行。如何使用解释器在我的 python 程序中加载多个模型?

4

2 回答 2

0

您可以简单地将不同的模型存储在不同的目录中,然后从它们各自的目录中加载两个不同的模型。

def run_nlu(model_dir):
    interpreter1 = Interpreter.load(model1_dir)
    print(interpreter.parse("hello"))
    interpreter2 = Interpreter.load(model2_dir)
    print(interpreter.parse("hello"))
于 2018-06-10T13:12:54.473 回答
0

如果你使用的是 Rasa NLU 0.12.3,你可以使用mergeclass的方法TrainingData。例如

from rasa_nlu.training_data import TrainingData, load_data
from rasa_nlu.model import Trainer
from rasa_nlu import config

training_data = TrainingData()
nlu_trainings = ["data/examples/domain1.md", "data/examples/domain2.md"]
for nlu_training in nlu_trainings:
  training_data = training_data.merge(load_data(nlu_training)))

trainer = Trainer(config.load("sample_configs/config_spacy.yaml"))
trainer.train(training_data)
trainer.persist("./projects/default/")
于 2018-06-16T10:06:34.417 回答