Point evaluate() at a Tracevell dataset
Wrap the dataset name in LaminarDataset and pass that as data.
- TypeScript
- Python
data, target, and metadata fields become the datapoint’s data, target, metadata, and the row’s task_id becomes its task id. Because the task id travels with the row, a run over take / select / shuffle of the dataset still compares cleanly against a full run.
LaminarDataset takes an optional fetchSize / fetch_size parameter controlling how many datapoints are fetched per network round-trip (default 25). For performance, set it to a multiple of the evaluation concurrency / batch size (default 5).Getting datapoints into the dataset
Three paths, in rough order of how often they get used:- Add from a trace. On any trace in Tracevell, click Add to dataset. This is how you turn production failures into regression fixtures. See Adding data.
- Upload a CSV or JSONL. Useful for bootstrapping with external data.
- Push via the SDK. See the client reference for
LaminarClient.datasets.
Custom dataset sources
If the data lives somewhere Tracevell doesn’t own (a production database, an S3 bucket, a remote API), extendEvaluationDataset and implement two methods: size and get.
- TypeScript
- Python
Dataset. Tracevell’s evaluation runner calls size() once, then get(i) for every index, and fans execution out in parallel.
Export evaluator outputs back into a dataset
After an evaluation completes, you can turn any subset of its rows into a new dataset. From the SQL editor, write a query againstevaluation_trials or spans, then click Export to Dataset. That dataset becomes your regression set for the next iteration of the prompt or model.
Next steps
Compare runs
Keep the dataset constant so comparisons across runs are apples-to-apples.
Datasets overview
How datasets are modelled in Tracevell and how to populate them.
SDK reference
Full parameters for
evaluate, LaminarDataset, and EvaluationDataset.