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

AxAIFeatures

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/base.ts#L54

Properties

PropertyTypeDescription
cachingobjectContent caching capabilities
caching.supportedbooleanWhether the provider supports content caching
caching.types("ephemeral" | "persistent")[]Types of caching available
functionCot?boolean-
functionsboolean-
hasShowThoughts?boolean-
hasThinkingBudget?boolean-
mediaobjectEnhanced media capability specifications
media.audioobjectAudio processing capabilities
media.audio.formatsstring[]Supported audio formats (e.g., [‘wav’, ‘mp3’])
media.audio.maxDuration?numberMaximum audio duration in seconds
media.audio.supportedbooleanWhether the provider supports audio inputs
media.filesobjectFile processing capabilities
media.files.formatsstring[]Supported file MIME types (e.g., [‘application/pdf’, ‘text/plain’])
media.files.maxSize?numberMaximum file size in bytes
media.files.supportedbooleanWhether the provider supports file inputs
media.files.uploadMethod"none" | "inline" | "upload" | "cloud"How files are uploaded to the provider
media.imagesobjectImage processing capabilities
media.images.detailLevels?("high" | "low" | "auto")[]Supported detail/quality levels for image processing
media.images.formatsstring[]Supported image MIME types (e.g., [‘image/jpeg’, ‘image/png’])
media.images.maxSize?numberMaximum image size in bytes
media.images.supportedbooleanWhether the provider supports image inputs
media.urlsobjectURL and web content capabilities
media.urls.contextFetchingbooleanWhether the provider can fetch web page content
media.urls.supportedbooleanWhether the provider supports URL inputs
media.urls.webSearchbooleanWhether the provider can perform web searches
multiTurnbooleanWhether the provider supports multi-turn conversations
streamingboolean-
thinkingbooleanWhether the provider supports thinking/reasoning modes