@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 itsai peer.
| Subpath | What you get |
|---|---|
@gaussia/sdk | Gaussia base class, Retriever and LanguageModel interfaces, Logger + silentLogger, exception hierarchy. |
@gaussia/sdk/schemas | Zod schemas for datasets, batches, generator output, and optimization results. |
@gaussia/sdk/adapters/ai-sdk | createAiSdkAdapter — wraps a Vercel AI SDK model as a LanguageModel. |
@gaussia/sdk/generators | BaseGenerator, context loaders, and selection strategies for synthetic datasets. |
@gaussia/sdk/prompt-optimizer | GEPAOptimizer, 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.