def duckling_interpreter(component_builder, tmpdir_factory): conf = RasaNLUModelConfig( {"pipeline": [{"name": "DucklingHTTPExtractor"}]} ) return utilities.interpreter_for( component_builder, data="./data/examples/rasa/demo-rasa.json", path=tmpdir_factory.mktemp("projects").strpath, config=conf)
def test_example_component(component_builder, tmpdir_factory): conf = RasaNLUModelConfig( {"pipeline": [{ "name": "tests.nlu.example_component.MyComponent" }]}) interpreter = utilities.interpreter_for( component_builder, data="./data/examples/rasa/demo-rasa.json", path=tmpdir_factory.mktemp("projects").strpath, config=conf) r = interpreter.parse("test") assert r is not None
def test_interpreter(pipeline_template, component_builder, tmpdir): test_data = "data/examples/rasa/demo-rasa.json" _conf = utilities.base_test_conf(pipeline_template) _conf["data"] = test_data td = training_data.load_data(test_data) interpreter = utilities.interpreter_for( component_builder, "data/examples/rasa/demo-rasa.json", tmpdir.strpath, _conf ) texts = ["good bye", "i am looking for an indian spot"] for text in texts: result = interpreter.parse(text, time=None) assert result["text"] == text assert not result["intent"]["name"] or result["intent"]["name"] in td.intents assert result["intent"]["confidence"] >= 0 # Ensure the model doesn't detect entity types that are not present # Models on our test data set are not stable enough to # require the exact entities to be found for entity in result["entities"]: assert entity["entity"] in td.entities