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.