Elo
Overview
elo is a feedback-driven selection algorithm that ranks candidate models using an Elo-style rating system based on pairwise comparisons.
It aligns to config/fragments/algorithm/selection/elo.yaml.
Paper: RouteLLM: Simple and Effective LLM Routing — uses the Bradley-Terry model for pairwise preference learning.
Key Advantages
- Reuses historical pairwise feedback instead of only current-request heuristics.
- Ratings improve over time as more comparisons arrive (online learning).
- Supports category-aware weighting for routes with distinct workloads.
- Configurable time decay to gradually forget stale comparisons.
- Optional cost-aware selection to balance quality vs. price.
Algorithm Principle
Elo rating is built on the Bradley-Terry model, which estimates the probability that model A is preferred over model B:
After each pairwise comparison, ratings are updated:
Where:
- is the learning rate (
k_factor, default 32) - is the actual outcome (1 = win, 0 = loss, 0.5 = tie)
- is the expected score
When category_weighted is enabled, each decision maintains independent per-category ratings, so a model's performance in "math" doesn't affect its "coding" rating.