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

AxPromptTemplate

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

Constructors

Constructor

new AxPromptTemplate(
   sig: Readonly<AxSignature>, 
   options?: Readonly<AxPromptTemplateOptions>, 
   fieldTemplates?: Record<string, AxFieldTemplateFn>): AxPromptTemplate;

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

Parameters

ParameterType
sigReadonly<AxSignature>
options?Readonly<AxPromptTemplateOptions>
fieldTemplates?Record<string, AxFieldTemplateFn>

Returns

AxPromptTemplate

Methods

render()

render<T>(values: T | readonly AxMessage<T>[], __namedParameters: Readonly<{
  demos?: Record<string, AxFieldValue>[];
  examples?: Record<string, AxFieldValue>[];
  skipSystemPrompt?: boolean;
}>): (
  | {
  cache?: boolean;
  content: string;
  role: "system";
}
  | {
  content:   | string
     | (
     | {
     cache?: boolean;
     text: string;
     type: "text";
   }
     | {
     altText?: string;
     cache?: boolean;
     details?: "high" | "low" | "auto";
     image: string;
     mimeType: string;
     optimize?: "auto" | "quality" | "size";
     type: "image";
   }
     | {
     cache?: boolean;
     data: string;
     duration?: number;
     format?: "wav" | "mp3" | "ogg";
     transcription?: string;
     type: "audio";
   }
     | {
     cache?: boolean;
     data: string;
     extractedText?: string;
     filename: string;
     mimeType: string;
     type: "file";
   }
     | {
     cache?: boolean;
     cachedContent?: string;
     description?: string;
     title?: string;
     type: "url";
     url: string;
   })[];
  name?: string;
  role: "user";
}
  | {
  cache?: boolean;
  content?: string;
  functionCalls?: object[];
  name?: string;
  role: "assistant";
})[];

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

Type Parameters

Type ParameterDefault type
Tany

Parameters

ParameterType
valuesT | readonly AxMessage<T>[]
__namedParametersReadonly<{ demos?: Record<string, AxFieldValue>[]; examples?: Record<string, AxFieldValue>[]; skipSystemPrompt?: boolean; }>

Returns

( | { cache?: boolean; content: string; role: "system"; } | { content: | string | ( | { cache?: boolean; text: string; type: "text"; } | { altText?: string; cache?: boolean; details?: "high" | "low" | "auto"; image: string; mimeType: string; optimize?: "auto" | "quality" | "size"; type: "image"; } | { cache?: boolean; data: string; duration?: number; format?: "wav" | "mp3" | "ogg"; transcription?: string; type: "audio"; } | { cache?: boolean; data: string; extractedText?: string; filename: string; mimeType: string; type: "file"; } | { cache?: boolean; cachedContent?: string; description?: string; title?: string; type: "url"; url: string; })[]; name?: string; role: "user"; } | { cache?: boolean; content?: string; functionCalls?: object[]; name?: string; role: "assistant"; })[]


renderExtraFields()

renderExtraFields(extraFields: readonly AxIField[]): (
  | {
  cache?: boolean;
  text: string;
  type: "text";
}
  | {
  altText?: string;
  cache?: boolean;
  details?: "high" | "low" | "auto";
  image: string;
  mimeType: string;
  optimize?: "auto" | "quality" | "size";
  type: "image";
}
  | {
  cache?: boolean;
  data: string;
  duration?: number;
  format?: "wav" | "mp3" | "ogg";
  transcription?: string;
  type: "audio";
}
  | {
  cache?: boolean;
  data: string;
  extractedText?: string;
  filename: string;
  mimeType: string;
  type: "file";
}
  | {
  cache?: boolean;
  cachedContent?: string;
  description?: string;
  title?: string;
  type: "url";
  url: string;
})[];

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

Parameters

ParameterType
extraFieldsreadonly AxIField[]

Returns