Product / Ask
Ask questions in plain English, on your own data
Type a question the way you would ask a colleague. CLAIR answers from a real SQL query, a persisted model, or the document text it retrieved, and tells you which one it used.
The Northeast region has the highest average income, at$68,240.
| region | avg_income |
|---|---|
| Northeast | 68,240 |
| Midwest | 59,110 |
| South | 55,860 |
What it does
Ask is a chat box over your uploaded dataset. It answers row-listing questions ("show me every customer in Ohio"), aggregates ("what is the average final grade"), comparisons ("is EI Diff higher for engineers"), and open questions about documents you have imported, using retrieval over the text plus citations back to the rows it used. When Deep Analysis or Predict has already found what drives an outcome column, "what predicts X?" answers from that model directly instead of guessing.
Every answer is marked one of three ways: a green Verified badge when it came from deterministic SQL, a persisted model, or a rule-based computation; a softer "narrated from verified rows" state when the sentence is a one-line paraphrase of a real result; or a plain decline when CLAIR cannot ground the question in a real column or value.
How it works
A question is routed through a fixed order of checks before anything guesses. Deterministic shapes come first: a champion model from Deep Analysis, a Factor Finder ranking, a group comparison with a real significance test, then a table-mode row listing. If none of those match, a two-pass SQL planner asks the on-device model to write a SQL query, executes it through a read-only, single-statement safety gate, and narrates the result. If the plan calls for retrieval instead, or the SQL fails, CLAIR falls back to hybrid retrieval: a vector search and a full-text search over your documents, merged and fed to the model with citations attached.
A trust guard runs on every SQL answer before it can carry the Verified badge. It checks that a real schema column or a real value from the question is actually reflected in the query that ran, and separately checks the live table for a totals or rollup row before letting a bare sum or average verify. A query that drops a filter, a grouping, or references a value the column does not actually hold is refused rather than shipped with a checkmark on the wrong number.
Honest limits
- A question that needs two different datasets joined together is declined outright, naming the datasets, rather than answering from one dataset as if it covered both.
- A row listing is capped at 500 rows on screen; the two-pass SQL path caps a row query at 50. The full result still ships in a session export.
- When a question names a value a column does not actually contain, or asks for an average over a subgroup the data cannot positively confirm, CLAIR declines and says which term it could not map, rather than answering with the closest guess.
- A session export carries the real rows, not just the answer sentence: the HTML transcript and CSV carry every row, and the PowerPoint and PDF versions print a capped number of rows and state exactly how many were left out.
Related
Resumable AutoML that runs while your machine is idle.
A model for one outcome column, with a range, not just a number.
Background jobs that make chat and analysis sharper after upload.
Your files stay files. CLAIR tracks and refreshes them.
HTML, PowerPoint, PDF, and publication-ready figures.
Boards of charts and pinned findings, exported as one PDF.