Rasa Shell in cmd only showing intents JSON and not bot utterance?

Hi.

I’ve been pulling my hair out over what may be a minor issue. The first couple of times I run rasa shell on a fresh rasa init project, it starts what appears to be a sanic server and the bot actually responds with sentences. However, if I make any sort of changes (or even add comments) the rasa shell command now only starts outputting a JSON-esque list of intents and confidences. This happens after a (seemingly random) number of times I train/run the sample model.

I just want to switch back to the simplistic “text in text out” mode that you start off with so I can test my bot in the command line. I don’t want the JSON-like output of intents and confidences. How can I switch back, and what is it that I’m doing wrong here?

(If it makes any difference, my company security system requires that I run python -m rasa shell rather than rasa shell itself. This doesn’t seem to have made any difference, however, as running the -m command still follows the same pattern.)

Okay, I’ve found out the solution. It was rather stupid, but hey, we all start somewhere. Turns out I’ve only been training the NLU part of the bot this entire time (rasa train nlu). Training just the NLU doesn’t generate the core model, and without the core model, the shell command just goes into the intent-scoreboard mode that I was seeing.

The solution is super easy; just run rasa train (minus the nlu) and it should train the core AND NLU. Running rasa shell after that yielded the results I was looking for.