I have written my first rasa bot, and it has two things: a form (with 4 slots) and chitchat.
In genera it works, but I don;t know how to solve this:
If the use says something the bot has never seen (like “Oh, Supercalifragulistic”), the core picks the correct intent (chitchat), but detects “Super…” as a city, and defines a slot.
Then, when the form is triggered, the slot is already filled, interfering with the slot.
Is there way to say, “don’t fill slots in the chitchat intend” to rasa?
I know that there is an option in slots to stop autofill, but I like the fact that if a city is used in the text that triggers the form, the form starts and the city is filled, so the bot does not have to ask again for the city.
Thanks for the reply, but this is not what I am looking for. I want auto_fill to be False for most of the intents, but true for 1-2 intents. As in the case, the user triggered a form, and said also the slot in the trigger text.
This works nicely as it is now (auto_fill true), but has side-effects that the slots can be filled also by i.e. chitchat. So when the form starts, some slots are already filled.
I think what I want to achieve is through the slot_mappings method in the form action.
There, you can define from which entities & which intents the slot can be filled. In combination to using slot names other than entity names in slots, it should work.
From the config.yml, paste the entities and slots section. If you are using the same name for an entity and slot, then the slot value will automatically be filled by the form.