Model Router
One endpoint for every model.
EU-resident and external models sit behind your single Akumi base_url. The router picks the right one per request, keeps regulated data in the EU, and fails over when a provider blinks. Residency is enforced in code, not left to a checkbox.
one client · one base_url · the model is just a string
One request, and every decision it passed through on the way.
One model is never enough. Five vendors is a liability.
You need more than one model: for capability, for cost, for the mornings a provider is down. But every provider you add is another SDK, another key, another outage that becomes your outage, and another path for regulated data to reach a US model without anyone deciding it should. Most teams bridge it with routing glue code and inherit a compliance gap they cannot see.
How it works
Routing that respects your data.
Set the policy once. The router applies it on every request, so it lives in one place instead of scattered across services.
- 01PolicyRoute by data classDecide which models are allowed for which kind of data. Pin crown-jewel data to EU-only models, and let lower-risk traffic reach an external model where it earns its place.
- 02EgressFail closed at the borderA request never reaches an external or non-EU model unless you have allowed it, with data pseudonymized by the firewall or a recorded acknowledgment. Off by default, not best effort.
- 03FallbackSurvive a provider outageWhen an allowed model errors or times out, the router moves to the next one in your order. A single provider outage stops being yours.
Three data classes, and the models each one may reach.
Why it is different
Not just another LLM gateway.
Generic routers optimize for cost and latency. The Model Router optimizes for the answer your data protection officer needs first.
Residency is enforced, not configured
EU-only routing is the default for regulated data, held at the egress guard, not a setting you have to remember to make.
No silent egress
Nothing reaches a non-EU model unless you allowed it, with the firewall or an acknowledgment on record.
No lock-in
Bring your own keys and keep the OpenAI-compatible client. Leaving is one base_url away.
Provable
Per-request residency and a metadata-only audit trail. Hand the reviewer the log.
Yours to control
Top to bottom.
Bring your own keys
Use your own provider credentials, billed and audited through one place, with your contracts and pricing intact. No lock-in: the client stays OpenAI-compatible.
Every route recorded
Which model ran, in which region, through which provider, and why it was allowed. Answer "where did this go" with the log, not a guess.
Transparent by default
Each response carries the model and region that served it. Fallback and policy never happen behind your back.
FAQ
Questions people ask about the Model Router.
- Can a request reach a model outside the EU?
- Only if you allowed it, and only with the firewall on or an acknowledgment on record. The default is to stop, and the refusal is recorded like any other event.
- What happens when a provider goes down?
- The router moves to the next allowed model in your order, so a single provider outage rarely becomes an error your users see.
- Can we use our own provider keys?
- Yes. Your credentials, your contracts and your pricing, billed and audited through one place.
- How do we know which model actually served a request?
- Each response carries the model and the region that served it, and the same facts are written to the audit trail.
- Do we have to change our client?
- No. The endpoint stays OpenAI-compatible, so leaving is one base_url away.
Start here
Route every model through one endpoint.
Create a key, set your policy, and let the router keep every request in line.