Hi,
I encountered a problem that seems to be happening that a slots gets already filled by an intent even though there was no request for the slot How to prevent rasa filling slots which are not requesting and when the slot is conditioned on a form (and auto-fill turned off).
In the following scenario, we have one slot liked_topic which can be filled with affirm or deny. Before asking “Did you like the topic?” the user gets asked “Can I ask you a question?” which can also be answered with affirm or deny. The problem: The answer to “Can I ask you a question?” fills wrongly the slot liked_topic. Would be great if someone could point me to my mistake or whether I can never use affirm or deny to fill a slot because this would lead to unrelated affirm/deny intents already filling those slots…
This is how I set the form question and the slot:
utter_ask_basic_form_liked_topic:
- text: "Did you like it?"
liked_topic:
type: bool
influence_conversation: true
mappings:
- type: from_intent
auto_fill: false
intent: affirm
value: yes
- type: from_intent
auto_fill: false
intent: deny
value: no
conditions:
- basic_form
requested_slot: liked_topic
and the story like this:
- story: happy path
steps:
- action: utter_can_ask_question
- intent: affirm
- action: basic_form
- active_loop: basic_form
- slot_was_set:
- requested_slot: liked_topic
- or:
- slot_was_set:
- liked_topic: yes
- slot_was_set:
- liked_topic: no
- slot_was_set:
- liked_topic: __other__
- slot_was_set:
- requested_slot: null
- active_loop: null
- action: utter_next_question
- intent: affirm
- action: action_do_something