私のコードは以下のとおりです。
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.
Web でいくつかの解決策を見た後、これらの行も試しましたが、これらも彼の問題を解決していません。
#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 が適切に実行されていないため、モデルが永続化されていないと考えられます。どんな助けでも大歓迎です!