Fall back without changing your app contract
You route across models by capability, health, latency, price, or application policy. A fallback preserves the typed contract and remains observable.
Worked example
See the idea in context
const llm = ai({ name: router, config: { model: preferredModel } });Run itIn your own project
npm install @ax-llm/ax
import { ai, ax } from '@ax-llm/ax';
const llm = ai({ name: 'openai', apiKey: process.env.OPENAI_APIKEY! });
const classify = ax('review:string -> sentiment:class "positive, negative, neutral"');
const result = await classify.forward(llm, {
review: 'Useful and boring in the best way.',
});Set OPENAI_APIKEY in your environment before running provider-backed code.
From a clone of the ax repo:
npm run example -- typescript src/examples/typescript/long-agents/smart-defaults-agent.tsActive practice
Answer 2 in a row to learn this · attempt 1