Parse/deserialize domain.md in Java (or any other programming language)

Hi guys. I’m new here, so please be nice (: I’ve been working with Rasa for a few weeks now and thought that it might be helpful to build a small GUI tool to manage all the training and domain data, since there doesn’t seem to be a tool around, that does that in a way that actually helps.

My problem is, that the yaml notation of the Rasa domain file is pretty much shit. Writing a parser myself is beyond my capabilities ( I already did that for nlu.md and stories.md) and the libraries I’ve tried so far didn’t help me either. SnakeYAML for example only gives me an unbelievably ugly structure of nested LinkedHashMaps and ArrayList that makes it very hard to get to the actual data. Bc of that, I was also unable to map it to objects with the Jackson library.

So I guess here’s my question: has anybody found a way to effectively parse the Rasa domain.yaml so that you can work with the object structure of the file? Does anybody have an idea?

thought that it might be helpful to build a small GUI tool to manage all the training and domain data, since there doesn’t seem to be a tool around, that does that in a way that actually helps.

Can you clarify why you find Rasa X unhelpful with regards to managing training and domain data?

To be totally honest, I didn’t realize Rasa X had those functionalities. Its feature description mostly only seems to focus on the “review conversations, improve and deploy” part and since I’ve only been working/testing locally, I haven’t played around with it and only looked of third party alternatives. So if Rasa X actually includes a GUI for training and domain data management, thanks for the tip, that was news to me :slight_smile:

Try it out and let me know what you think :slight_smile: the domain is still yml, but the responses have their own, easier, way to manage them. You can train via the GUI and add and annotate training data in a nicer format as well :+1:

The easiest way to install is to get a Linux VM and use the https://rasa.com/docs/rasa-x/installation-and-setup/one-line-deploy-script/