Skip to main content
@gaussia/sdk is the TypeScript port of pygaussia, the Gaussia evaluation framework. It gives you the building blocks to evaluate LLM applications: a base evaluator, a retriever contract for loading datasets, a vendor-neutral language-model adapter, synthetic dataset generation, and GEPA prompt optimization. The SDK runs in Node and in modern browsers from the same source, and ships its public types as Zod schemas so values are validated at runtime and typed at compile time.

What you can do

Evaluate datasets

Subclass the Gaussia base class to score conversations batch by batch.

Plug in any model

Wrap a Vercel AI SDK model, or implement the LanguageModel contract for your own provider.

Generate datasets

Turn context documents into validated evaluation datasets.

Optimize prompts

Improve an underperforming system prompt against a dataset with GEPA.

How it fits together

The SDK is organized into subpath exports that mirror its module boundaries. You import only what you use, and a consumer importing the core package pulls in zero bytes from the optional adapter or its ai peer.
SubpathWhat you get
@gaussia/sdkGaussia base class, Retriever and LanguageModel interfaces, Logger + silentLogger, exception hierarchy.
@gaussia/sdk/schemasZod schemas for datasets, batches, generator output, and optimization results.
@gaussia/sdk/adapters/ai-sdkcreateAiSdkAdapter — wraps a Vercel AI SDK model as a LanguageModel.
@gaussia/sdk/generatorsBaseGenerator, context loaders, and selection strategies for synthetic datasets.
@gaussia/sdk/prompt-optimizerGEPAOptimizer, evaluators, and the Executor/Evaluator contracts.

Next steps

Install the SDK

Add the package and its peer dependencies.

Run your first evaluation

Score a small dataset end to end.