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

AxAIOpenAIChatRequest

type AxAIOpenAIChatRequest<TModel> = object;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L102

Type Parameters

Type Parameter
TModel

Properties

frequency_penalty?

optional frequency_penalty: number;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L186


logit_bias?

optional logit_bias: Map<string, number>;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L187


max_completion_tokens?

optional max_completion_tokens: number;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L179


messages

messages: (
  | {
  content: string;
  role: "system";
}
  | {
  content:   | string
     | (
     | {
     text: string;
     type: string;
   }
     | {
     image_url: {
        details?: ...;
        url: ...;
     };
     type: "image_url";
   }
     | {
     input_audio: {
        data: ...;
        format?: ...;
     };
     type: "input_audio";
   }
     | {
     file: {
        file_data: ...;
        filename: ...;
     };
     type: "file";
   })[];
  name?: string;
  role: "user";
}
  | {
  content:   | string
     | {
     text: string;
     type: string;
   };
  name?: string;
  role: "assistant";
}
  | {
  content?:   | string
     | {
     text: string;
     type: string;
   };
  name?: string;
  role: "assistant";
  tool_calls: object[];
}
  | {
  content: string;
  role: "tool";
  tool_call_id: string;
})[];

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L106


model

model: TModel;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L103


n?

optional n: number;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L182


organization?

optional organization: string;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L189


presence_penalty?

optional presence_penalty: number;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L185


reasoning_effort?

optional reasoning_effort: "low" | "medium" | "high";

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L104


response_format?

optional response_format: object;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L178

type

type: string;

stop?

optional stop: readonly string[];

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L184


store?

optional store: boolean;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L105


stream?

optional stream: boolean;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L183


temperature?

optional temperature: number;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L180


tool_choice?

optional tool_choice: 
  | "none"
  | "auto"
  | "required"
  | {
  function: {
     name: string;
  };
  type: "function";
};

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L173


tools?

optional tools: object[];

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L165

function

{
  description: string;
  name: string;
  parameters?: object;
}

type

type: "function";

top_p?

optional top_p: number;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L181


user?

optional user: string;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L188


web_search_options?

optional web_search_options: object;

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/openai/chat_types.ts#L190

search_context_size?

optional search_context_size: "low" | "medium" | "high";

user_location?

optional user_location: 
  | {
  approximate: {
     city?: string;
     country?: string;
     region?: string;
     timezone?: string;
     type: "approximate";
  };
}
  | null;