What are the best practices to "Chat with Database"?
I’m building a Knowledge Chatbot for one of my clients. It should take natural language queries and answer them based on data from a CSV file (or a database). So far I tried 2 solutions (both in LangChain): 1. Using a vector database (Qdrant) and splitting each row as a Document in the database. But the results were really poor. It didn’t find the right row based on a specific invoice number. 2. Using an SQL Agent. So I converted the csv into sqlite and created an SQL Agent. I tested the agent with various queries and the responses were surprisingly good! The agent understood my questions and translated them into SQL queries! So I’m already pretty happy with the results, but I need to ask… 1. What are the best practices to “Chat with Databases”? 2. Do such agents (like my SQL Agent) work well in production? What are the biggest limitations of this solution? I hope to get responses from people who’ve done similar projects for their clients! Thanks in advance for any help! Kris PS. @Dave Ebbelaar if you ever read it, I'll highly appreciate your take on this.