How Kumo Tabular Works
Kumo Tabular is a pre-trained structured-data foundation model. Instead of training a task-specific model, you give it labelled rows and the rows you want scored, and it answers in one inference pass.
One request type, for every model
sdm-client builds one Request type for both a single-table question and a multi-table one. A Request is the wire envelope minus the two things that belong to the call rather than the question: which model answers it, and which output fields you want back. Kumo Tabular is simply the case where the schema has one table and no relationships — not a second system.
In-context prediction
A Request has two halves:
context— rows where the answer is already known. The model learns from these.predict— rows being asked about, including rows the model has never seen.
The rows being scored need not appear in the labelled half. That is the point: Kumo Tabular exists to score rows it has never seen, without a training step.
The task kind is stated, never guessed
Kumo Tabular’s NIM accepts only the coarse classification or regression task kind and resolves binary versus multiclass itself from the context. sdm-client sends classification as given and never narrows it — inferring binary-versus-multiclass from a column’s cardinality is a guess, and it is wrong exactly when a binary target looks categorical.
What Kumo Tabular can and cannot read
sdm-client also serves kumo-relational, for several related tables joined as a graph — in memory or sampled from a warehouse in place. The two models read a Request differently, so a request is gathered for one of them; naming KumoTabular() on a request gathered for the other is refused before anything is sent. This section covers the Kumo Tabular workflow only; see Kumo Relational.