Rasa shell changes behavior upon training nlu

Hi folks! I’m new to Rasa - by the way, amazing job done here! -

I have a question or a bug report - not sure yet…

I just noticed that rasa shell behaves as rasa shell nlu right after a rasa train nlu is completed. I also found that in order to revert this weird behavior, by running rasa train, the rasa shell command gets back to normal.

I see there’s a sort of fallback here rasa/shell.py at f734cf26b3f84f7c6b104a55c1c3349f2e81dc10 · RasaHQ/rasa · GitHub (looks intentional), but I’m not sure if by training nlu, the core model should really become “invalid”.

IMHO having rasa shell acting as rasa shell nlu (sometimes, and sometimes no) makes it pretty confusing, specially for new users.

Is this expected? (I’m using the latest version 1.10.3 in osx)

Thanks in advance!

Hi @gerardobort! Welcome to the community!

When we do rasa train nlu, it trains (and saves) a new NLU only model. And, when we do rasa shell, it picks up the latest trained model and runs it.

So when you do rasa shell right after rasa train nlu, the shell gets the NLU model only because that’s the latest trained model. Hence it behaves like rasa shell nlu.

You can see the CLI docs for more info.

Hope that helps. :slightly_smiling_face:

Thanks @saurabh-m523!

1 Like