# Dataset Class **Added in:** `@mastra/core@1.4.0` The `Dataset` class provides methods for item CRUD, versioning, and experiment management on a single dataset. Obtained via `mastra.datasets.get()` or `mastra.datasets.create()`. ## Usage examples ### Add items and run an experiment ```typescript import { Mastra } from "@mastra/core"; const mastra = new Mastra({ /* storage config */ }); const dataset = await mastra.datasets.create({ name: "QA pairs", }); // Add items await dataset.addItems({ items: [ { input: { question: "What is AI?" }, groundTruth: { answer: "Artificial Intelligence" } }, { input: { question: "What is ML?" }, groundTruth: { answer: "Machine Learning" } }, ], }); // Run an experiment const summary = await dataset.startExperiment({ targetType: "agent", targetId: "my-agent", scorers: ["accuracy"], }); console.log(`${summary.succeededCount}/${summary.totalItems} succeeded`); ``` ### Manage versions and history ```typescript import { Mastra } from "@mastra/core"; const mastra = new Mastra({ /* storage config */ }); const dataset = await mastra.datasets.get({ id: "dataset-id" }); // List versions const { versions } = await dataset.listVersions(); // List items at a specific version const items = await dataset.listItems({ version: 2 }); // Get item change history const history = await dataset.getItemHistory({ itemId: "item-id" }); ``` ## Access `Dataset` is not instantiated directly. Obtain one via `DatasetsManager`: ```typescript const dataset = await mastra.datasets.get({ id: "dataset-id" }); // or const dataset = await mastra.datasets.create({ name: "My dataset" }); ``` ## Properties For the full dataset record (name, description, schemas, version, timestamps), call [`dataset.getDetails()`](https://mastra.ai/reference/datasets/getDetails). **id:** (`string`): The unique identifier of the dataset. Read-only. ## Related - [DatasetsManager class](https://mastra.ai/reference/datasets/datasets-manager) - [dataset.startExperiment()](https://mastra.ai/reference/datasets/startExperiment) - [dataset.addItems()](https://mastra.ai/reference/datasets/addItems) - [dataset.listVersions()](https://mastra.ai/reference/datasets/listVersions)