跳至主要內容

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 的分頁元資料。