vendor: StringFormat, amount: NumberFormat(currency), status: SingleSelectFormat), evolved with add_column / rename_column / delete_column, and finally extended with two AI-generated columns — one filled by a Pipeline, one by an Agent.
You’ll end up with. A working pattern for both the static-schema and AI-fill paths, including a run_and_wait(...) call that triggers the generators on the rows you’ve inserted.
Stage 1 — seed a typed schema
Stage 2 — evolve the schema
Stage 3 — add an AI-filled column backed by a Pipeline
APipelineGenerator on a ColumnSpec binds a pipeline to that column. When you call table.run(columns=[...]), VectorShift runs the pipeline once per row, reading inputs from the other columns and writing the named output into the cell.
Stage 4 — add an AI-filled column backed by an Agent
AnAgentGenerator swaps the pipeline for a conversational Agent, with optional KnowledgeBase retrieval context. Same run / run_and_wait flow.
See also
ColumnFormat reference
Every format variant and its fields.
Generators in the overview
The mental model for AI-filled columns.
Aggregation + run
The polling shape of
run / run_and_wait.