跳至主要內容

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 結果。