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

AxGen

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

Extends

Extended by

Type Parameters

Type ParameterDefault type
INany
OUT extends AxGenOutany

Implements

Constructors

Constructor

new AxGen<IN, OUT>(signature: 
  | NonNullable<Readonly<string | AxSignature<Record<string, any>, Record<string, any>> | AxSignatureConfig> | undefined>
| AxSignature<any, any>, options?: Readonly<AxProgramForwardOptions<any>>): AxGen<IN, OUT>;

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

Parameters

ParameterType
signature| NonNullable<Readonly<string | AxSignature<Record<string, any>, Record<string, any>> | AxSignatureConfig> | undefined> | AxSignature<any, any>
options?Readonly<AxProgramForwardOptions<any>>

Returns

AxGen<IN, OUT>

Overrides

AxProgram.constructor

Methods

_forward1()

_forward1(
   ai: Readonly<AxAIService>, 
   values: IN | AxMessage<IN>[], 
options: Readonly<AxProgramForwardOptions<any>>): AxGenStreamingOut<OUT>;

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

Parameters

ParameterType
aiReadonly<AxAIService>
valuesIN | AxMessage<IN>[]
optionsReadonly<AxProgramForwardOptions<any>>

Returns

AxGenStreamingOut<OUT>


addAssert()

addAssert(fn: (values: Record<string, unknown>) => undefined | boolean | Promise<undefined | boolean>, message?: string): void;

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

Parameters

ParameterType
fn(values: Record<string, unknown>) => undefined | boolean | Promise<undefined | boolean>
message?string

Returns

void


addFieldProcessor()

addFieldProcessor(fieldName: string, fn: 
  | AxFieldProcessorProcess
  | AxStreamingFieldProcessorProcess): void;

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

Parameters

ParameterType
fieldNamestring
fn| AxFieldProcessorProcess | AxStreamingFieldProcessorProcess

Returns

void


addStreamingAssert()

addStreamingAssert(
   fieldName: string, 
   fn: (content: string, done?: boolean) => undefined | boolean, 
   message?: string): void;

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

Parameters

ParameterType
fieldNamestring
fn(content: string, done?: boolean) => undefined | boolean
message?string

Returns

void


addStreamingFieldProcessor()

addStreamingFieldProcessor(fieldName: string, fn: 
  | AxFieldProcessorProcess
  | AxStreamingFieldProcessorProcess): void;

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

Parameters

ParameterType
fieldNamestring
fn| AxFieldProcessorProcess | AxStreamingFieldProcessorProcess

Returns

void


forward()

forward<T>(
   ai: T, 
   values: IN | AxMessage<IN>[], 
options?: Readonly<AxProgramForwardOptionsWithModels<T>>): Promise<OUT>;

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

Type Parameters

Type Parameter
T extends Readonly<AxAIService<unknown, unknown, string>>

Parameters

ParameterType
aiT
valuesIN | AxMessage<IN>[]
options?Readonly<AxProgramForwardOptionsWithModels<T>>

Returns

Promise<OUT>

Implementation of

AxProgrammable.forward


getSignature()

getSignature(): AxSignature;

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

Returns

AxSignature

Implementation of

AxProgrammable.getSignature

Inherited from

AxProgram.getSignature


getTraces()

getTraces(): AxProgramTrace<IN, OUT>[];

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

Returns

AxProgramTrace<IN, OUT>[]

Implementation of

AxProgrammable.getTraces

Inherited from

AxProgram.getTraces


getUsage()

getUsage(): AxModelUsage & object[];

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

Returns

AxModelUsage & object[]

Implementation of

AxProgrammable.getUsage

Inherited from

AxProgram.getUsage


register()

register(prog: Readonly<AxTunable<IN, OUT> & AxUsable>): void;

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

Parameters

ParameterType
progReadonly<AxTunable<IN, OUT> & AxUsable>

Returns

void

Inherited from

AxProgram.register


resetUsage()

resetUsage(): void;

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

Returns

void

Implementation of

AxProgrammable.resetUsage

Inherited from

AxProgram.resetUsage


setDemos()

setDemos(demos: readonly AxProgramDemos<IN, OUT>[]): void;

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

Parameters

ParameterType
demosreadonly AxProgramDemos<IN, OUT>[]

Returns

void

Implementation of

AxProgrammable.setDemos

Inherited from

AxProgram.setDemos


setDescription()

setDescription(description: string): void;

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

Parameters

ParameterType
descriptionstring

Returns

void

Inherited from

AxProgram.setDescription


setExamples()

setExamples(examples: Readonly<AxProgramExamples<IN, OUT>>, options?: Readonly<AxSetExamplesOptions>): void;

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

Parameters

ParameterType
examplesReadonly<AxProgramExamples<IN, OUT>>
options?Readonly<AxSetExamplesOptions>

Returns

void

Implementation of

AxProgrammable.setExamples

Overrides

AxProgram.setExamples


setId()

setId(id: string): void;

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

Parameters

ParameterType
idstring

Returns

void

Implementation of

AxProgrammable.setId

Inherited from

AxProgram.setId


setParentId()

setParentId(parentId: string): void;

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

Parameters

ParameterType
parentIdstring

Returns

void

Implementation of

AxProgrammable.setParentId

Inherited from

AxProgram.setParentId


setSignature()

setSignature(signature: 
  | undefined
  | Readonly<
  | string
  | AxSignature<Record<string, any>, Record<string, any>>
  | AxSignatureConfig>): void;

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

Parameters

ParameterType
signature| undefined | Readonly< | string | AxSignature<Record<string, any>, Record<string, any>> | AxSignatureConfig>

Returns

void

Inherited from

AxProgram.setSignature


streamingForward()

streamingForward<T>(
   ai: T, 
   values: IN | AxMessage<IN>[], 
options?: Readonly<AxProgramStreamingForwardOptionsWithModels<T>>): AxGenStreamingOut<OUT>;

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

Type Parameters

Type Parameter
T extends Readonly<AxAIService<unknown, unknown, string>>

Parameters

ParameterType
aiT
valuesIN | AxMessage<IN>[]
options?Readonly<AxProgramStreamingForwardOptionsWithModels<T>>

Returns

AxGenStreamingOut<OUT>

Implementation of

AxProgrammable.streamingForward


updateMeter()

updateMeter(meter?: Meter): void;

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

Parameters

ParameterType
meter?Meter

Returns

void