Stop wrestling with prompts. Start shipping AI features.
Ax brings DSPy's revolutionary approach to TypeScript – just describe what you want, and let the framework handle the rest. Production-ready, type-safe, and works with all major LLMs.
import { ai, ax } from "@ax-llm/ax";
// 1. Pick any LLM
const llm = ai({ name: "openai", apiKey: process.env.OPENAI_APIKEY! });
// 2. Say what you want
const classifier = ax(
'review:string -> sentiment:class "positive, negative, neutral"',
);
// 3. Get type-safe results
const result = await classifier.forward(llm, {
review: "This product is amazing!",
});
console.log(result.sentiment); // "positive" ✨
That's it. No prompt engineering. No trial and error. It works with GPT-4, Claude, Gemini, or any LLM.
Write your logic once. Switch between OpenAI, Anthropic, Google, or 15+ providers with one line. No rewrites needed.
Stop tweaking prompts. Define inputs → outputs. The framework generates optimal prompts automatically.
Built-in streaming, validation, error handling, observability. Used by startups in production handling millions of requests.
Train your programs with examples. Watch accuracy improve automatically. No ML expertise needed.
const extractor = ax(`
customerEmail:string, currentDate:datetime ->
priority:class "high, normal, low",
sentiment:class "positive, negative, neutral",
ticketNumber?:number,
nextSteps:string[],
estimatedResponseTime:string
`);
const result = await extractor.forward(ai, {
customerEmail: "Order #12345 hasn't arrived. Need this resolved immediately!",
currentDate: new Date(),
});
// Automatically extracts all fields with proper types and validation
const assistant = ax(
"question:string -> answer:string",
{
functions: [
{ name: "getCurrentWeather", func: weatherAPI },
{ name: "searchNews", func: newsAPI },
],
},
);
const result = await assistant.forward(ai, {
question: "What's the weather in Tokyo and any news about it?",
});
// AI automatically calls both functions and combines results
const analyzer = ax(`
image:image, question:string ->
description:string,
mainColors:string[],
category:class "electronics, clothing, food, other",
estimatedPrice:string
`);
// Process images and text together seamlessly
npm install @ax-llm/ax
import { ai, ax } from "@ax-llm/ax";
const llm = ai({ name: "openai", apiKey: process.env.OPENAI_APIKEY! });
const translator = ax(`
text:string,
language:string ->
translation:string
`);
const result = await translator.forward(llm, {
text: "Hello world",
language: "Spanish",
});
console.log(result.translation); // "Hola mundo"
- ✅ 15+ LLM Providers - OpenAI, Anthropic, Google, Mistral, Ollama, and more
- ✅ Type-Safe Everything - Full TypeScript support with auto-completion
- ✅ Streaming First - Real-time responses with validation
- ✅ Multi-Modal - Images, audio, text in the same signature
- ✅ Smart Optimization - Automatic prompt tuning with MiPRO
- ✅ Production Observability - OpenTelemetry tracing built-in
- ✅ Advanced Workflows - Compose complex pipelines with AxFlow
- ✅ Enterprise RAG - Multi-hop retrieval with quality loops
- ✅ Agent Framework - Agents that can use tools and call other agents
- ✅ Zero Dependencies - Lightweight, fast, reliable
- Getting Started Guide - Set up in 5 minutes
- Examples Guide - Comprehensive examples with explanations
- DSPy Concepts - Understand the revolutionary approach
- AxFlow Workflows - Build complex AI systems
- Optimization Guide - Make your programs smarter
- Advanced RAG - Production search & retrieval
- API Reference - Complete documentation
Run any example:
OPENAI_APIKEY=your-key npm run tsx ./src/examples/[example-name].ts
- extract.ts - Extract structured data from text
- react.ts - ReAct pattern with function calling
- agent.ts - Multi-agent collaboration
- streaming1.ts - Real-time streaming responses
- multi-modal.ts - Image + text processing
- customer-support.ts - Complete support system
- food-search.ts - Restaurant recommendations with tools
- simple-optimizer-test.ts - Automatic optimization
- mipro-python-optimizer.ts - Advanced MIPRO optimization
- ax-flow-enhanced-demo.ts - Complex workflows
📚 View Full Examples Guide →
View All 70+ Examples →
- 🐦 Follow on Twitter - Latest updates
- 💬 Discord Community - Get help, share ideas
- ⭐ Star on GitHub - Support the project
- 📖 Ask DeepWiki - AI-powered docs
- ✅ Battle-tested - Used by startups in production
- ✅ No breaking changes - Stable minor versions
- ✅ Comprehensive tests - Large test coverage
- ✅ OpenTelemetry - Built-in observability
- ✅ TypeScript first - Type-safe by design
MIT - Use it anywhere, build anything.
Ready to build the future? Stop fighting with prompts. Start shipping with signatures.
npm install @ax-llm/ax
Built with ❤️ by developers, for developers.