Skip to content

Latest commit

 

History

History
244 lines (180 loc) · 7.74 KB

File metadata and controls

244 lines (180 loc) · 7.74 KB

Ax: Build Reliable AI Apps in TypeScript

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.

NPM Package Twitter Discord Chat

Transform Your AI Development in 30 Seconds

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.

Why Thousands of Developers Choose Ax

🎯 Define Once, Run Anywhere

Write your logic once. Switch between OpenAI, Anthropic, Google, or 15+ providers with one line. No rewrites needed.

⚡ Ship 10x Faster

Stop tweaking prompts. Define inputs → outputs. The framework generates optimal prompts automatically.

⚡ Provider-Native Speed

Ax stays in the same latency class as direct provider calls while adding typed outputs, validation, retries, tracing, and tools. Streaming is the default so Ax can parse fields as they arrive, fail early on streaming assertions, cancel bad outputs, and start correction without wasting tokens on completions that are already invalid.

Benchmark the current code against your own providers:

AX_STREAM_BENCH_PROVIDER=anthropic AX_STREAM_BENCH_MODEL=claude-sonnet-4-5-20250929 AX_STREAM_BENCH_RUNS=2 AX_STREAM_BENCH_WARMUP_RUNS=0 npm run tsx src/examples/streaming-latency.ts
AX_STREAM_BENCH_PROVIDER=google-gemini AX_STREAM_BENCH_MODEL=gemini-3.5-flash AX_STREAM_BENCH_RUNS=2 AX_STREAM_BENCH_WARMUP_RUNS=0 npm run tsx src/examples/streaming-latency.ts

🛡️ Production-Ready from Day One

Built-in streaming, validation, error handling, observability. Used by startups in production handling millions of requests.

🚀 Gets Smarter Over Time

Train your programs with examples. Watch accuracy improve automatically. No ML expertise needed.

Real Apps, Real Simple

Extract Structured Data from Customer Emails

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

Build Agents That Use Tools (ReAct Pattern)

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

Multi-Modal Analysis with Images

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

Quick Start

Install

npm install @ax-llm/ax

Your First AI Feature (2 minutes)

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"

Powerful Features, Zero Complexity

  • ✅ Model-Lab Providers - OpenAI, Anthropic, Google, Mistral, DeepSeek, Grok/xAI, 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 GEPA and bootstrap demos
  • ✅ Production Observability - OpenTelemetry tracing built-in
  • ✅ Advanced Workflows - Compose complex pipelines with AxFlow
  • ✅ Agent Framework - Agents that can use tools and call other agents
  • ✅ Zero Dependencies - Lightweight, fast, reliable

Learn More

🚀 Quick Wins

📚 Deep Dives

Examples

Run any example:

OPENAI_APIKEY=your-key npm run tsx ./src/examples/[example-name].ts

Core Examples

Production Patterns

📚 View Full Examples Guide →
View All 70+ Examples →

Join the Community

Production Ready

  • ✅ 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

License

Apache 2 - 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.