Skip to main content
The experiments client methods are currently in BETA. The API may change without notice. A one-time warning is emitted on first use.
An experiment is a set of task runs over a dataset, optionally scored by one or more evaluators. Each run is a row of user data: the SDK uses TaskFields to identify the example_id and output columns, and EvaluatorColumns to remap evaluator-result columns to the eval.<name>.<field> wire schema. The Get, Delete, and ListRuns methods accept either an experiment name or an ID — when a name is passed, Dataset (name or ID) is required, and Space (name or ID) is required when Dataset is also a name. Empty experiments are not allowed: Create requires at least one run, otherwise it returns experiments.ErrNoRuns.

List Experiments

List returns a paginated list of experiments. Dataset, when non-empty, accepts a dataset name or ID and restricts results to that dataset; Space is required when Dataset is a name. Signature:
Usage Example:

Get an Experiment

Get returns a single experiment, resolving by name or ID. Dataset is required when Experiment is a name; Space is required when Dataset is also passed as a name. Signature:
Usage Example:

Create an Experiment

Create creates a new experiment, resolving the parent dataset by name or ID. Each entry of Runs is a row of user data; TaskFields names the columns holding the dataset example ID and the task output (both required), and EvaluatorColumns optionally renames evaluator result columns to the eval.<name>.<field> wire schema. At least one run is required; an empty Runs slice returns experiments.ErrNoRuns without contacting the server. Signature:
Usage Example:

Append Runs

AppendRuns appends new runs to an existing experiment by ID and returns the updated experiment along with the generated IDs for the inserted runs in input order. Between 1 and 1000 runs may be appended per request; each ExperimentRunInput must include ExampleId and Output. Additional user-defined fields can be set via AdditionalProperties. Signature:
Usage Example:

Delete an Experiment

Delete removes an experiment, resolving by name or ID. Dataset is required when Experiment is a name; Space is required when Dataset is also passed as a name. It returns only an error. Signature:
Usage Example:

List Runs

ListRuns returns a paginated list of runs for an experiment, resolving the experiment by name or ID. Dataset is required when Experiment is a name; Space is required when Dataset is also passed as a name. Signature:
Usage Example: