A Video Demo (Step Up from Screenshots Last Time)
You can see me do a bunch of things in the following demo:
• See existing DB connections
• See various operations (show DB creds, edit, delete)
• Chat with a specific DB
• Generate SQL options from simple English prompt
• Execute SQL and show results
• Refine the SQL with more specific/pointed English prompt
What’s New
• Fixed various annoyances with the chat window: Enter key not working, scrollbar resetting on response, etc
• Earlier DB credentials were exposed in the listing page; now there’s a specific eye icon – which must be clicked to show any sensitive information
• I have a better testing setup now – with custom database, users, and so on. Will speed up development from now on due to the foundation.
Bugs and things learned
• With LLMs – I tried doing a bit of "vibe coding" that Karpathy talked about.
• It is important to commit/snapshot things as we vibe code, so that we can revert back to working state if things go wrong.
• LLMs get into loops and do the same errors again and again, and sometimes never seem to learn/improve. I have to jump in and fix things often.
• Had a pretty table come up once, but it was a hardcoded html from the LSP. So tried to dynamize it – for almost an hour. See above – the LLM went into a unproductive broken code loop. Had to set this challenge for another day.
• Found a bug with "Edit Connection". Maybe LLM interfered with my old code, but now, on clicking save, a new connection was created rather than updating old one.
• The "Show DB credentials" feature is not working reliably
• The "Add Connection" method via connection string is quite unfriendly. I want to give an LLM interface to add DBs. So you could paste pretty much anything, and it’ll collect the necessary information.
Conclusion
In this update, I’ve made some significant improvements to the DBChat tool, including fixing various annoyances with the chat window, improving the testing setup, and learning from the bugs and challenges encountered.
Frequently Asked Questions
Q: What is DBChat?
A: DBChat is a simple tool for using AI chat to explore and evolve databases.
Q: What is the purpose of DBChat?
A: The purpose of DBChat is to simplify the process of interacting with databases using a chat interface.
Q: How does DBChat work?
A: DBChat uses natural language processing and machine learning to understand user input and generate SQL queries, allowing users to explore and interact with their databases in a more intuitive and conversational way.