Azure OpenAI
Your Azure OpenAI deployments by endpoint, deployment name and API version — reasoning models included.
Azure, Google, OpenAI, AWS Bedrock or models you host — routed, governed and costed in one place.
Every agent, workflow step and mesh on Botminds reaches its language model through one gateway. It finds the model, checks the allowance of the person’s role before the run starts, spreads calls across providers and regions, holds the keys, moves past a model in trouble and records what every run cost. Changing a model is a setting, not a rewrite.
An LLM gateway is one layer between your applications and every language model they call. It routes each request to an approved model, holds the provider keys, paces and spreads traffic, fails over when a provider has trouble and records what each call cost. The Botminds LLM gateway does this for every agent on the platform — Azure OpenAI and Azure AI Foundry deployments, Google Gemini, and any model added to the gateway’s model list — OpenAI, AWS Bedrock or models you host — so they are all used, scaled and governed the same way.
Fifty agents across ten teams, four providers and a finance department asking what it all costs: without one layer in the middle, every application carries its own keys, its own retries and its own idea of a quota.
| Each app calls models directly | Botminds LLM gateway | |
|---|---|---|
| Provider keys | Copied into every app and every script | Held by the gateway, encrypted |
| Changing a model | A code change in each app | A setting on the agent, or the default for a whole scope |
| A provider or region has trouble | Each app fails, or retries on its own | On document and background runs, the pool moves the call to another provider or region |
| Traffic bursts | Every app bursts, and the provider refuses | Paced to each deployment’s declared quota and spread across the pool |
| Spend | One provider invoice, no breakdown | Cost by team: per run, agent, project and workspace |
| Who may use what | Whoever has the key | Models scoped to a project, a workspace or the environment |
Multi-model AI is the normal case: a fast model for conversation, a reasoning model for analysis, an embedding model for search — often from different providers. Add each deployment to the gateway once, and every agent can use it.
Your Azure OpenAI deployments by endpoint, deployment name and API version — reasoning models included.
Models deployed in Azure AI Foundry, governed by the same controls as everything else.
Gemini models connect with their own key and a thinking budget, or join the gateway’s model list.
OpenAI’s own models on your account and quota, added to the gateway’s model list.
Models served by AWS Bedrock in the AWS regions you use, added to the gateway’s model list.
Your own model deployment, behind your network, added to the gateway’s model list. Agents use it like any other model.
A model is a record, not code. Provider, deployment, quota, chat or embedding, and whether it is the default for its scope. Agents point at the record, so moving every agent in a project to a newer model is one edit — and moving back is another.
A bank’s retail team and its research team rarely share one model account. Each team’s deployments — a region its regulator requires, say — are scoped to its workspace or project, while the environment keeps a catalogue everyone can use.
the catalogue every workspace may use, and its default chat model
its own models — its own Azure deployment, say, or a model added to the gateway’s model list
models one program needs, such as a deployment in a required region
The first match wins. Each scope can mark one model as its default, so an agent that names none still runs.
Models travel with solutions. A model record travels in a solution package with its secrets stripped at export, and is mapped to a model in the target environment on import.
Name several models on an agent — in different regions, from different providers — and they become a pool. Every call draws from it; on document and background runs, a model in trouble is set aside and the call moves on. The agent and its instructions stay exactly as they are.
Each attempt draws at random from the models in play, so load spreads across providers, regions and quotas.
The usual answer to a rate-limit refusal is to retry at once. When every layer does, one refusal becomes a storm. The platform does the opposite: declare each deployment’s quota and it sends work at the pace the models can take.
How much document work runs at once is sized from the quota and the measured cost of a document. Everything else waits in a durable queue.
Every process sends calls at its share of the quota. A burst flows out as a steady stream instead of drawing a storm of refusals.
A refusal moves the call to another deployment in the pool, or is reported with its cause. On a model without declared limits, the call waits for the provider’s reset and goes again.
One owner for every kind of fault. Model client libraries retry by default; stacked under a gateway and an agent loop, polite layers multiply one fault into dozens of calls. On Botminds each kind of fault has one owner, and every retry that fires is counted — so a pattern shows up as the defect it is.
Thousands of agents and millions of documents mean a torrent of model calls. The gateway is stateless, so it scales out horizontally on Kubernetes; it spreads load across every deployment and region you give it; and it keeps serving when a provider or a region has trouble.
A classifier must be repeatable; an assistant drafting emails should not be. Each agent carries its own model settings, and the platform adapts them to the model family before the call.
{
"models": ["fast-eu-west", "fast-eu-north"],
"temperature": 0,
"top_p": 1,
"seed": 42
}Prompt caching. Agents on gateway models send a stable cache key, so providers that cache serve the repeated part of long instructions at a lower price.
A budget enforced after the spend is a report. The platform checks the allowance at the one door every run passes — chat, workflow step, schedule or API call — and attributes every token to the team that spent it.
Checked against the allowance of the person’s role before a token is spent; a monthly allowance per person can be set for the assistant.
Every call carries its workspace, its project and the kind of traffic, so no spend arrives unattributed.
Tokens in, cached and out are priced from one table and written to two ledgers that must agree.
Cost by team, from one price table. Every call carries its workspace and project, and is priced once. Finance sees spend by business unit and program; builders see cost per run and per agent. Access itself is decided by roles and grants — see AI governance.
For many enterprises the question is not which model, but where it runs and who can see the traffic. The gateway runs inside your Botminds deployment, and the models behind it can be yours.
A model you run — in your region, behind your network — joins the gateway, and agents use it like any other.
In production the gateway holds the provider key. Agents, workers and the API reach every model through it, and a workspace can carry a gateway key of its own.
The spend ledger keeps tokens, cost and tags. Prompts and answers stay in the run record, inside your deployment, under your access rules.
Run the whole platform privately. Azure, AWS, Google Cloud or your own premises, down to fully disconnected sites: see private AI deployment. Your documents never train shared or third-party models — see security.
An LLM router picks a model per prompt; a standalone AI gateway is a proxy you deploy and re-point every application at; an LLM gateway inside the platform knows which agent, project and person each call belongs to.
| LLM router | Standalone AI gateway | Botminds LLM gateway | |
|---|---|---|---|
| What it decides | Which model answers this prompt | Where a request goes, and whether it may | Which model each agent uses, and how every call is made |
| Knows who is asking | No | An API key | The agent, the project, the workspace and the person |
| Provider keys | Yours to manage | Held by the gateway | Held by the gateway, encrypted |
| Fallback | Sometimes, by model score | Configured per route | A pool per agent, across providers and regions |
| Rate limits | Its users’ problem | Refuses over the limit | Paces to each quota and spreads across the pool |
| Spend | Its users’ problem | Per key | Allowance before the run; cost by team, per run and agent |
| Choosing a model | Per prompt, by predicted score | Per route | Per agent, proven by evaluations |
| Wiring | In your code | Every app re-pointed | Built in; every agent has it |
More from the platform: the full architecture, and how security works at Botminds.
An LLM gateway is a single layer between applications and the language models they call. It routes requests to approved models, holds the keys, paces and spreads traffic, fails over when a provider has trouble and records cost. In Botminds the LLM gateway is built into the platform, so every agent uses it.
The terms overlap. “AI gateway” usually means a general proxy that sits in front of AI services and applies routing and policy per API key. The Botminds LLM gateway also knows which agent, project, workspace and person each call is for.
An LLM router chooses which model should answer each prompt, often by predicted quality or price. A gateway governs how calls are made: keys, pacing, fallback and cost. Botminds sets a model or a pool per agent and proves the choice with evaluations.
Azure OpenAI and Azure AI Foundry deployments, Google Gemini, and any model added to the gateway’s model list — OpenAI, AWS Bedrock or models you host. Add each one once; scopes then decide which project, workspace or environment uses it.
Name two or more models on an agent — in different regions or from different providers — and they form a pool. Each call draws from it; on document and background runs, a model that fails is set aside for the rest of that request and the call moves to another. The next request starts with the whole pool again.
When a model’s limits are declared, calls are paced to them; a refusal moves to another model in the pool, or is reported with its cause. On a model without declared limits, the call waits for the provider’s reset and goes again. A burst flows out steadily, and every retry is counted.
The gateway is stateless, so it scales out horizontally on Kubernetes as traffic grows, with every copy sharing one model catalogue and one spend ledger. It spreads calls across deployments, providers and regions, and keeps serving when one of them has trouble.
Allowances are checked before a run starts, at the one door every run passes. Every call is tagged with its workspace and project and priced from one table, so spend is visible by team, by program, per agent and per run.
Yes. Models live at three scopes — environment, workspace and project — and an agent’s model is found in its project first, then its workspace, then the environment. A team’s own deployment is scoped to its workspace or project, without touching anyone else’s.
Yes — Azure OpenAI in your own subscription and region, or Bedrock models and models you host on your own hardware added to the gateway’s model list. The platform itself can run in your cloud or on your premises. See private AI deployment.
No. Your documents and prompts never train shared or third-party models. See security at Botminds.
Bring your model accounts. We’ll show your agents running across them, with pools, pacing and cost by team.