DatasetsManager.compareExperiments()
新增於: @mastra/core@1.4.0
比較兩個或以上的實驗,並產生每個項目及每個評分器的比較結果。必須提供至少兩個實驗 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 陣列,必須包含至少兩個 ID。
baselineId?:
string
基準實驗的 ID。預設為
experimentIds 中的第一個 ID。傳回值傳回值 的直接連結
如果提供少於兩個實驗 ID,便會拋出 MastraError。
result:
Promise<object>
比較結果。
object
baselineId:
string
用於比較的基準實驗 ID。
items:
Array<object>
各項目的比較資料。
object
itemId:
string
資料集項目的 ID。
input:
unknown | null
項目的輸入資料。
groundTruth:
unknown | null
項目的基準答案。
results:
Record<string, { output: unknown; scores: Record<string, number | null> } | null>
以實驗 ID 為鍵的結果。每個項目包含該實驗的輸出及評分器結果。