def load_rasa_data_from_string(text): # type: (Text) -> TrainingData """Loads training data stored in the rasa NLU data format.""" data = _read_json_from_string(text) converters.validate_rasa_nlu_data(data) common = data['rasa_nlu_data'].get("common_examples", list()) intent = data['rasa_nlu_data'].get("intent_examples", list()) entity = data['rasa_nlu_data'].get("entity_examples", list()) regex_features = data['rasa_nlu_data'].get("regex_features", list()) synonyms = data['rasa_nlu_data'].get("entity_synonyms", list()) entity_synonyms = converters.get_entity_synonyms_dict(synonyms) if intent or entity: logger.warn( "DEPRECATION warning: Data file 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 + intent + entity training_examples = [] for e in all_examples: data = e.copy() if "text" in data: del data["text"] training_examples.append(Message(e["text"], data)) return TrainingData(training_examples, entity_synonyms, regex_features)
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(): with io.open('data/examples/rasa/demo-rasa.json', encoding="utf-8-sig") as f: data = json.loads(f.read()) 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(): with io.open('data/examples/rasa/demo-rasa.json', encoding="utf-8-sig") as f: data = json.loads(f.read()) validate_rasa_nlu_data(data)