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

AxAIServiceOptions

type AxAIServiceOptions = object;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L572

Properties

abortSignal?

optional abortSignal: AbortSignal;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L581


contextCache?

optional contextCache: AxContextCacheOptions;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L606

Explicit context caching options. When enabled, large prompt prefixes can be cached for cost savings and lower latency. Currently supported by: Google Gemini/Vertex AI


corsProxy?

optional corsProxy: string;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L598


customLabels?

optional customLabels: Record<string, string>;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L618

Custom labels to include in OpenTelemetry metrics. These labels are merged with axGlobals.customLabels (service-level overrides global).


debug?

optional debug: boolean;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L573


debugHideSystemPrompt?

optional debugHideSystemPrompt: boolean;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L584


examplesInSystem?

optional examplesInSystem: boolean;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L612

When true, examples/demos are embedded in system prompt (legacy). When false (default), they are rendered as alternating user/assistant message pairs.


excludeContentFromTrace?

optional excludeContentFromTrace: boolean;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L580


fetch?

optional fetch: typeof fetch;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L576


functionCallMode?

optional functionCallMode: "auto" | "native" | "prompt";

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L587


logger?

optional logger: AxLoggerFunction;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L582


meter?

optional meter: Meter;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L578


rateLimiter?

optional rateLimiter: AxRateLimiterFunction;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L575


retry?

optional retry: Partial<RetryConfig>;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L599


sessionId?

optional sessionId: string;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L583


showThoughts?

optional showThoughts: boolean;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L595


stepIndex?

optional stepIndex: number;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L597


stream?

optional stream: boolean;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L586


thinkingTokenBudget?

optional thinkingTokenBudget: "minimal" | "low" | "medium" | "high" | "highest" | "none";

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L588


timeout?

optional timeout: number;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L579


traceContext?

optional traceContext: Context;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L585


tracer?

optional tracer: Tracer;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L577


useExpensiveModel?

optional useExpensiveModel: "yes";

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L596


verbose?

optional verbose: boolean;

Defined in: https://github.com/ax-llm/ax/blob/242cf18d21de9f9d58c7c82f53305f0605497473/src/ax/ai/types.ts#L574