def test_url_data_format(): data = u""" { "rasa_nlu_data": { "entity_synonyms": [ { "value": "nyc", "synonyms": ["New York City", "nyc", "the big apple"] } ], "common_examples" : [ { "text": "show me flights to New York City", "intent": "unk", "entities": [ { "entity": "destination", "start": 19, "end": 32, "value": "NYC" } ] } ] } }""" fname = utils.create_temporary_file(data.encode("utf-8"), suffix="_tmp_training_data.json", mode="w+b") data = utils.read_json_file(fname) assert data is not None validate_rasa_nlu_data(data)
def test_url_data_format(): data = u""" { "rasa_nlu_data": { "entity_synonyms": [ { "value": "nyc", "synonyms": ["New York City", "nyc", "the big apple"] } ], "common_examples" : [ { "text": "show me flights to New York City", "intent": "unk", "entities": [ { "entity": "destination", "start": 19, "end": 32, "value": "NYC" } ] } ] } }""" fname = utils.create_temporary_file(data.encode("utf-8"), suffix="_tmp_training_data.json", mode="w+b") data = utils.read_json_file(fname) assert data is not None validate_rasa_nlu_data(data)
def read_from_json(self, js, **kwargs): """Loads training data stored in the rasa NLU data format.""" validate_rasa_nlu_data(js) data = js['rasa_nlu_data'] common_examples = data.get("common_examples", []) intent_examples = data.get("intent_examples", []) entity_examples = data.get("entity_examples", []) entity_synonyms = data.get("entity_synonyms", []) regex_features = data.get("regex_features", []) fuzzy_gazette = data.get("fuzzy_gazette", []) lookup_tables = data.get("lookup_tables", []) entity_synonyms = transform_entity_synonyms(entity_synonyms) if intent_examples or entity_examples: logger.warn("DEPRECATION warning: your rasa data " "contains 'intent_examples' " "or 'entity_examples' which will be " "removed in the future. Consider " "putting all your examples " "into the 'common_examples' section.") all_examples = common_examples + intent_examples + entity_examples training_examples = [] for ex in all_examples: msg = Message.build(ex['text'], ex.get("intent"), ex.get("entities")) training_examples.append(msg) return TrainingData(training_examples, entity_synonyms, regex_features, fuzzy_gazette, lookup_tables)
def test_validation_is_throwing_exceptions(invalid_data): with pytest.raises(ValidationError): validate_rasa_nlu_data(invalid_data)
def test_example_training_data_is_valid(): demo_json = 'data/examples/rasa/demo-rasa.json' data = utils.read_json_file(demo_json) validate_rasa_nlu_data(data)
def test_validation_is_throwing_exceptions(invalid_data): with pytest.raises(ValidationError): validate_rasa_nlu_data(invalid_data)
def test_example_training_data_is_valid(): demo_json = 'data/examples/rasa/demo-rasa.json' data = utils.read_json_file(demo_json) validate_rasa_nlu_data(data)