2025 / Retrieval system, public sector
Toronto Open Data Assistant
Residents ask a plain question. The system finds the right dataset, reads it, and answers with the numbers and the source next to each other.
The hard part was never the model. It was ranking, chunk boundaries, and knowing when to say the data does not cover this.
why it exists
Residents cannot tell which of the city's 400 open datasets contains the number they need.
how it works
A ranking layer selects the right table before any reading begins; the model answers only what the data actually contains.
how it looks
A civic query console: question, ranked dataset list, numbered answer with highlighted source rows.
StackRAG, vector search, Python, React
OutcomeFirst place, internal innovation challenge