I’m trying to understand the process of NLG more. Based on the example in Rasa of the basic NLG server all it does is grab the existing template text and post it back to be output.
If you remove the responses from the domain and just list the utterances in actions and use the NLG server to fetch the appropriate text from another server, I find that Rasa complains both during training and data validation.
I get three different UserWarnings for each utterance listed.
Utterance 'utter_greet' is listed as an action in the domain file, but there is no matching utterance template. Please check your domain. There is no template for the utterance action 'utter_greet'. The action is listed in your domains action list, but there is no template defined with this name. You should add a template with this key. UserWarning: The action 'utter_greet' is used in the stories, but is not a valid utterance action. Please make sure the action is listed in your domain and there is a template defined with its name.
Either the way I am imagining the use of an NLG server is wrong or it is okay but there is a bug in that those warnings should not come up when you A) have an NLG server set up and B) don’t have responses listed in the domain. The way I’ve done this has and does work though, it just complains.
With the basic rasa bot created from init and it setup in this way there are 18 warnings shown for 6 utterances. With a project of hundreds or thousands of utterances the log files are just filled up with these warnings and makes it hard to find other real warnings or errors.
If someone from Rasa could shed some light on this for me or someone who is more familiar with NLG servers I would be grateful.