4 ms·
If you're interested in the SQL component of this, we're building a product strictly focused on that at https://www.definite.app/ https://www.definite.app/. We
by mritchie712 3y ago
If you're interested in the SQL component of this, we're building a product strictly focused on that at https://www.definite.app/ https://www.definite.app/. We let non-technical users ask questions of their SQL database. We do this by:
1. Pulling in your schema information and structuring it in a way LLM's can reason about it
2. Pulling in your prior query history against the database to understand how you actually use your data (e.g. what JOIN's are common, what tables are used most frequently, etc.)
3. Adding context from other tools you may be using (e.g. we can pull in metadata and tests from your dbt project)
We also have a Slackbot you can add to your #urgent-data-requests channel. If you @Definite in a thread, it'll parse out messages that can be converted to SQL tasks and return the answer from your database.
You could certainly build this yourself with (or without) LlamaIndex, but it's still quite a bit of work to set up.
- totalhack 3y agoJust to throw it out there, an alternative approach is to have the AI talk to a semantic layer. There are pros and cons to this and in practice you'd probably want an agent that can intelligently decide whether to call your semantic layer or go through some other process that may involve multiple queries, function calls, etc. IMO a semantic layer makes it so easy to query that natural language querying is often not beneficial, even for business users. I take a hybrid approach of the semantic layer solving >95% of use cases and custom SQL as needed in backend processing. https://github.com/totalhack/zillion https://github.com/totalhack/zillion
- mritchie712 3y agoI like the concept of a semantic layer, but I haven't seen strong adoption of any of them (outside of LookML within Looker). Most of the companies I've talked to that are heavy dbt users don't use their semantic layer, but maybe that will change as the products mature!
- lmeyerov 3y agoWe are seeing similar for Louie.ai . Data catalog yes, semantic no. We are also doing a lot of non-SQL like logs DBs (SIEMs) and graph DBs, which adds even more fun to that kind of question. My hypothesis here is that "semantic layer is to semantic web as LLM + vector search over activity is to Google/pagerank": easier to let the machines figure it out. We use knowledge graphs in some of our work, so definitely not disputing the value when people do put in the effort. Wrt llmindex, the new tools like vector dbs & llmindex have been interesting. Fine-ish for our self-hosted, but most start getting tricky when a multi-tenant SaaS where we lower costs for teams and users by sharing infra yet need sharing boundaries.
- PerihelionCT 3y agoI'm working on something that I believe has a similar to approach to what you're describing, particularly with the use of the semantic layer that AI talks to. Would love to connect sometime if you're open to trading notes? See profile for contact info, thx!
- wanderingmind 3y agoDo you have your source and model open? Its hard to use a AI service to give any type of access to prod DB without understanding the underlying code and models
- mritchie712 3y agoTotally understand the concern. We're not open source yet, but working towards that as the open source LLMs improve. We're SOC2 compliant which has been enough for many companies to get comfortable with security / data handling practices.
- kulikalov 3y agoI’ve built a similar solution around BigQuery. I used temporary tables to let user iterate over the data instead of writing huge analytics queries. I would open source it if I had decent experience with OSS. If anyone with OSS maintainer experience wants to help with that - ping me.
- sheepscreek 3y agoThat's really neat. I'll take you up on that. Will reach out to your HN profile email.
- greatpostman 3y agoI built this in like one day for a pretty complex project, there’s no moat on this idea
- kulikalov 3y agoTechnically, one can say the same about any devops services out there, for instance. Makes more sense to opensource it. Still, would you mind sharing the use case and the outcome? I have a couple of clients interested in similar solutions, but so far the potential outcome of this approach doesn't look promising.
- splatzone 3y agoWith respect, it’s all in the quality of the execution. Care to share your version?
- Art9681 3y agoYou should try building a bridge. Moats are a pitfall, literally.
- mritchie712 3y agothanks, giving up now.
- chaxor 3y agoSame is true for slack, since suc apparently does it in 5 lines.
- vinodvarma24 3y agoSimilar plug here: https://talktodata.ai/ https://talktodata.ai/ We building a natural language chat interface for structured data. It can handle small csv files to large databases(500+ tables) seamlessly.