Synthetic Data¶
synthetic ¶
Provider-neutral synthetic QA dataset generation.
SourceDocument
dataclass
¶
SourceSpan
dataclass
¶
SyntheticQA
dataclass
¶
SyntheticQA(query: str, answer: str, source_spans: tuple[SourceSpan, ...] = (), confidence: float | None = None)
One provider-produced question, answer, and supporting provenance.
SyntheticGenerationRequest
dataclass
¶
SyntheticGenerationRequest(document: SourceDocument, count: int, seed: int)
Structured request sent to a synthetic QA provider.
SyntheticGenerationResponse
dataclass
¶
SyntheticGenerationResponse(items: tuple[SyntheticQA, ...], usage: tuple[UsageRecord, ...] = ())
Provider output with exact or estimated usage records.
SyntheticQAProvider ¶
Bases: Protocol
Generate typed QA pairs for one source document.
generate
async
¶
generate(request: SyntheticGenerationRequest) -> SyntheticGenerationResponse
SyntheticDatasetResult
dataclass
¶
SyntheticDatasetResult(dataset: EvaluationDataset, usage: tuple[UsageRecord, ...])
Generated evaluation dataset and provider usage.
SyntheticDatasetBuilder ¶
SyntheticDatasetBuilder(provider: SyntheticQAProvider, *, samples_per_document: int = 3, concurrency: int = 4, seed: int = 0, generator_version: str = 'unspecified')
Generate a validated dataset with bounded document concurrency.
Source code in src/tunarag/synthetic.py
generate
async
¶
generate(documents: Sequence[SourceDocument]) -> SyntheticDatasetResult
Generate and validate examples in source-document order.