Exemplo n.º 1
0
 def test_load_from_path_all_sccenario(self):
     processor = MongoProcessor()
     processor.save_from_path("tests/testing_data/all", "all", "testUser")
     training_data = processor.load_nlu("all")
     assert isinstance(training_data, TrainingData)
     assert training_data.training_examples.__len__() == 283
     assert training_data.entity_synonyms.__len__() == 3
     assert training_data.regex_features.__len__() == 5
     assert training_data.lookup_tables.__len__() == 1
     story_graph = processor.load_stories("all")
     assert isinstance(story_graph, StoryGraph) == True
     assert story_graph.story_steps.__len__() == 13
     domain = processor.load_domain("all")
     assert isinstance(domain, Domain)
     assert domain.slots.__len__() == 8
     assert domain.templates.keys().__len__() == 21
     assert domain.entities.__len__() == 7
     assert domain.form_names.__len__() == 2
     assert domain.user_actions.__len__() == 32
     assert domain.intents.__len__() == 22
     assert not Utility.check_empty_string(
         domain.templates["utter_cheer_up"][0]["image"]
     )
     assert domain.templates["utter_did_that_help"][0]["buttons"].__len__() == 2
     assert domain.templates["utter_offer_help"][0]["custom"]
     assert domain.slots[0].type_name == "unfeaturized"
Exemplo n.º 2
0
def train_model_for_bot(bot: str):
    """ Trains the rasa model, using the data that is loaded onto
            Mongo, through the bot files """
    processor = MongoProcessor()
    nlu = processor.load_nlu(bot)
    if not nlu.training_examples:
        raise AppException("Training data does not exists!")
    domain = processor.load_domain(bot)
    stories = processor.load_stories(bot)
    config = processor.load_config(bot)

    directory = Utility.save_files(
                nlu.nlu_as_markdown().encode(),
                domain.as_yaml().encode(),
                stories.as_story_string().encode(),
                yaml.dump(config).encode(),
            )

    output = os.path.join(DEFAULT_MODELS_PATH, bot)
    model = train(domain=os.path.join(directory,DEFAULT_DOMAIN_PATH),
                  config=os.path.join(directory,DEFAULT_CONFIG_PATH),
                  training_files=os.path.join(directory,DEFAULT_DATA_PATH),
                  output=output)
    Utility.delete_directory(directory)
    return model
Exemplo n.º 3
0
 def test_load_nlu(self):
     processor = MongoProcessor()
     training_data = processor.load_nlu("tests")
     assert isinstance(training_data, TrainingData)
     assert training_data.training_examples.__len__() == 43
     assert training_data.entity_synonyms.__len__() == 0
     assert training_data.regex_features.__len__() == 0
     assert training_data.lookup_tables.__len__() == 0