I finally found the root cause!
The reasons why rasa couldn’t find story_0.md were:
-
We know that nlu training data and core training data both support markdown format, but the way rasa recognizing if it’s an nlu training data file or a core training data file, was heuristic: if a .md file contains any element from
_markdown_section_markers: ['## intent:', '## synonym:', '## regex:', '## lookup:']
, then it will be added to nlu training data, otherwise it belongs to stories. This seems reasonable, since these four elements are used in nlu markdown file. -
The tricky things here are, some of my story blocks begin with
"## intent: ..."
therefore the whole file was considered as nlu training data.
When I modified all "## intent: ..."
in story to "## intent_..."
, rasa was able to find stories and to train core.
Maybe rasa can optimize the way recognizing nlu and story files.
And when I read the source code, I felt like, it was a bit difficult to debug the source code when all command can only be executed in cmd/bash, I have to insert many print()
funcs to see the values of suspicious variables…maybe it has a better way, hope someone can suggest a better way to do this .