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.
Unit example (nearest native match)
See the idea in context
set_rate_limiter(global_limiter)
set_tracer(tracer)
set_meter(meter)
workflow.forward(client, input, hooks=AxRuntimeHooks(call_limiter, tracer, meter))
set_rate_limiter(None); set_tracer(None); set_meter(None)Run itIn your own project
pip install axllm
import os
from axllm import ai, ax
llm = ai('openai', api_key=os.environ['OPENAI_API_KEY'])
classify = ax('review:string -> sentiment:class "positive, negative, neutral"')
result = classify.forward(llm, {
'review': 'Useful and boring in the best way.',
})
print('sentiment:', result['sentiment'])Set OPENAI_APIKEY in your environment before running provider-backed code.
From a clone of the ax repo:
npm run example -- python src/examples/python/long-agents/smart-defaults-agent.pyActive practice
Answer 2 in a row to learn this · attempt 1