@Ghostvv Respectfully, that answer is not super helpful. I continue to not understand how âslot_was_setâ works, after a tremendous amount of experimentation. I have also been through the documentation thoroughly. Here is a contrived, very simple example that is still perplexing:
I have an intent that expresses a user name to the bot:
- intent: inform_name
examples: |
- My name is [Joe](user_name)
....plus many more examples
I also have also specified in the domain file:
slots:
user_name:
type: text
auto_fill: true
influence_conversation: true
entities:
- user_name
My story is very simple:
- story: happy path
steps:
- intent: greet
- action: utter_ask_name
- intent: inform_name
- action: utter_greet_name
- action: utter_goodbye_name
- action: action_restart
Although I have many examples of the inform_name intent, understandably it doesnât always work given the variation of names (I use spacyâs PERSON intent for more robust solutions). When the entity is not extracted from the inform_name intent, I simply want to have the bot ask for the userâs name again. I am trying to do this with a rule (although should be able to do this with a story too):
- rule: Didn't get user name
steps:
- intent: inform_name
- slot_was_set:
- user_name: None # also tried null, 'null', 'None'
- action: utter_ask_name_again
Based upon the documentation, I also tried:
- rule: Didn't get user name
steps:
- intent: inform_name
entities:
- user_name: None
- action: utter_ask_name_again
I also tried checking for a particular name (e.g. âJayâ, assuming the intent fired correctly, which it often does), just to see the rule and condition fire correctly. No Luck.
I again respectfully request a thoughtful explanation that not only offers a solution to my contrived problem but also explains more rigorously how to use âslot_was_setâ (and âentities:â) in stories and rules.
Thanks in advance.