nlqdb

Solve · Analysts and PMs

How do I run natural-language queries on a database without training a model on my schema?

If you want English → SQL on your data but don't want to maintain a training corpus or RAG layer, point `<nlq-data>` at your goal — nlqdb prompts directly from the live schema fingerprint, caches the plan, and shows the compiled SQL so you can verify before trusting it.

Text-to-SQL tools commonly assume you'll curate training examples, embed schema docs, or fine-tune on prior queries. That's the right shape for a long-lived analytical estate, but it's overhead for a small team that wants "who are my top customers this week?" answered now and "what changed?" answered next month — without keeping a training loop alive.

The snippet that solves it.

> feedback from the last 24 hours grouped by channel

What nlqdb does for this

  • Plans are content-addressed on `(goal-fingerprint, schema-hash)` (`GLOBAL-006`); a cache hit returns in single-digit ms and avoids a model call entirely.
  • Quality is measured against BIRD Mini-Dev + Spider 2.0-lite and published to `docs/features/quality-eval/` — the numbers are visible, not asserted.
  • Every reply renders the compiled SQL under a `Cmd+/` trace toggle (`SK-WEB-005`); you audit before you trust.

Drop into any HTML page

<nlq-data goal="feedback from the last 24 hours grouped by channel"></nlq-data>

The query an ad-hoc analyst would run from a fresh schema is the no-training-data sweet spot — schema fingerprint + recent-tables hint is enough.

What this replaces

What nlqdb doesn't try to do here

  • No retrieval-augmented training corpus — if you have years of curated query examples and want a tool that exploits them, Vanna AI's training loop is the right shape.
  • No support today for bring-your-own-Postgres — nlqdb owns the Postgres it queries; existing databases are not yet a supported input.

Questions buyers ask

Is nlqdb's natural-language accuracy comparable to fine-tuned text-to-SQL?
We publish BIRD Mini-Dev + Spider 2.0-lite scores to `docs/features/quality-eval/`. They are still climbing toward our public target and the numbers are visible rather than asserted — measurement is honest, not a marketing claim.
Do I need to write training examples like Vanna AI requires?
No. nlqdb prompts directly from the live schema fingerprint plus a recent-tables hint — there is no per-tenant training corpus you maintain. The equivalent of training is the plan cache, which is automatic.
How does the system avoid wrong SQL on a complex schema?
Three guardrails: (1) the SQL validator allowlists the verbs the orchestrator may emit (`docs/features/sql-allowlist/FEATURE.md`); (2) destructive operations show a row-count diff and require second confirmation (`SK-ONBOARD-004`); (3) the trace toggle surfaces the SQL so the analyst can audit before applying.
Can I see the SQL nlqdb generated?
Always — every chat reply and every `<nlq-data>` render includes a collapsible trace block (`SK-WEB-005`). The SQL is the audit surface; we never hide it behind the answer.

Where this pain shows up in public

Enduring discussion hubs where you can verify the theme without taking our word for it. We don't quote individual posts; we cite search-result and subreddit URLs that stay live as new threads land.

Try nlqdb in 30 seconds

No sign-in. The anonymous database lasts 72 hours; adopt it with one click if you keep it.

Start with a goal →

Looking at this from a different angle? Browse all solve pages or browse competitor comparisons.