dataset

package
v1.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package dataset provides utilities for loading, generating, and sampling test case data from various formats.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Sample

func Sample(cases []*testcase.Case, n int) []*testcase.Case

Sample randomly selects n cases from the given slice. If n >= len(cases), all cases are returned (in shuffled order).

func ToCases

func ToCases(data []CaseData, converter func(CaseData) *testcase.Case) []*testcase.Case

ToCases converts dataset entries to test cases for a given suite.

Types

type CaseData

type CaseData struct {
	Name     string         `json:"name"`
	Input    string         `json:"input"`
	Expected string         `json:"expected,omitempty"`
	Tags     []string       `json:"tags,omitempty"`
	Context  map[string]any `json:"context,omitempty"`
}

CaseData is the serialisation format for dataset entries.

func LoadCSV

func LoadCSV(data []byte) ([]CaseData, error)

LoadCSV loads test case data from CSV. Expected columns: name, input, expected.

func LoadJSON

func LoadJSON(data []byte) ([]CaseData, error)

LoadJSON loads test case data from a JSON array.

func LoadJSONL

func LoadJSONL(data []byte) ([]CaseData, error)

LoadJSONL loads test case data from JSON Lines format.

type GenerateConfig

type GenerateConfig struct {
	Description string
	Count       int
	Domain      string
	Difficulty  string
}

GenerateConfig configures LLM-based test case generation.

type LLMGenerator

type LLMGenerator struct {
	Client scorer.LLMClient
	Model  string
}

LLMGenerator creates test cases using an LLM.

func NewLLMGenerator

func NewLLMGenerator(client scorer.LLMClient, model string) *LLMGenerator

NewLLMGenerator creates an LLM-based dataset generator.

func (*LLMGenerator) Generate

func (g *LLMGenerator) Generate(ctx context.Context, cfg *GenerateConfig) ([]CaseData, error)

Generate creates test cases using the LLM.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL