I started using the < checkpoint
feature and it’s nice and works well in some cases where my story ends with that checkpoint, and from what I can tell, this is the way it has to work, you can’t insert a checkpoint into the middle of a story or else you get story conflicts.
I’m curious if there is any good way to create something similar to a checkpoint but more like a common reusable fragment. The resulting functionality would be that it allows you to insert a story into a story.
Here’s one type of example, but there are other good reasons to break out a set of common story steps.
I have many support scenarios and some of them require a user’s ID number so the bot can go look up information related to their ID. There are other things you can do with the bot that don’t require the ID, so I don’t want to prompt the user for their ID, if I don’t need it.
I would like to have a fragment story like this:
## Prompt user for their ID number
> fragment_prompt_for_idnumber
- form_database_query_customer
- form{"name": "form_database_query_customer"}
- form{"name": null}
- utter_greet_first_name
I would like to be able to insert it into a larger story with >prompt_for_idnumber
like this -
## 003 Buyer issue happy path with done
* buyer
- utter_response_can_help
> fragment_prompt_for_idnumber
- utter_buyer_start
- buyer_form
- form{"name": "buyer_form"}
- form{"name": null}
- utter_anythingelse
* deny
- utter_in_that_case
- utter_goodbye
- utter_goodbye_signoff
- action_restart
* affirm
- utter_whatelse
Is there currently any way to do this?
My thoughts / hacky idea:
I could create my own custom syntax, write stories in another directory, and build a python script that munges over all of my stories and inserts the fragment code where it should go and produce a final robust stories.md file to train on.
I’m hoping there’s a better way and open to ideas