Documentation

Build LLM-powered agents
with production-ready TypeScript

DSPy for TypeScript. Working with LLMs is complex—they don't always do what you want. DSPy makes it easier to build amazing things with LLMs. Just define your inputs and outputs (signature) and an efficient prompt is auto-generated and used. Connect together various signatures to build complex systems and workflows using LLMs.

15+ LLM Providers
End-to-end Streaming
Auto Prompt Tuning

AxOptimizer

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L974

Type Parameters

Type ParameterDefault type
INany
OUT extends AxGenOutany

Methods

cancel()?

optional cancel(): Promise<void>;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L1024

Cancel ongoing optimization gracefully

Returns

Promise<void>

Promise that resolves when cancellation is complete


compile()

compile(
   program: Readonly<AxGen<IN, OUT>>, 
   metricFn: AxMetricFn, 
options?: AxCompileOptions): Promise<AxOptimizerResult<OUT>>;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L982

Optimize a program using the provided metric function

Parameters

ParameterTypeDescription
programReadonly<AxGen<IN, OUT>>The program to optimize (moved from constructor)
metricFnAxMetricFnEvaluation metric function to assess program performance
options?AxCompileOptionsOptional configuration options that can override constructor settings

Returns

Promise<AxOptimizerResult<OUT>>

Optimization result containing demos, stats, and configuration


compilePareto()?

optional compilePareto(
   program: Readonly<AxGen<IN, OUT>>, 
   metricFn: AxMultiMetricFn, 
options?: AxCompileOptions): Promise<AxParetoResult<OUT>>;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L1008

Multi-objective optimization using Pareto frontier

Parameters

ParameterTypeDescription
programReadonly<AxGen<IN, OUT>>The program to optimize
metricFnAxMultiMetricFnMulti-objective metric function
options?AxCompileOptionsOptional configuration options

Returns

Promise<AxParetoResult<OUT>>

Pareto optimization result


compileStream()?

optional compileStream(
   program: Readonly<AxGen<IN, OUT>>, 
   metricFn: AxMetricFn, 
options?: AxCompileOptions): AsyncIterableIterator<AxOptimizationProgress>;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L995

Optimize a program with real-time streaming updates

Parameters

ParameterTypeDescription
programReadonly<AxGen<IN, OUT>>The program to optimize
metricFnAxMetricFnEvaluation metric function
options?AxCompileOptionsOptional configuration options

Returns

AsyncIterableIterator<AxOptimizationProgress>

Async iterator yielding optimization progress


getConfiguration()?

optional getConfiguration(): Record<string, unknown>;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L1035

Get optimizer-specific configuration

Returns

Record<string, unknown>

Current optimizer configuration


getStats()

getStats(): AxOptimizationStats;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L1018

Get current optimization statistics

Returns

AxOptimizationStats

Current optimization statistics


reset()?

optional reset(): void;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L1029

Reset optimizer state for reuse with different programs

Returns

void


updateConfiguration()?

optional updateConfiguration(config: Readonly<Record<string, unknown>>): void;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L1041

Update optimizer configuration

Parameters

ParameterTypeDescription
configReadonly<Record<string, unknown>>New configuration to merge with existing

Returns

void


validateProgram()?

optional validateProgram(program: Readonly<AxGen<IN, OUT>>): object;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/dsp/optimizer.ts#L1048

Validate that the optimizer can handle the given program

Parameters

ParameterTypeDescription
programReadonly<AxGen<IN, OUT>>Program to validate

Returns

object

Validation result with any issues found

NameType
issuesstring[]
isValidboolean
suggestionsstring[]