Conteúdo
- A resposta em 30 segundos
- 1. Por que você precisa de um LLM gateway
- 2. O que é um LLM gateway
- 3. O que ele resolve por você
- 4. Três tipos: self-hosted, hospedado, SDK
- 5. Comparando as principais ferramentas
- 6. Configuração mínima (código)
- 7. Como escolher
- 8. Ressalvas e limites — não é de graça
- Resumo
- FAQ
Você construiu tudo sobre a API da OpenAI. Depois quer testar o Claude também, e comparar com o Gemini. Mas cada provedor tem um SDK, um formato de requisição e um comportamento de erro diferentes. Cada troca significa reescrever código, transformar respostas e manter uma lógica de retry separada por fornecedor — e em pouco tempo, a "encanação específica de fornecedor" se infiltrou em cada canto da sua aplicação. E enquanto você está preso a um único provedor, no instante em que aquela empresa tem uma queda, aumenta preços ou desliga um modelo, sua aplicação cai junto.
O que assume toda essa encanação é um LLM gateway (AI gateway), também chamado de LLM proxy. É um relay que fica entre a sua aplicação e os provedores, expondo uma única API (geralmente compatível com a OpenAI) para alcançar todos os modelos, e cuidando das tarefas transversais — fallback, controle de custos, cache, rate limiting. Este guia cobre o que um gateway faz por você, a diferença entre os tipos self-hosted, hospedado e SDK, como escolher entre LiteLLM, OpenRouter e o Vercel AI SDK, e os limites que você precisa conhecer para não se queimar.
A resposta em 30 segundos
Se você só ler uma caixa
Nota: um gateway não é almoço grátis. Ele custa um salto de latência, taxas e alguma perda de recursos (§8).
1. Por que você precisa de um LLM gateway
Se você chama um único provedor por um único SDK, não precisa de um gateway. Você precisa de um no momento em que quiser usar mais de um modelo. Veja as três dores clássicas.
Cada provedor tem SDKs, nomes de parâmetros, estruturas de resposta e códigos de erro diferentes. Cada troca significa reescrever sua aplicação.
Depender totalmente de uma empresa e a queda ou mudança de preço dela vira o seu downtime. Você quer uma saída de emergência (fallback).
O melhor modelo varia por tarefa. Você quer usar um modelo barato para rascunhar e um inteligente para lapidar — mas a encanação atrapalha.
O que elas têm em comum é uma estrutura em que as restrições do SDK ditam uma escolha essencialmente estratégica — qual modelo usar. Um gateway retira essa encanação da sua aplicação. Sua aplicação só precisa conhecer um endpoint; quem chamar por trás dele, para quem fazer failover e quanto você já gastou são trabalho do gateway. Como construir um agente de IA ou um framework de agentes quase sempre pressupõe múltiplos modelos, a demanda só cresce.
2. O que é um LLM gateway
Um LLM gateway é um proxy que fica entre a sua aplicação e um ou mais provedores de LLM. A maioria expõe uma única API no formato do endpoint chat-completions da OpenAI e consolida em um só lugar o trabalho transversal que, de outra forma, ficaria espalhado pelo seu código — roteamento, retries e fallback, cache, rate limiting, controle de custos e controle de acesso.
(compatível com OpenAI)
custo / cache / controle
Google / local…
A ideia é tornar a janela uma só. O código da sua aplicação apenas passa uma string para model. Escreva anthropic/claude-opus-4.8 e você recebe o Claude; escreva openai/gpt-5.5 e você recebe o GPT — nada mais na aplicação muda. Decisões como "fazer failover para outro modelo quando este cair" ou "retornar do cache esta pergunta idêntica" são todas resolvidas do lado do gateway. Misturar um LLM local para que "dados sensíveis fiquem locais e todo o resto vá para a nuvem" se escreve da mesma forma.
3. O que ele resolve por você
O trabalho transversal que um gateway assume cai, grosso modo, nestes seis grupos. As ferramentas diferem no que fazem melhor, mas a direção é comum.
Chame todos os provedores em um formato só (geralmente compatível com OpenAI). Apagar as diferenças de fornecedor da aplicação é o recurso central.
Quando o modelo primário der erro, sobrecarregar ou dar timeout, alterne automaticamente para outro. O coração da continuidade do negócio.
Veja o gasto por usuário, equipe ou projeto. Distribua chaves virtuais com escopo que escondem as reais.
Lembre e retorne instantaneamente requisições idênticas ou similares. Corta tanto a conta de API quanto a latência.
Limites de tokens e requisições por chave, além de balanceamento de carga entre várias chaves e instâncias.
Meça logs, latência e taxa de sucesso em todas as requisições. Algumas ferramentas também permitem inserir guardrails de entrada/saída.
💡 "Fallback" não é o mesmo que "seguro". O modelo para o qual você faz failover tem manias de saída, contagens de tokens e recursos suportados diferentes. O fallback não se torna seguro no instante em que você o configura — ele só funciona depois que você realmente o disparou e o testou. Sempre verifique antes que seu prompt não quebre depois da troca.
4. Três tipos: self-hosted, hospedado, SDK
"LLM gateway" é usado como um rótulo único, mas onde ele roda o divide em três personalidades bem distintas. Confunda isso e você escolherá errado.
| Tipo | Onde roda | Exemplos | Para quem serve |
|---|---|---|---|
| ① Proxy self-hosted | Seus servidores (processo separado) | LiteLLM / Portkey (OSS) | Manter dados internos e governados |
| ② Hospedado (SaaS) | A nuvem do provedor | OpenRouter / Cloudflare | Usar na hora, zero operação |
| ③ SDK / biblioteca | Dentro do código da sua aplicação | Vercel AI SDK | Abstrair rápido em TS/JS |
① Self-hosted é um processo independente (um servidor proxy) que você sobe na sua própria infraestrutura. Como os prompts não passam por um SaaS externo, ele é forte em governança e auditoria — mas você mesmo o opera. ② Hospedado tem o provedor rodando o proxy, então é o mais rápido de adotar, mas as requisições passam por um terceiro. ③ SDK não sobe nenhum processo separado; ele absorve as diferenças de provedor dentro do código da sua aplicação — não é um relay de rede, e sim uma "camada de abstração", e pode ser combinado com ① ou ②.
5. Comparando as principais ferramentas
Aqui estão os três destaques em ordem recomendada, mais dois que vale conhecer. Os números têm por base as páginas oficiais de cada fornecedor em julho de 2026 (as ofertas mudam, então sempre confirme o mais recente na fonte primária).
LiteLLM — o proxy self-hosted padrão
LiteLLM (da BerriAI) é uma biblioteca Python de código aberto e um gateway self-hosted. Ele permite chamar 100+ provedores e 2.500+ modelos por uma única API compatível com OpenAI (segundo o repositório oficial). Suba-o como proxy e você ganha controle de custos, chaves virtuais, rate limiting, fallback, balanceamento de carga, cache com Redis e observabilidade (integrações com Langfuse/Prometheus/Datadog). É a primeira escolha para organizações que querem manter os prompts internos.
OpenRouter — multi-provedor com uma chave, na hora
OpenRouter é um gateway hospedado sem operação. Com uma única API compatível com OpenAI e uma chave de API, ele dá acesso a 400+ modelos segundo o site oficial. Seu desenho de preço se destaca: o site oficial afirma "não aplicamos markup sobre os tokens de inferência (os preços do catálogo equivalem aos preços publicados de cada provedor)", enquanto cobra uma taxa de plataforma de 5,5% sobre compras de crédito (segundo openrouter.ai/pricing). É esmagadoramente rápido para "só colocar para rodar" e "testar todos os fornecedores com uma chave".
Vercel AI SDK — abstrair a partir do código em TypeScript
Vercel AI SDK (só "AI SDK" em 2026) é um toolkit TypeScript de código aberto. Em vez de um processo proxy separado, é uma camada de abstração que absorve as diferenças de provedor dentro do código da sua aplicação. O que a documentação chama de "núcleo arquitetural" é a abstração de provedor: mudar da OpenAI para a Anthropic significa trocar um import e uma string de modelo — seu código de geração, streaming e tool-calling permanece totalmente intacto. Combine-o com o Vercel AI Gateway hospedado e você alcança 100+ modelos. Para os detalhes de implementação e o código, veja nosso guia completo do Vercel AI SDK.
Mais duas para conhecer
Uma opção gerenciada, que roda na edge. Basta rotear suas chamadas de provedor existentes por ele e você ganha cache, rate limiting, analytics, logging e fallback com mudança mínima de código (segundo a documentação). Um ótimo encaixe se você já roda na Cloudflare.
Um control plane que adiciona governança, guardrails e gestão de prompts de nível de produção a um gateway. O site oficial diz que ele conecta 1.600+ LLMs por uma única API. A versão OSS também pode ser self-hosted.
| Ferramenta | Tipo | Janela | Foco | Ideia de preço |
|---|---|---|---|---|
| LiteLLM | ① self-host | API compatível com OpenAI | Governança, chaves virtuais, observabilidade | OSS grátis + seu custo de operação |
| OpenRouter | ② hospedado | API compatível com OpenAI | Instantâneo, 400+ modelos com uma chave | Sem markup na inferência; 5,5% sobre compras |
| Vercel AI SDK | ③ SDK | Funções TS | Trocar pelo código, type-safe | SDK grátis + cobrança de cada fornecedor |
| Cloudflare AI Gateway | ② hospedado (edge) | Pass-through | Cache, observabilidade | Preço da Cloudflare |
| Portkey | ① / ② ambos | API unificada | Governança, guardrails | Planos OSS + SaaS |
6. Configuração mínima (código)
Parece assustador, mas o cerne da troca é um único lugar — troque o endpoint (ou a string de modelo). Aqui está o exemplo mínimo para cada um dos três tipos.
② Hospedado: OpenRouter (só troque o endpoint)
Mantenha seu SDK OpenAI de sempre; mude só o base_url e a chave para alcançar 400+ modelos.
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1", # esta é a única troca
api_key="sk-or-...", # sua chave do OpenRouter
)
resp = client.chat.completions.create(
model="anthropic/claude-opus-4.8", # mude para "openai/gpt-5.5" e você trocou
messages=[{"role": "user", "content": "Olá"}],
)
print(resp.choices[0].message.content)
① Self-hosted: LiteLLM (suba seu próprio proxy)
Liste seus modelos em um arquivo de config, e um comando sobe um gateway compatível com OpenAI em localhost:4000. Sua aplicação apenas aponta para lá.
# config.yaml
model_list:
- model_name: claude
litellm_params:
model: anthropic/claude-opus-4-8
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: gpt
litellm_params:
model: openai/gpt-5.5
api_key: os.environ/OPENAI_API_KEY
# iniciar (serve uma API compatível com OpenAI em http://localhost:4000)
litellm --config config.yaml
③ SDK: Vercel AI SDK (mude a string de modelo no código)
Mantenha o import e a função; troque só a string model para alternar.
import { generateText } from 'ai';
const { text } = await generateText({
model: 'anthropic/claude-opus-4.8', // mude para 'openai/gpt-5.5'
prompt: 'Olá',
});
console.log(text);
Em todos os casos você não tocou em uma única linha de lógica da aplicação. Esse é o efeito de um gateway/abstração. Fallback e cache são adicionados por cima disso via configuração (a documentação de cada fornecedor é o caminho mais rápido para a sintaxe exata).
7. Como escolher
Escolha não por "qual é o melhor", e sim por qual se encaixa nas suas restrições. Aplique-as nesta ordem e você raramente ficará travado.
Só colocar para rodar / solo, PoC, equipe pequena → OpenRouter. Uma chave, zero operação, teste os modelos de todos os fornecedores. Trate a taxa de 5,5% como o preço de não operar você mesmo.
Construindo em TypeScript / Next.js → Vercel AI SDK. Abstração type-safe a partir do código, mais um kit de UI de streaming completo. Para a implementação, vá para o guia completo.
Não quer os dados saindo / precisa de governança para toda a organização → self-host LiteLLM (ou Portkey OSS). Entregue chaves virtuais às equipes e mantenha custo e logs em um só lugar.
Já construído na Cloudflare → Cloudflare AI Gateway: roteie suas chamadas existentes por ele e adicione cache e observabilidade.
Combinações são normais na prática. Por exemplo, "escrever a aplicação com o Vercel AI SDK, mas apontar sua porta dos fundos para um proxy LiteLLM para centralizar custo e chaves de toda a empresa" é uma configuração de dois níveis que funciona justamente porque os tipos SDK e proxy são camadas separadas. Como seguro contra risco de dependência, encaixar um LLM local como um dos alvos de fallback também está virando padrão.
8. Ressalvas e limites — não é de graça
Um gateway é conveniente, mas como ele adiciona uma camada, há sempre um custo. Considere estes quatro antes de adotar um.
Com um relay no meio, a latência sobe um pouco. Os tipos hospedados sentem a distância geográfica especialmente. O cache muitas vezes compensa, mas para uso de latência ultrabaixa, meça.
Você fica resiliente a quedas de provedor, mas se o próprio gateway cair, tudo cai. Construa redundância, health checks e uma rota de escape de chamada direta.
Os tipos hospedados adicionam uma taxa (o OpenRouter cobra 5,5% das compras); o self-hosted adiciona custo de operação de servidor. O ponto de equilíbrio muda com a escala.
Convergir para o mínimo denominador comum compatível com OpenAI significa que os recursos exclusivos de cada fornecedor (extended thinking, formatos especiais de ferramenta) podem não passar ou chegar atrasados.
Mais uma coisa frequentemente ignorada: privacidade. Rotear por um gateway hospedado significa que seus prompts e respostas passam pela infraestrutura de um terceiro. Se você lida com dados sensíveis, verifique a política de tratamento de dados do intermediário, ou mantenha os prompts internos com um tipo self-hosted (como o LiteLLM) logo de início. Para produção em uma organização, trate as próprias chaves e logs do gateway como sujeitos de menor privilégio e isolamento também — esse é o lado seguro.
Resumo
- Um LLM gateway é um relay entre a sua aplicação e os provedores. Ele permite alcançar todos os modelos por uma única API.
- Ele assume seis tarefas: API unificada, fallback, controle de custos, cache, rate limiting, observabilidade.
- Há três tipos — ① self-hosted (LiteLLM) / ② hospedado (OpenRouter) / ③ SDK (Vercel AI SDK). Escolha por restrição.
- Como escolher: instantâneo = OpenRouter / build em TS = Vercel AI SDK / governança = LiteLLM. Combinações são normais.
- Não esqueça os custos: um salto de latência, o próprio ponto de falha do gateway, taxas, perda de recursos, privacidade.
- O fallback não funciona só porque está configurado — dispare-o de verdade e verifique que seu prompt não quebra.
Se você trabalha com múltiplos modelos, um gateway está deixando de ser um "bom ter" e virando equipamento básico para reunir a encanação em um só lugar. Comece trocando o base_url com o OpenRouter ou mudando uma string de modelo com o Vercel AI SDK — esse pequeno passo dissolve o lock-in a um único fornecedor e torna tanto a comparação quanto o fallback de repente realistas. Para especificações exatas e atuais, confirme a fonte primária de cada fornecedor (LiteLLM / OpenRouter / AI SDK).
FAQ
P. Um LLM gateway e um LLM proxy são coisas diferentes?
R. São usados quase de forma intercambiável. Ambos se referem a um relay que fica entre a sua aplicação e os provedores. Se houver diferença, "proxy" pende para o mecanismo (retransmitir o tráfego), enquanto "gateway" pende para o papel (incluindo gestão de custos e governança).
P. Se o OpenRouter não tem "markup", por que ele pode acabar mais caro?
R. A tarifa de inferência por token é o preço publicado de cada provedor (sem markup), mas segundo o site oficial há uma taxa de plataforma de 5,5% sobre compras de crédito. Quanto menor a sua recarga, mais essa parcela morde, então estime o custo efetivo como "preço do modelo + alguns por cento". Confirme o mais recente em openrouter.ai/pricing.
P. Vercel AI SDK ou LiteLLM — qual eu devo usar?
R. São camadas separadas, então não competem. O Vercel AI SDK é abstração no código (para TS/JS); o LiteLLM é um proxy de processo separado (agnóstico de linguagem, orientado a governança). Construa um app TS rápido com o primeiro; mantenha custo, chaves e logs de toda a empresa em um só lugar com o segundo. Empilhar os dois é comum.
P. Adicionar um gateway deixa as coisas mais lentas?
R. Adicionar um relay de fato acrescenta um pouco de latência. Mas onde o cache entra em ação, muitas vezes fica mais rápido em vez disso. Se latência ultrabaixa é um requisito, coloque um tipo self-hosted por perto, apoie-se no cache e mantenha uma escape de chamada direta para os caminhos críticos para conter o impacto.
P. Preciso de um gateway mesmo usando só um provedor?
R. Não é obrigatório. Mas muitas vezes há valor mesmo só na visibilidade de custos, controle de acesso via chaves virtuais, cache e observabilidade. Se você puder adicionar modelos ou usá-lo em uma equipe mais tarde, encaixar um cedo facilita a migração.