def test_agent_and_persist(): policies = config.load("policies.yml") policies[0] = KerasPolicy(epochs=2) # Keep training times low agent = Agent("domain.yml", policies=policies) training_data = agent.load_data("data/stories.md") agent.train(training_data, validation_split=0.0) agent.persist("./tests/models/dialogue") loaded = Agent.load("./tests/models/dialogue") assert agent.handle_text("/greet") is not None assert loaded.domain.action_names == agent.domain.action_names assert loaded.domain.intents == agent.domain.intents assert loaded.domain.entities == agent.domain.entities assert loaded.domain.templates == agent.domain.templates
from rasa_core.agent import Agent # this will catch predictions the model isn't very certain about # there is a threshold for the NLU predictions as well as the action predictions fallback = FallbackPolicy(fallback_action_name="utter_unclear", core_threshold=0.2, nlu_threshold=0.6) agent = Agent('domain.yml', policies=[MemoizationPolicy(), KerasPolicy()]) # loading our neatly defined training dialogues training_data = agent.load_data('stories.md') agent.train( training_data, validation_split=0.2, epochs=400 ) agent.persist('models/dialogue') agent = Agent.load('models/dialogue', interpreter=model_directory) print("Your bot is ready to talk! Type your messages here or send 'stop'") while True: a = input() if a == 'stop': break responses = agent.handle_text(a) for response in responses: print(response["text"])