Skip to main content

Overview

The Router provides intelligent load balancing, fallbacks, and retries across multiple LLM deployments. This guide covers router-specific configuration.

Basic Router Setup

Python Configuration

YAML Configuration (for Proxy)

Routing Strategies

simple-shuffle (Default)

Randomly selects from available deployments.
Best for: Simple load distribution without specific requirements.

usage-based-routing

Respects TPM (tokens per minute) and RPM (requests per minute) limits.
Best for: Respecting provider rate limits and quotas.

latency-based-routing

Routes to the deployment with lowest latency.
Best for: Optimizing response time across geographic regions.

least-busy

Routes to deployment with fewest ongoing requests.
Best for: Even load distribution in high-concurrency scenarios.

cost-based-routing

Routes to the cheapest deployment.
Best for: Cost optimization.

Fallback Configuration

Basic Fallbacks

YAML:

Context Window Fallbacks

YAML:

Retry Configuration

Basic Retries

Per-Error Retry Policy

YAML:

Per-Model-Group Retry Policy

Cooldown Configuration

YAML:

Caching Configuration

Redis Caching

YAML:

In-Memory Caching

Model Aliases

YAML:

Complete Production Example

Best Practices

  1. Use TPM/RPM limits: Always set limits to respect provider quotas
  2. Configure fallbacks: Have backup models for reliability
  3. Enable caching: Reduce costs and latency
  4. Monitor latency: Use latency-based routing in production
  5. Set appropriate timeouts: Balance responsiveness and success rate
  6. Use cooldowns: Prevent cascading failures
  7. Test retry policies: Ensure they match your use case
  8. Use model aliases: Abstract model names for easier updates