September 25, 2026
For a managed model router that learns which model fits each task, without hand-written rules or a separate judge-model call, we recommend GMI Router. GMI's own trained model reads the task behind each prompt and picks the best-fit model from a pool your org owner approves, guided by a cost-quality mode you set on each request. There is no judge model in the loop, so choosing the route does not add a second model call. Microsoft Foundry model router, Amazon Bedrock Intelligent Prompt Routing, Not Diamond, and OpenRouter Auto Router also select or recommend models automatically; the comparison below shows what each one learns from and where its controls sit.
Most teams asking this question already route with rules that pick models by prompt length, keywords, or feature flags, and every new model means another round of edits. Not every rule disappears when a router takes over. Before you switch, separate selection heuristics from constraints and fixed routing requirements, such as "this request type always goes to this model," because each needs a different replacement. The rest of this guide starts from that rule set.
Rule-based routing breaks in recognizable ways:
List every rule your routing layer applies and tag it with one of three kinds.
GMI Router takes over selection rules. Each model it can choose carries a quality score and a cost score per task category. Quality scores come from GMI's internal benchmark bank, and cost scores come from an internal auto-eval. Each request goes through four steps:
GMI describes its router as a trained model that makes one decision per request without a separate judge model, and reports routing latency under 200 ms.
Your constraint rules map onto three documented controls:
mode: cost on those requests, and a rule that reserves top models for high-value work becomes mode: quality. The optional mode field also accepts balanced.The routing endpoint applies your workspace settings and returns routing metadata, including selected_model, task_type, and selected_mode, so you can inspect the model and mode selected for each request. The Router documentation covers the endpoint and authentication with your GMI API key. The documented request fields are messages, mode, and stream, and unknown request fields are ignored.
Routing is free during the preview, for a limited time. You pay only for the model that runs your prompt.
Most rows move into Router. The hard rules that stay in your application are the cases where a specific model is a requirement, not a guess about fit.
| Rule in your routing layer today | Kind | What handles it with GMI Router |
|---|---|---|
| Send a task type or difficulty level to a specific model | Selection | Router's task detection and per-category quality and cost scores |
| Use prompt length or keywords as a stand-in for task | Selection | Router's task detection; retire the proxy once the side-by-side run agrees |
| Keep cheap, high-volume request types on low-cost models | Constraint | mode: cost on those requests |
| Use the strongest models for high-value requests | Constraint | mode: quality on those requests |
| Only use models approved for your data or contracts | Constraint | Allowed Model Pool, approved by your org owner |
| Retry on a backup model when the primary errors | Selection | Router's documented fallback on transient errors (5xx, 429, or a first-token timeout when streaming): one backup model before the first token when streaming, the primary plus one backup otherwise. A rule naming a specific backup model is a hard rule |
| A request type must always run on one named model | Hard | The documentation does not list a per-request field for pinning a model. Route those requests in your application before the router, straight to the model through the LLM API with an explicit model ID |
| One customer must use a different model or pool | Hard | Controls are documented at the workspace level. Keep customer-specific model selection in the application, and use an explicit model ID for requests with a fixed destination |
Each managed router learns from a different signal and puts its controls at a different level, which decides how much of your rule set survives.
| Router | What it learns from | What replaces your constraint rules | Where the controls apply | Selected model visible? |
|---|---|---|---|---|
| GMI Router | Per-category quality and cost scores from GMI's benchmark bank and auto-eval; no judge model | Cost, Balanced, or Quality mode; Allowed Model Pool; Auto Mode | Mode per request; pool and Auto Mode per workspace | Yes, in routing metadata |
| Microsoft Foundry model router | A router model trained by Microsoft, which analyzes prompts by complexity, reasoning, and task type | Routing mode (Balanced by default, Cost, or Quality) and a model subset, which also serves as the fallback set; Azure Policy can govern which models a subset may include | Per deployment | Yes, in the response model field |
| Amazon Bedrock Intelligent Prompt Routing | Predicted response quality for each of two models | Exactly two models from the same family, a fallback model, and a response quality difference threshold | Per configured router | Yes |
| Not Diamond | Your own evaluation data, when you train a custom router (minimum of 15 samples, per its router training quickstart) | Your training data and labels | Per custom router | Yes, as the recommendation |
| OpenRouter Auto Router | A lightweight classifier across roughly 30 task types, ranked by community spend share over the past seven days | allowed_models, excluded_models, and five cost tiers |
Per request, or saved on the workspace Routing page with an optional "prevent overrides" toggle | Yes, in the response model field |
Microsoft's Learn documentation describes Foundry's model router as matching each prompt rather than relying on static rules, and says effective context is limited by the smallest underlying model. The Amazon Bedrock User Guide says Intelligent Prompt Routing is optimized for English prompts and can't adjust routing based on application-specific performance data. OpenRouter's documentation says saved workspace values apply unless a request sets the same field, and turning on "prevent overrides" makes the saved values final.
Whichever router you choose, get documented answers to these before you delete a rule:
Retire rules by measuring, one rule at a time, where the router and your rules disagree:
selected_model, task_type, and selected_mode.Hard rules stay in your application until the questions above have answers.
Open Test Routing in the GMI console and paste prompts from the categories your rules cover to see the task type and model Router picks. For workspace policies or fixed routing requirements, talk to our team.
Colin Mo
GMI Cloud helps you architect, deploy, optimize, and scale your AI strategies
