Trying to choose a model for converting natural language to structured queries/output

Hi all,

I am an absolute beginner and am only getting exposed to the various types of models available on the platform. Im looking for one that can convert natural language to usable json outputs which I can programmatically read.

Here are some examples of how I’d expect it to work:

Input: Generate a structured query for: I would like to see Victor Thompson become a part of our platform with the email victor.thompson@site.net.
Response: "{'action': 'addUser', 'data': {'name': 'Victor Thompson', 'email': 'victor.thompson@site.net'}}"

Input: Generate a structured query for:  I need you to add a new user named Steve King with email steve.king@digitalzone.net.
Response: "{'action': 'addUser', 'data': {'name': 'Steve King', 'email': 'steve.king@digitalzone.net'}}"

Input: Generate a structured query for: Ensure that Grace Parker is added to our database with their email grace.parker@internetportal.com.
Response: "{'action': 'addUser', 'data': {'name': 'Grace Parker', 'email': 'grace.parker@internetportal.com'}}"

Input: Generate a structured query for: I request the addition of Frank Edwards as a new user with email frank.edwards@online.net.
Response: "{'action': 'addUser', 'data': {'name': 'Frank Edwards', 'email': 'frank.edwards@online.net'}}"

Input: Generate a structured query for: Ensure that Carol Clark is added to our database with their email carol.clark@online.net.
Response:"{'action': 'addUser', 'data': {'name': 'Carol Clark', 'email': 'carol.clark@online.net'}}"

Input: Generate a structured query for: Can you swiftly set up a user named Paul Garcia with email paul.garcia@service.net?
Response"{'action': 'addUser', 'data': {'name': 'Paul Garcia', 'email': 'paul.garcia@service.net'}}"

Having read as much as I could the closest thing I could find to a recommendation on an an approach was to try seq2seq models.

I began by trying this one: t5-small · Hugging Face , I tried my best to vary up the training parameters, learning rate, batch sizes and number of epochs, I also tried with large datasets and small datasets (with mixed variations between training and test data) , I made sure to use the prefix in both training and evaluation. However the closest I could get to a correct response was:

{'action': 'addUser', 'data': '''}

And this was with testing the exact data from the training data.

I would like to explore different models now but I just wondering what are the next steps to take in this journey? I was going to simply begin to do a trial and error with other ones, but it feels also like I am not learning anything, most importantly the question of why.

Thank you!