The model writes the query, never sees the data
The application is always the side that touches the database. What the model produces is a verifiable query definition, not a result set.
Natural language in, deterministic execution out
Users ask in their own words; the query runs deterministically inside the application, with schema guards and enforced pagination. The language model never touches the data.
What it does
Natural language querying is not a new promise; the problem is that nobody knows in advance what the generated query will do. Qlery puts a contract in the middle: the sentence is first translated into a constrained query language, and that language executes deterministically. The model proposes what the query is, the application decides what it returns.
query console
Pick a question and watch the sentence drop into a constrained query language, the execution decision, and the result. The third one tries to change the schema.
How it works
Free text is reduced to an intermediate language with a fixed set of fields and operators — readable and, more importantly, verifiable.
That intermediate form compiles down to the application's own query layer. Queries that change the shape of the schema or ask for unexpected projections are rejected.
Marking an existing endpoint is enough: pagination, length limits and the schema guard all come into effect.
One wire format across .NET, React, Python, Kotlin and Node, held in place by a shared cross-language conformance suite.
Highlights
The application is always the side that touches the database. What the model produces is a verifiable query definition, not a result set.
Unexpected projections or unbounded result sets fail with an error. Table safety is the default, not a setting somebody has to remember.
The same contract is packaged for .NET, React, Python, Kotlin and Node, so teams stay in the stack they already use.
Natural language
top 5 devices by message count in the last 24h
Q-DSL
where ts > now() - 24hcount by deviceorderby count desclimit 5
Execution
schema guard passed · window 24h
Result
The query ran in the application's own query layer. The language model never touched the data.