Hello, I created in Rasa X new NLU training intents: -my name is Albert - “Albert” is marked as an “name_entity” -I am John - John is marked as an name_entity etc. in responses I added: -nice to meet you {name_entity} ! in stories it is written that after intent name(my name…) it should respond with utter_name(nice to meet…). While testing, the name_entity is recognized correctly as Albert or John but instead of replying with the real name the bot is replying with: nice to meet you {name_entity} ! How to solve it and make bot reply with the name given in user’s message?
You need to code a custom action to allow your bot to reply. Whatever you teaches your bot to reply would be a string only. create a new action in action.py
let’s say it’s action_reply_username
in you stories, you just need to write
## SAMPLE
* user_greet{"name":"John"}
- action_reply_username
I am not sure if rasa x has a simpler way,
I’ve been making utter templates as @kacperlsky did and it works fine. Although i have no idea why it didn’t work for him. Did you define the name_entity slot in domain.yml, @kacperlsky ?
Shaz… I didnt know abt that! I will try it later.
I have defined the entity called name_entity. Is entity and slot the same? If not, how to add slots?
Defining the entity simply let the bot know how to recognise it. The value after that is gonna be stored at a slot with the same name as the entity (normal case).
The {slot_name} in utter template is actually means value of that slot, so you need to define the corresponding slot in domain.yml:
slots:
- slot_name