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. rust academy academy/topics/routing-fallback website/content-src/academy/course.mjs academy Fall back without changing your app contract
Unit 11 · Ship AI systems you can operate

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.

9 focused minutesNot started
Unit example (nearest native match)

See the idea in context

set_rate_limiter(Some(global_limiter));
set_tracer(Some(tracer.clone()));
set_meter(Some(meter.clone()));
workflow.forward_with_hooks(&mut client, input, Value::Null, AxRuntimeHooks { rate_limiter: Some(call_limiter), tracer: Some(tracer), meter: Some(meter) })?;
set_rate_limiter(None); set_tracer(None); set_meter(None);
Run itIn your own project
cargo add axllm

use axllm::{ai, ax, AxResult};
use serde_json::json;

fn main() -> AxResult<()> {
    let mut llm = ai("openai", json!({"apiKey": std::env::var("OPENAI_API_KEY")?}))?;
    let mut classify = ax("review:string -> sentiment:class \"positive, negative, neutral\"")?;
    let result = classify.forward(&mut llm, json!({
        "review": "Useful and boring in the best way."
    }))?;

    println!("sentiment: {}", result["sentiment"].as_str().unwrap_or_default());
    Ok(())
}

Set OPENAI_APIKEY in your environment before running provider-backed code.

In the ax repo

From a clone of the ax repo:

npm run example -- rust src/examples/rust/long-agents/smart_defaults_agent.rs
Active practice

Show that you can use it

Answer 2 in a row to learn this · attempt 1
Keep exploring

Source-backed follow-up