Мой код приведен ниже:
async def train_dialogue(domain_file='domain.yml',
model_path='models/dialogue',
config_file='config.yml',
training_data_file='./data/stories/stories.md'):
policies = policy_config.load(config_file)
agent = Agent("domain.yml", policies=policies)
#asyncio.run(agent.load_data(training_data_file))
#training_data = await agent.load_data(training_data_file)
#training_data = asyncio.run(agent.load_data(training_data_file))
#training_data = agent.load_data(training_data_file)
loop = asyncio.get_event_loop()
data = loop.run_until_complete(agent.load_data(training_data_file))
agent.train(training_data)
agent.persist(model_path)
return agent
def run_weather_bot(serve_forever=True):
interpreter = Interpreter.load('./models/nlu/default/chat')
agent = Agent.load('./models/dialogue', interpreter=interpreter)
rasa.core.run.serve_application(agent, channel='cmdline')
return agent
train_dialogue('domain.yml','models/dialogue','config.yml','./data/stories/stories.md')
run_weather_bot()
Когда я выполняю этот фрагмент кода выше для обучения базовой модели rasa для чат-бота, я получаю следующую ошибку:
RuntimeWarning: coroutine 'train_dialogue' was never awaited
"""Entry point for launching an IPython kernel.
Я также пробовал эти строки, просмотрев некоторые решения в Интернете, но они также не решают проблему:
#asyncio.run(agent.load_data(training_data_file))
#training_data = await agent.load_data(training_data_file)
#training_data = asyncio.run(agent.load_data(training_data_file))
#training_data = agent.load_data(training_data_file)
Кроме того, когда я загружаю свою модель вот так:
agent = Agent.load("models/dialogue", interpreter= rasaNLU)
Я получаю сообщение «в моделях / диалогах не найдено ни ядра, ни модели NLU», поэтому я считаю, что функция train_dialogue не выполняется должным образом, поэтому модель не сохраняется. Любая помощь будет высоко ценится!