-
Story
-
Resolution: Done
-
Normal
-
None
-
None
This Jira is about strategies that we can use to be able to work on different integrations without having multiple conflicts on the code/configuration files. That would make it really hard to work on them.
Configuration files
A first strategy is to separate the nlu/stores into multiple files. A propposed file tree is:
- data/{namespace}/{app}/nlu.yml
- data/{namespace}/{app}/stories.yml
- data/nlu.yml
- data/stories.yml
Where:
- nlu.yml (natural-learning understanding) will contain the intents and the examples used to train the bot to recognize this intent.
- stories.yml will contain the steps to trigger an action (if person say this intent, answer with this set of actions, etc)
- namespace is just a grouping, it could be console, insights, etc. We could extend this namespace to even be dir/subdir depending our needs.
- app is the name of the app/component that we are trying to leverage with the assistant
- top level files are "generic" data that could be used across all the apps - such as an intent to say hello/bye.
We would still need to test if we can place a domain.yml file on the same level. This file repeats the intents, has responses (utter) and other configuration. See the multiple domain files docs.
Regardless of that, we might need some tooling to create the intents and do some checkings to see that every intent is included.
Handling APIs
We would need to generate clients for the required APIs or handcraft the requests that we need.