Not sure if I’m looking too much into it, but I’d like to be sure.
I have the following setup for a bot that I’m working on -
- On my local version, I start with a user utterance and try to carry out an entire conversation.
- On the production version, the first user utterance is passed to the Rasa bot after triggering a default intent which is followed by an action that initializes the required slots with the metadata. I use the triggerConversationIntent API call to trigger this default intent.
Both versions worked well and had responded well to various kind of inputs. There are more than 450 NLU examples classified under 17 intents, and about 50 stories, all mostly tiny variations around a common script.
That is until a recent change seemed to completely overhaul everything the bot has learned.
My recent changes include -
- Upgrade the bot from rasa and rasa-sdk 1.7.0 to 1.10.0
- Update the config file from the old default Rasa pipeline using pretrained word embeddings to using the new one involving conveRT and DIET Classifier.
- Update the policy to use TED instead of Keras.
- Add a
dispatcher.utter_message
line to the fallback function.
Nothing else changed. My core threshold for the fallback was 0.3.
I then completed training the bot locally and verified that the bot still works fine. However, when I pushed this version to the production version, it started to trigger the fallback intent about 90-95% of the time, with always the same confidence of 0.3 (which I thought was interesting). So even if I trigger the default intent through the API call with meta data, it would trigger the fallback action. I even tried to explicitly map the default intent to the action that loads the slots with the metadata, using the MappingPolicy
. But to no avail.
I tried to recreate the production version locally, where I now explicitly pass the metadata through an utterance. And sure enough, 90-95% of all intents were followed by the same fallback action with the same confidence of 0.3 and every other action was set to 0.0.
Can someone please help me with what I’m doing wrong? I’m honestly worried that a simple change like this has completely undone 5 months of training.
PS - It would also be nice if I can manually trigger the default intent with specific slots inside Rasa X. (cc @tyd)