What is YAC?
YAC lets you explore a dataset by asking questions in plain language. Each answer is a chart on a dashboard. The charts are linked: select a range or a category on one, and every other chart, count and table updates to match.
You can also refine a chart without typing a new question. The dropdowns under each chart in the conversation change the fields it uses, such as what it splits by or what it counts.
What happens when you ask
Section titled “What happens when you ask”- You type a question in the chat, for example “Compare survival from initial diagnosis between the two diagnosis cohorts.”
- The agent reads the dataset’s structure. That is the table and field names, their descriptions and the values a field takes. It does not see the rows themselves.
- It picks a chart. Charts come from a library of templates (see the chart gallery). The agent binds a template’s slots to the tables and fields that fit your question. When no template fits, it says why instead of drawing a chart that might be wrong.
- Your browser draws it. The data is loaded and filtered in your browser, so charts and filters respond without a round trip.
Besides charts, the agent can answer in text (for example, “What does each table in this dataset describe?”), add a filter, or ask which field you meant when a word in your question could match several.
The pieces
Section titled “The pieces”YAC has three parts, each published on its own:
- The chat (
udi-yacon npm): the app you see. It can be embedded in other sites. - The agent (
udiagenton PyPI): the server that turns a question into a chart, using a large language model. - The grammar (
udi-toolkiton npm): the chart format both sides share, and the component that renders it. The grammar pages have a tutorial, examples and a live editor.
To run or embed any of these, see Integrate.
- Get started: choose a dataset and ask your first question.
- Work with charts: tweak, filter, rearrange.
- Sessions: save your work and pick up where you left off.