Question answering with an LLM on relational data is hard because the LLM does not know the business and data context. Current approaches are to use few-shot prompting and instructions.
This is a sample set up showing how to set up with US real estate data. With ~60 sample NL <> SQL pairs and ~5 instructions the accuracy gets pretty good. The agent does take ~90 seconds to answer each question though.