I have a chatbot (an FAQ bot) which has a lot of long utterances. Not horribly long, but still not 5 words (like 100-150 words) since answers are somewhat convoluted. I would like it if I could break it in two or three messages without messing with the bot’s logic. I remember not so long ago being able to send a message to my front-end channel in the form
“Here is the answer. \n\n The answer to your question is 42.”
and the front-end channel would have interpreted this as two messages split at the location of the \n\n, but this is not ideal if you manage multiple channels. What would be ideal is if there was a way to add in the domain’s template section a utterance format that contains a list of utterances.
Big issue with this : the current use of the list for templates is to randomly select an element of the list, not to send them all one after the other.
I am thinking of implementing this feature now, but it would sum up to a custom action that would look into a yaml file like this
utter_FAQ_answer_question_number_1: - FAQ_q1_answer_part_1 - FAQ_q1_answer_part_2 utter_FAQ_answer_question_number_2: - FAQ_q2_answer_part_1 - FAQ_q2_answer_part_2 - FAQ_q2_answer_part_3 ... utter_FAQ_answer_question_number_5: - Here is the answer. - The answer to your question is 42.
and match the utterance name (say “utter_FAQ_answer_question_number_5” with a list of utterances [“FAQ_q5_answer_part_1”, “FAQ_q5_answer_part_2”]. I am not quite sure how easy it would be, but here’s my question:
What would be the “RASA-style” way of doing this with the current following versions of RASA? (i.e. a single action, templated or not, that writes multiple messages in the front-end channel)
Rasa Core : 0.13.0
Rasa Core SDK : 0.12.1
Rasa NLU : 0.14.1