AIR

Example: intelligent routing

python
import asyncio
import os
 
from air import AIR
from air.providers.gemini import GeminiProvider
from air.providers.groq import GroqProvider
 
 
async def main():
    air = AIR(routing="intelligent")
 
    air.add_provider(
        GroqProvider(api_key=os.environ["GROQ_API_KEY"], model="llama-3.3-70b-versatile"),
        priority=1,
        capabilities={"speed": True},
    )
    air.add_provider(
        GeminiProvider(api_key=os.environ["GEMINI_API_KEY"], model="gemini-2.5-flash"),
        priority=2,
        capabilities={"coding": True, "context_tokens": 128_000},
    )
 
    # Contains "def ", so classify_request marks "coding" as required
    # (see the coding marker list in features/intelligent-routing.md).
    # Only the Gemini registration declared coding=True, so intelligent routing
    # should prefer it even though Groq has higher priority.
    response = await air.chat("Fix this: def broken(): pass")
    print(response.provider)          # "gemini"
    print(response.selection_reason)  # e.g. "coding capability, health unknown"
 
 
if __name__ == "__main__":
    asyncio.run(main())

See ../features/intelligent-routing.md for exactly how requests are classified and providers are scored.