Dialogue

from future import absolute_import

from future import division

from future import print_function

from future import unicode_literals

import logging

from rasa_core.agent import Agent

from rasa_core.channels.console import ConsoleInputChannel

from rasa_core.interpreter import RegexInterpreter

from rasa_core.policies.keras_policy import KerasPolicy

from rasa_core.policies.memoization import MemoizationPolicy

from rasa_core.interpreter import RasaNLUInterpreter

logger = logging.getLogger(name)

def train_dialogue(domain_file = ‘weather_domain.yml’,

model_path = ‘./models/dialogue’,

training_data_file = ‘./data/stories.md’):

agent = Agent(domain_file, policies = [MemoizationPolicy(), KerasPolicy()])

agent.train(

            training_data_file,

max_history = 3,

epochs = 300,

batch_size = 50,

validation_split = 0.2,

augmentation_factor = 50)

agent.persist(model_path)

return agent

def run_weather_bot(serve_forever=True):

interpreter = RasaNLUInterpreter('./models/nlu/default/weathernlu')

agent = Agent.load('./models/dialogue', interpreter = interpreter)

if serve_forever:

    agent.handle_channel(ConsoleInputChannel())

return agent

if name == ‘main’:

train_dialogue()

run_weather_bot()

rasa-core-sdk==0.11.0 rasa_core==0.11.1 0. rasa-nlu==0.13.2 { “resource”: “/UsersDesktop/weath/dialogue_management_model.py”, “owner”: “python”, “code”: “no-name-in-module”, “severity”: 8, “message”: “No name ‘ConsoleInputChannel’ in module ‘rasa_core.channels.console’”, “source”: “pylint”, “startLineNumber”: 9, “startColumn”: 1, “endLineNumber”: 9, “endColumn”: 1 } { “resource”: “/Users/Desktop/weath/dialogue_management_model.py”, “owner”: “python”, “code”: “no-member”, “severity”: 8, “message”: “Instance of ‘Agent’ has no ‘handle_channel’ member; maybe ‘handle_channels’?”, “source”: “pylint”, “startLineNumber”: 39, “startColumn”: 3, “endLineNumber”: 39, “endColumn”: 3 }