跳到主要内容

dataset.listExperiments()

添加于: @mastra/core@1.4.0

列出此数据集的实验(运行),并支持可选筛选条件和分页。筛选在存储层应用,因此结果始终限定在当前数据集内。

使用示例
使用示例的直接链接

import { Mastra } from '@mastra/core'

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

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

// Basic pagination
const { experiments, pagination } = await dataset.listExperiments({ page: 0, perPage: 10 })

// Filter to a specific agent version — useful for baseline vs variant comparisons
const { experiments: v2Runs } = await dataset.listExperiments({
targetType: 'agent',
targetId: 'my-agent',
agentVersion: 'v2',
status: 'completed',
})

for (const exp of experiments) {
console.log(`${exp.id}: ${exp.status} (${exp.succeededCount}/${exp.totalItems})`)
}

参数
参数的直接链接

targetType?:

'agent' | 'workflow' | 'scorer' | 'processor'
仅保留针对这种目标类型运行的实验。

targetId?:

string
仅保留针对这个目标 ID 运行的实验。

agentVersion?:

string
仅保留针对这个 Agent 版本记录的实验。适用于区分基线运行和变体运行。

status?:

'pending' | 'running' | 'completed' | 'failed'
仅保留处于此状态的实验。

filters?:

ExperimentTenancyFilters
多租户范围筛选条件(organizationIdprojectId),会转发到存储层。

page?:

number
页码。默认为 0

perPage?:

number
每页的实验数。默认为 20

返回值
返回值的直接链接

result:

Promise<object>
分页的实验列表。
object

experiments:

Experiment[]
实验记录数组。
Experiment

id:

string
实验的唯一 ID。

name?:

string
显示名称。

description?:

string
描述。

metadata?:

Record<string, unknown>
任意元数据。

datasetId:

string
父数据集的 ID。

datasetVersion:

number | null
实验所用的数据集版本。

targetType:

'agent' | 'workflow' | 'scorer' | 'processor'
所用目标的类型。

targetId:

string
所用目标的 ID。

status:

'pending' | 'running' | 'completed' | 'failed'
实验的当前状态。

totalItems:

number
条目总数。

succeededCount:

number
成功的条目数。

failedCount:

number
失败的条目数。

skippedCount:

number
跳过的条目数。

startedAt:

Date | null
实验开始时间。

completedAt:

Date | null
实验完成时间。

createdAt:

Date
实验记录的创建时间。

updatedAt:

Date
实验记录的最后更新时间。

pagination:

PaginationInfo
包含 totalpageperPagehasMore 的分页元数据。