Skip to main content

DatasetsManager

Added in: @mastra/core@1.4.0

The DatasetsManager class provides the public API for managing datasets, including CRUD operations and cross-dataset experiment comparisons. Access it via mastra.datasets.

Usage examples
Direct link to Usage examples

Create and list datasets
Direct link to Create and list datasets

src/mastra/datasets/manage.ts
import { Mastra } from '@mastra/core'

const mastra = new Mastra({
/* storage config */
})

// Create a dataset
const dataset = await mastra.datasets.create({
name: 'QA pairs',
description: 'Question-answer evaluation set',
})

// List all datasets
const { datasets } = await mastra.datasets.list()

Get and delete a dataset
Direct link to Get and delete a dataset

src/mastra/datasets/get-delete.ts
import { Mastra } from '@mastra/core'

const mastra = new Mastra({
/* storage config */
})

// Get by ID
const dataset = await mastra.datasets.get({ id: 'dataset-id' })

// Delete by ID
await mastra.datasets.delete({ id: 'dataset-id' })

Get experiment
Direct link to Get experiment

Retrieves a specific experiment (run) by ID. Unlike dataset.getExperiment(), this works across all datasets without needing a dataset reference first.

import { Mastra } from '@mastra/core'

const mastra = new Mastra({
/* storage config */
})

// Get experiment directly without knowing the dataset
const experiment = await mastra.datasets.getExperiment({
experimentId: 'exp-id',
})

console.log(`Dataset: ${experiment.datasetId}`)
console.log(`Status: ${experiment.status}`)

Compare experiments
Direct link to Compare experiments

src/mastra/datasets/compare.ts
import { Mastra } from '@mastra/core'

const mastra = new Mastra({
/* storage config */
})

const comparison = await mastra.datasets.compareExperiments({
experimentIds: ['exp-1', 'exp-2'],
baselineId: 'exp-1',
})

Access
Direct link to Access

DatasetsManager isn't instantiated directly. Access it from a Mastra instance:

const mastra = new Mastra({
/* storage config */
})
const datasetsManager = mastra.datasets