How it works
- Each source row has a unique ID (database primary key, row number, etc.)
- Store that ID as
external_idin the datapoint’smetadata - On each sync run, compare source rows to existing datapoints by
external_id - Create, update, or delete as needed
We’re building native dataset sync into the SDK to make this easier. In the meantime, the pattern below works well.
Sync script
Adapt theinputs and ground_truth mapping to match your data schema.
Skip unchanged rows with hashing
The script above updates every matched row, even if nothing changed. For large datasets, add a content hash to skip unnecessary API calls.Track dataset versions
You can keep a version manifest alongside your sync script to track what changed and when.Automate with CI/CD
Run the sync whenever your dataset source changes. For example, if your test cases live in a JSON file in your repo, trigger the sync on push:Related
Run with HoneyHive Datasets
Evaluate your AI against the synced dataset
Upload datasets
One-time upload via UI or SDK
Export datasets
Export datapoints for external use
Manage as code
Define datasets and evaluators in
.honeyhive/ and apply with the CLI
