데이터 세트 개요
추가된 항목: @mastra/core@1.4.0
데이터세트는 Agent와 Workflow의 성능을 측정하기 위해 실험을 실행하는 테스트 사례 모음입니다. 각 돌연변이는 새로운 버전을 생성하므로 과거 실험을 정확하게 재현할 수 있습니다. 데이터세트를 다음과 페어링하세요.scorers 를 사용하여 Prompt, Model 또는 코드 변경 전반의 품질을 추적할 수 있습니다.
용법용법에 대한 직접 링크
스토리지 구성스토리지 구성에 대한 직접 링크
Mastra 인스턴스에서 스토리지를 구성합니다. 데이터 세트에는 다음을 제공하는 스토리지 어댑터가 필요합니다.datasets domain:
import { Mastra } from '@mastra/core'
import { LibSQLStore } from '@mastra/libsql'
export const mastra = new Mastra({
storage: new LibSQLStore({
id: 'my-store',
url: 'file:./mastra.db',
}),
})
데이터 세트 API에 액세스데이터 세트 API에 액세스에 대한 직접 링크
모든 데이터세트 작업은 다음을 통해 가능합니다.mastra.datasets:
const datasets = mastra.datasets
// Create a dataset
const dataset = await datasets.create({ name: 'my-dataset' })
// Retrieve an existing dataset
const existing = await datasets.get({ id: 'dataset-id' })
// List all datasets
const { datasets: all } = await datasets.list()
방문DatasetsManager reference for the full list of methods.
사진관사진관에 대한 직접 링크
다음에서 데이터 세트를 관리할 수도 있습니다.Studio. After opening Studio, select Datasets 를 사이드바에서 선택하여 사용 가능한 모든 데이터 세트를 확인하거나 새 데이터 세트를 생성하세요.
시작하려면 다음을 선택하세요.Create Dataset 를 선택하고 이름, 설명 및 선택적 스키마를 설정합니다. 확인하면 다음 두 개의 탭이 있는 데이터 세트 세부 정보 페이지가 표시됩니다: Items and Experiments.
에서Items 보기에서는 항목을 추가, 업데이트 및 삭제하고 버전 기록을 확인할 수 있습니다. Add Item 를 선택하여 입력과 정답을 위한 JSON 편집기로 새 항목을 삽입합니다. 이 보기에서는 CSV 또는 JSON 파일에서 항목을 대량으로 가져올 수도 있습니다. 가져올 때 각 열을 해당 데이터 세트 필드에 매핑하세요.
선택하다Versions 를 선택하여 데이터 세트의 전체 변경 기록을 확인합니다. Compare Versions, choose any two versions and select Compare 를 선택하여 해당 버전 간에 추가, 변경 또는 제거된 모든 항목의 차이를 나란히 확인합니다.
데이터세트 만들기데이터세트 만들기에 대한 직접 링크
부르다create() with a name and optional description:
import { mastra } from '../index'
const dataset = await mastra.datasets.create({
name: 'translation-pairs',
description: 'English to Spanish translation test cases',
})
console.log(dataset.id) // auto-generated UUID
스키마 정의스키마 정의에 대한 직접 링크
모양을 강제할 수 있습니다.input and groundTruth by passing a Standard JSON Schema (Zod, Valibot, ArkType, etc.) when creating the dataset:
import { z } from 'zod'
import { mastra } from '../index'
const dataset = await mastra.datasets.create({
name: 'translation-pairs',
inputSchema: z.object({
text: z.string(),
sourceLang: z.string(),
targetLang: z.string(),
}),
groundTruthSchema: z.object({
translation: z.string(),
}),
})
스키마와 일치하지 않는 항목은 삽입 시 거부됩니다.
항목 추가항목 추가에 대한 직접 링크
사용addItem() for a single item or addItems() to insert in bulk:
// Single item
await dataset.addItem({
input: { text: 'Hello', sourceLang: 'en', targetLang: 'es' },
groundTruth: { translation: 'Hola' },
})
// Bulk insert
await dataset.addItems({
items: [
{
input: { text: 'Goodbye', sourceLang: 'en', targetLang: 'es' },
groundTruth: { translation: 'Adiós' },
},
{
input: { text: 'Thank you', sourceLang: 'en', targetLang: 'es' },
groundTruth: { translation: 'Gracias' },
},
],
})
항목 업데이트 및 삭제항목 업데이트 및 삭제에 대한 직접 링크
updateItem(), deleteItem(), and deleteItems() let you modify or remove existing items by itemId:
await dataset.updateItem({
itemId: 'item-abc-123',
groundTruth: { translation: '¡Hola!' },
})
await dataset.deleteItem({ itemId: 'item-abc-123' })
await dataset.deleteItems({ itemIds: ['item-1', 'item-2'] })
항목 나열 및 검색항목 나열 및 검색에 대한 직접 링크
listItems()페이지 매김 및 전체 텍스트 검색을 지원합니다.
// Paginated list
const { items, pagination } = await dataset.listItems({
page: 0,
perPage: 50,
})
// Full-text search
const { items: matches } = await dataset.listItems({
search: 'Hello',
})
// Search and pagination can be combined with a specific version
const { items: v2Matches } = await dataset.listItems({
version: 2,
search: 'Hello',
page: 0,
perPage: 50,
})
// Version-only snapshot returns a bare DatasetItem[]
const v2Items = await dataset.listItems({ version: 2 })
버전 관리버전 관리에 대한 직접 링크
데이터세트 항목에 대한 모든 변형(추가, 업데이트 또는 삭제)으로 인해 데이터세트 버전이 변경됩니다. 이를 통해 데이터의 특정 스냅샷에 실험을 고정할 수 있습니다.
버전 나열버전 나열에 대한 직접 링크
사용listVersions() to see the paginated history of versions:
const { versions, pagination } = await dataset.listVersions()
for (const v of versions) {
console.log(`Version ${v.version} — created ${v.createdAt}`)
}
항목 내역 보기항목 내역 보기에 대한 직접 링크
호출을 통해 버전에 따라 특정 항목이 어떻게 변경되었는지 확인하세요.getItemHistory() with the itemId:
const history = await dataset.getItemHistory({ itemId: 'item-abc-123' })
for (const row of history) {
console.log(`Version ${row.datasetVersion}`, row.input, row.groundTruth)
}
버전에 고정버전에 고정에 대한 직접 링크
이전 버전에 존재했던 정확한 항목을 가져옵니다.
const items = await dataset.listItems({ version: 2 })
실험을 버전에 고정할 수도 있습니다.running experiments. Visit the Dataset reference 에서 전체 메서드 및 매개변수 목록을 확인하세요.