Install custom components? (Training data)

I have my RASA server interacting with an external API, which issues retraining and reloading commands for new models.

I keep my NLU data on a db in json format for the ease of modifying it. Unfortunately, it looks like the endpoint /model/train of the HTTP API of RASA doesn’t take NLU data as json and requires markdown. Am I wrong?

In any case, my temporary solution is to use load_data from from rasa.nlu.training_data in order to convert the json to markdown before sending it to the server [I have tried other markdown converter libs, they don’t seem to work with RASA].

What I don’t like about this is that I have to have the entirety of RASA installed on that external server and 100s of MBs is way too much overhead for using just a simple function.

I am wondering if there is a way I could separate this functionality and install only that part. I looked into the source code, everything seems deeply interconnected. Is there some way to go around this? What is the least amount of megabytes I have to have in order to use load_data? :slight_smile:

Hi @haykharut, you’re right - the training endpoint requires NLU data in markdown format. There is unfortunately no way to only install the load_data function - you will need a full Rasa installation to do the conversion.

Would storing the training data in your database in markdown format instead be an option for you?

Sorry to hear that.

Well, I need to be able to modify the data dynamically and json comes in very handy. I don’t know if using markdown can afford the kind of flexibility as I have with json.

I’ll do some more thinking on the topic when I have the time, if I come up with good ideas, I will share them here.