コード例 #1
0
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)
コード例 #2
0
def test_validation_is_throwing_exceptions(invalid_data):
    with pytest.raises(ValidationError):
        validate_rasa_nlu_data(invalid_data)
コード例 #3
0
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)
コード例 #4
0
def test_validation_is_throwing_exceptions(invalid_data):
    with pytest.raises(ValidationError):
        validate_rasa_nlu_data(invalid_data)
コード例 #5
0
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)