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/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1116

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/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1145

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/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1309

Parameters

ParameterType
fieldReadonly<AxField>

Returns

void


addOutputField()

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

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

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/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1452

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/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1514

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/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1449

Returns

undefined | string


getInputFields()

getInputFields(): readonly AxIField[];

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1447

Returns

readonly AxIField[]


getOutputFields()

getOutputFields(): readonly AxIField[];

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1448

Returns

readonly AxIField[]


hasComplexFields()

hasComplexFields(): boolean;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1714

Returns

boolean


hash()

hash(): string;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1757

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/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1467

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/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1529

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/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1296

Parameters

ParameterType
descstring

Returns

void


setInputFields()

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

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1391

Parameters

ParameterType
fieldsreadonly AxField[]

Returns

void


setOutputFields()

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

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1419

Parameters

ParameterType
fieldsreadonly AxField[]

Returns

void


toJSON()

toJSON(): object;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1761

Returns

object

NameType
descriptionundefined | string
idstring
inputFieldsAxIField[]
outputFieldsAxIField[]

toJSONSchema()

toJSONSchema(): AxFunctionJSONSchema;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1770

Returns

AxFunctionJSONSchema


toString()

toString(): string;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1759

Returns

string


validate()

validate(): boolean;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1736

Returns

boolean


create()

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

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/dsp/sig.ts#L1248

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"]>