Hi,
I have a Rasa form called rant_form. Here we ask the user if they want to rant and allow them to type whatever they want. I also have an insult intent in my rules.
Currently, when the rant_form is activated and the user types something that is predicted as “insult” intent, the form gets deactivated and the insult story gets triggered. That’s not what I want, I want any input, regardless of the intent predicted, if it’s said withing the rant form, to be saved in my rant slot.
Here is my domain.yml:
slots:
rant1:
type: text
influence_conversation: false
mappings:
- type: from_text
conditions:
- active_loop: rant_form
requested_slot: rant1
rant2:
type: text
influence_conversation: false
mappings:
- type: from_text
conditions:
- active_loop: rant_form
requested_slot: rant2
forms:
rant_form:
required_slots:
- rant1
- rant2
Here is stories.yml:
- story: Rant
steps:
- intent: rant
- action: rant_form
- active_loop: rant_form
- slot_was_set:
- requested_slot: rant1
- slot_was_set:
- requested_slot: rant2
- active_loop: null
- action: action_submit_rant
Here is rules.yml:
- rule: Insult 1
steps:
- intent: insult
- slot_was_set:
- insult_counter_featurized: 1
- action: action_first_response_insult
- rule: Insult 2
steps:
- intent: insult
- slot_was_set:
- insult_counter_featurized: 2
- action: action_second_response_insult
Does someone have any idea how can I disable intent detection when within the form?
I tried removing insult flow from rules, but that didn’t help. And adding from_intent to the slot mapping didn’t fix it either.