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

AxSignature

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L940

Type Parameters

Type ParameterDefault type
_TInput extends Record<string, any>Record<string, any>
_TOutput extends Record<string, any>Record<string, any>

Constructors

Constructor

new AxSignature<_TInput, _TOutput>(signature?: Readonly<
  | string
  | AxSignatureConfig
| AxSignature<Record<string, any>, Record<string, any>>>): AxSignature<_TInput, _TOutput>;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L969

Deprecated

Use AxSignature.create() for better type safety instead of the constructor. This constructor will be removed in v15.0.0.

Migration timeline:

Example

// Instead of: new AxSignature('userInput:string -> responseText:string')
// Use: AxSignature.create('userInput:string -> responseText:string')

Parameters

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

Returns

AxSignature<_TInput, _TOutput>

Methods

addInputField()

addInputField(field: Readonly<AxField>): void;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1130

Parameters

ParameterType
fieldReadonly<AxField>

Returns

void


addOutputField()

addOutputField(field: Readonly<AxField>): void;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1171

Parameters

ParameterType
fieldReadonly<AxField>

Returns

void


appendInputField()

appendInputField<K, T>(name: K, fieldType: T): AxSignature<_TInput & Record<K, InferFieldValueType<T>>, _TOutput>;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1273

Type Parameters

Type Parameter
K extends string
T extends AxFieldType

Parameters

ParameterType
nameK
fieldTypeT

Returns

AxSignature<_TInput & Record<K, InferFieldValueType<T>>, _TOutput>


appendOutputField()

appendOutputField<K, T>(name: K, fieldType: T): AxSignature<_TInput, _TOutput & Record<K, InferFieldValueType<T>>>;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1335

Type Parameters

Type Parameter
K extends string
T extends AxFieldType

Parameters

ParameterType
nameK
fieldTypeT

Returns

AxSignature<_TInput, _TOutput & Record<K, InferFieldValueType<T>>>


getDescription()

getDescription(): undefined | string;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1270

Returns

undefined | string


getInputFields()

getInputFields(): readonly AxIField[];

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1268

Returns

readonly AxIField[]


getOutputFields()

getOutputFields(): readonly AxIField[];

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1269

Returns

readonly AxIField[]


hasComplexFields()

hasComplexFields(): boolean;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1525

Returns

boolean


hash()

hash(): string;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1556

Returns

string


prependInputField()

prependInputField<K, T>(name: K, fieldType: T): AxSignature<Record<K, InferFieldValueType<T>> & _TInput, _TOutput>;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1288

Type Parameters

Type Parameter
K extends string
T extends AxFieldType

Parameters

ParameterType
nameK
fieldTypeT

Returns

AxSignature<Record<K, InferFieldValueType<T>> & _TInput, _TOutput>


prependOutputField()

prependOutputField<K, T>(name: K, fieldType: T): AxSignature<_TInput, Record<K, InferFieldValueType<T>> & _TOutput>;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1350

Type Parameters

Type Parameter
K extends string
T extends AxFieldType

Parameters

ParameterType
nameK
fieldTypeT

Returns

AxSignature<_TInput, Record<K, InferFieldValueType<T>> & _TOutput>


setDescription()

setDescription(desc: string): void;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1117

Parameters

ParameterType
descstring

Returns

void


setInputFields()

setInputFields(fields: readonly AxField[]): void;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1212

Parameters

ParameterType
fieldsreadonly AxField[]

Returns

void


setOutputFields()

setOutputFields(fields: readonly AxField[]): void;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1240

Parameters

ParameterType
fieldsreadonly AxField[]

Returns

void


toJSON()

toJSON(): object;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1560

Returns

object

NameType
descriptionundefined | string
idstring
inputFieldsAxIField[]
outputFieldsAxIField[]

toJSONSchema()

toJSONSchema(): AxFunctionJSONSchema;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1569

Returns

AxFunctionJSONSchema


toString()

toString(): string;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1558

Returns

string


validate()

validate(): boolean;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1535

Returns

boolean


create()

static create<T>(signature: T): AxSignature<ParseSignature<T>["inputs"], ParseSignature<T>["outputs"]>;

Defined in: https://github.com/ax-llm/ax/blob/b50783a160295ce34ac10dcaf3bd8fff4a01d535/src/ax/dsp/sig.ts#L1069

Static factory method for type inference. Creates a typed AxSignature instance from a signature string.

Type Parameters

Type Parameter
T extends string

Parameters

ParameterType
signatureT

Returns

AxSignature<ParseSignature<T>["inputs"], ParseSignature<T>["outputs"]>