Checkpoints on test stories?

Hi there. I’m just creating my first Rasa Assitant. I need to gather data from approximately 15 questions, to do this I use a lot of checkpoints in my stories in order to start asking continuosly as you will see:

- story: personal info question affirm
  steps:
  - intent: greet
  - action: utter_greet
  - intent: affirm
  - action: utter_ask_personal_info
  - intent: inform_personal_info
  - checkpoint: continue_with_contact_info_question

- story: personal info question deny
  steps:
  - intent: greet
  - action: utter_greet
  - intent: deny
  - action: utter_deny_goodbye

- story: contact info question
  steps:
  - checkpoint: continue_with_contact_info_question
  - action: utter_ask_contact_info
  - intent: inform_contact_info
  - checkpoint: continue_with_studies

  - story: studies question 
    steps:
    - checkpoint: continue_with_studies
    - action: utter_ask_studies
    - intent: inform_studies
    - checkpoint: continue_with_post_studies

Should I include the checkpoints in the test stories?, I’m kind of confused because in the documentation I haven’t seen that.

Hello Diego,

Thank you for your question and congrats on your first Rasa assistant! :slight_smile:

I do not see any issues on including checkpoints in test stories. You can also confirm that, if you do not have any validation errors (one example of validation error is mentioned here) when you train/test.

Having said that, the fact that you can use them does not mean they are recommended :slight_smile: As mentioned in the docs you should use checkpoints carefully/not overuse them and if you can replace them for example with rules it is even better (one example mentioned here).

Additionally, if you need more examples/explanation on checkpoints and its use, this thread might also be helpful.

Hope this clarifies your doubt and gives you some more ideas.

Thanks! I was wondering about it because my assistant does not maintain the flow of the conversation that I define with the checkpoints, at the end of a story the bot wants to perform the default fallback action. I suppose it is due to another problem related to the data.

Hello Diego,

If the default fallback is activated then maybe the intent (just before the checkpoint) is not recognised. You can check that if you run with the debug flag rasa shell --debug. Another reason that fallback is activated is when it fails to predict the next action (as also described in this post). Btw, more info on the fallback you can find in the docs here.

Also, I just thought that another way to double check that the problem is not on checkpoints is to remove them temporarily and create independent stories. Then if you see that the bot is working as expected without checkpoints then yes the problem is how you implement them. However, if you still have the same errors then the problem is elsewhere.

Sharing your pipeline from config.yml might also help.