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.