Confirmation within the form: I added an additional slot confirmation to the form, implemented extraction and validation to handle user input, but I couldn’t make Rasa to call custom actions before or after book_foorm is called. Inheriting from FormAction appeared to be impossible, because it doesn’t inherit Action from interfaces.py. Rules conflict with action_listen that is invoked right after book_foorm. Making a wrapper action around book_foorm and calling it instead of the original form works only in the first time, but then active loop starts to call book_foorm instead of my wrapper.
Confirmation after the form: passing a custom action in active_loop after book_form is filled in seems to work, but I found out that Rasa only calls the last FollowupAction returned by my custom action, but I want to call multiple actions on each iteration. I also tried to create a custom action that only sets the categorical slot confirmation_status with values: “initialized”, “confirmed”, “rejected” or “fixed”. The idea was that stories can handle my logic relying on confirmation_status, but they do it poorly or don’t do it at all. Two stories were not enough even to just activate action_extract_confirmation_status after active_loop was set to null, let alone handling all the logic.
So far, the second option seems to be OK if using rules instead of stories. But I need a lot of rules, and they may become a bottleneck in the further development. Coding my logic in python seems much more robust and easier to me, but I can’t find a way to do this normally in Rasa. I’m using Rasa v3.5.13 and Rasa SDK v3.5.1.
I have 2 questions:
How do you implement the confirmation step in your practice?
- the prediction of the action 'action_utter_slots' in rule 'Ask for confirmation' is contradicting with rule(s) 'handling active loops and forms - action_extract_confirmation_status - action_listen' which predicted action 'action_listen'.
- the prediction of the action 'utter_ask_for_correction' in rule 'Ask for correction in confirmation loop' is contradicting with rule(s) 'handling active loops and forms - action_extract_confirmation_status - action_listen' which predicted action 'action_listen'.
- the prediction of the action 'utter_introduce_slots' in rule 'Ask for confirmation the first time' is contradicting with rule(s) 'handling active loops and forms - action_extract_confirmation_status - action_listen' which predicted action 'action_listen'.
Please update your stories and rules so that they don't contradict each other.