0

私のコードは以下のとおりです。

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 が適切に実行されていないため、モデルが永続化されていないと考えられます。どんな助けでも大歓迎です!

4

1 に答える 1