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
多租户范围筛选条件(
organizationId、projectId),会转发到存储层。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
包含
total、page、perPage 和 hasMore 的分页元数据。