跳到主要内容

DatasetsManager.compareExperiments()

添加于: @mastra/core@1.4.0

比较两个或更多实验,生成按条目和按 Scorer 划分的比较结果。必须提供至少两个实验 ID。

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

import { Mastra } from '@mastra/core'

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

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

console.log(`Baseline: ${comparison.baselineId}`)

for (const item of comparison.items) {
console.log(`Item ${item.itemId}:`)
console.log(` Input: ${JSON.stringify(item.input)}`)

for (const [expId, result] of Object.entries(item.results)) {
if (result) {
console.log(
` ${expId}: output=${JSON.stringify(result.output)}, scores=${JSON.stringify(result.scores)}`,
)
}
}
}

参数
参数的直接链接

experimentIds:

string[]
要比较的实验 ID 数组。必须至少包含 2 个。

baselineId?:

string
基线实验的 ID。默认为 experimentIds 中的第一个 ID。

返回值
返回值的直接链接

如果提供的实验 ID 少于 2 个,则抛出 MastraError

result:

Promise<object>
比较结果。
object

baselineId:

string
用于比较的基线实验 ID。

items:

Array<object>
各条目的比较数据。
object

itemId:

string
数据集条目的 ID。

input:

unknown | null
条目的输入数据。

groundTruth:

unknown | null
条目的 ground truth。

results:

Record<string, { output: unknown; scores: Record<string, number | null> } | null>
以实验 ID 为键的结果。每个条目包含该实验的输出和 Scorer 结果。