Guias de migraçãoVindo do LiteLLM
De um proxy LiteLLM que você opera para um que você não opera
O LiteLLM são duas coisas: um SDK Python que fala com mais de 100 provedores e um proxy que você implanta com Postgres e Redis, que acrescenta chaves virtuais, orçamentos, fallbacks e cache. Ambos rodam nas suas próprias chaves de provedor, como o INFRO. O que muda é quem opera o proxy. Esta página mapeia a configuração do proxy para o INFRO e mostra como manter o SDK.
Open source MIT da BerriAI, mais uma edição Enterprise licenciada; auto-hospedado
As contas do INFRO são self-service. O catálogo, a documentação e o contrato da API são públicos, o gateway está implantado, e tudo o que vai além da v1 está marcado para depois. Planos e teste
Situação atual
Licença e edições
Tudo fora do diretório enterprise/ é MIT; o Enterprise é a mesma imagem com uma chave de licença, acrescentando SSO, SCIM, logs de auditoria, gerenciadores de segredos e suporte.
Avisos de segurança em 2026
O blog do próprio LiteLLM lista um comprometimento do litellm 1.82.7 e 1.82.8 no PyPI em 2026-03-24 (a imagem Docker oficial não foi afetada; a versão limpa 1.83.0 saiu em 2026-03-30), uma SQL injection na verificação de chaves do proxy corrigida na 1.83.7 (2026-04-29) e um bypass de autenticação por header Host corrigido na 1.84.0 (2026-06-01). Rodar o proxy significa acompanhar isso por conta própria.
A conta de quem atende a requisição
Seus, nos dois produtos. O LiteLLM nunca mantém uma conta de provedor, e o INFRO também não; seus provedores cobram você diretamente.
O LiteLLM é gratuito, aberto e roda em qualquer lugar. Se esses foram os motivos para escolhê-lo, continuam sendo bons motivos.
- O tráfego não pode sair da sua rede, ou você precisa poder ler e corrigir o código do gateway. O INFRO é hospedado e de código fechado; auto-hospedado ou híbrido é um contrato enterprise.
- Você usa cache semântico, fallbacks por janela de contexto ou por política de conteúdo, o gateway de agentes A2A ou callbacks para um fornecedor de logging específico. O INFRO tem cache por correspondência exata, regras de falha de rota, um gateway MCP e exportação OpenTelemetry.
- Você chama provedores que o INFRO não conecta, ou endpoints que ele não atende: batches, arquivos, fine-tuning, Realtime, embeddings em provedores além de OpenAI, Azure OpenAI, Mistral ou um endpoint compatível com OpenAI.
- Rodá-lo custa pouco para você porque uma equipe de plataforma já é dona do Postgres, do Redis e das atualizações.
As alterações, uma linha cada. Tudo o que não está listado aqui continua como está.
| LiteLLM | INFRO | |
|---|---|---|
| URL base | Seu proxy, por exemplo http://0.0.0.0:4000. | https://api.infro.io/v1 |
| Chave | Uma chave virtual do LiteLLM (sk-...) de /key/generate. | Uma chave de gateway do INFRO, criada no console ou na API de gerenciamento. As chaves de provedor passam de litellm_params para conexões do INFRO. |
| Id do modelo | Um model_name de model_list, como gpt-4o. | Uma rota com o mesmo nome, para que os chamadores continuem a enviá-lo, ou vendor/model diretamente. |
| Campos do corpo | metadata { tags, trace_id, trace_user_id, generation_name }, cache { ttl, namespace }, user. | metadata { user_id, session_id, tags }, cache para o cache de respostas, X-INFRO-Trace-Id para um id de trace. |
Antes · LiteLLM proxy
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://0.0.0.0:4000",
apiKey: process.env.LITELLM_API_KEY, // virtual key
});
await client.chat.completions.create({
model: "claude-default", // model_name in model_list
messages: [{ role: "user", content: "Hello" }],
user: "user-123",
// @ts-expect-error LiteLLM extension
metadata: { tags: ["production"] },
});Depois · INFRO
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.infro.io/v1",
apiKey: process.env.INFRO_API_KEY,
});
await client.chat.completions.create({
model: "claude-default", // an INFRO route, same name
messages: [{ role: "user", content: "Hello" }],
// @ts-expect-error INFRO extension
metadata: { user_id: "user-123", tags: { env: "production" } },
});`model_list` vira rotas
Cada model_name com vários deployments vira uma rota com esses destinos; os pesos de rpm viram destinos ponderados; os router_settings.fallbacks viram os destinos posteriores da rota ou fallbacks.
Mantenha o SDK
O provedor compatível com OpenAI do LiteLLM envia tudo que vem depois de openai/ como id do modelo, então openai/anthropic/claude-sonnet-5.5 chega ao INFRO como anthropic/claude-sonnet-5.5. Os fallbacks passam a acontecer no INFRO, não no SDK.
Ou mantenha o proxy atrás do INFRO
Conecte o proxy como uma conexão openai-compatible durante a migração. Note que o INFRO passa a ver apenas o proxy como um único provedor, então o failover e o custo por provedor continuam acontecendo dentro do LiteLLM até você conectar os provedores diretamente.
Os objetos do LiteLLM comparados aos do INFRO, a partir da documentação pública do LiteLLM lida em 19 de outubro de 2026 e conferidos com o que o gateway implementa. Uma linha diz que o INFRO não tem nada.
| LiteLLM | O que faz lá | No INFRO |
|---|---|---|
| `model_list` e `litellm_params`mesmo formato | Deployments por nome de modelo, com chaves de provedor na configuração. | Conexões de provedor (chaves seladas, várias por provedor) e rotas sobre elas. |
| Chaves virtuaismesmo formato | Chaves emitidas pelo proxy com modelos permitidos, orçamento, tpm e rpm, equipe e usuário. | Chaves de gateway com modelos permitidos, provedores, faixas de IP, um ambiente, um limite de gastos e uma faixa de taxa de requisições; rotação e um interruptor de desligamento. |
| Equipes, usuários, orçamentosmesmo formato | max_budget e budget_duration por chave, equipe ou usuário. | Orçamentos por organização, projeto, membro, chave e cliente final, mantidos sob concorrência, com 402 no teto antes da chamada ao provedor. |
| limites de tpmdiferente | Limites de tokens por minuto por chave ou deployment. | Faixas de taxa de requisições por chave e orçamentos em dólares. Sem limite de tokens por minuto. |
| Fallbacks e retentativasmesmo formato | fallbacks, num_retries, tempos de espera (cooldowns), allowed_fails. | Destinos de rota e regras de falha por tipo (tentar de novo, fazer failover ou parar); fallbacks por requisição. |
| Fallbacks por janela de contexto e por política de conteúdodiferente | Um modelo diferente quando o prompt é longo demais ou a política de um provedor o recusa. | Uma regra de falha moderation pode fazer failover para o próximo destino. Sem fallback por janela de contexto. |
| Cachediferente | Caches exatos e semânticos em Redis, S3, GCS, Qdrant e outros. | Correspondência exata, opcional, para chat completions, hospedado. Sem cache semântico. |
| Guardrailsdiferente | Guardrails plugáveis; várias integrações exigem Enterprise. | Regras por padrões que bloqueiam, mascaram ou sinalizam, e verificações em um modelo de decisão, em todos os planos que incluem guardrails. |
| Callbacks de loggingdiferente | Callbacks para o Langfuse e outras ferramentas; logs de gastos no Postgres. | O log de requisições, exportações e spans para o seu collector OpenTelemetry. |
| Acompanhamento de gastosdiferente | Custo a partir do mapa de preços de modelos do LiteLLM. | Custo estimado do provedor a partir das suas tarifas negociadas ou da tarifa de tabela do fornecedor, unpriced quando desconhecido, conciliado com as APIs de custo da OpenAI e da Anthropic. |
| Gateway MCPmesmo formato | Servidores MCP atrás do proxy. | Um gateway MCP para seus próprios servidores MCP, com ferramentas aprovadas e permissões por chave. |
| Gateway de agentes A2Anada | Tráfego entre agentes pelo proxy. | Nada. |
| Operar você mesmodiferente | MIT, Docker ou pip, em qualquer lugar. | Hospedado. Auto-hospedado ou híbrido é um contrato enterprise.Enterprise — Disponível em um contrato enterprise, não em self-service. |
Nossa leitura da documentação publicada do LiteLLM, não um teste nem um benchmark. Se lemos algo errado, avise-nos e corrigimos a linha.
O que o INFRO não faz
- Rodar na sua própria infraestrutura sem contrato enterprise, ou permitir que você leia o código-fonte.
- Cache semântico, fallbacks por janela de contexto, A2A.
- Atender batches, arquivos, fine-tuning ou Realtime, ou embeddings em provedores além de OpenAI, Azure OpenAI, Mistral ou um endpoint compatível com OpenAI.
- Limites de tokens por minuto; o INFRO limita por taxa de requisições e por dólares.
O que não é levado
- Logs de gastos e histórico de requisições no Postgres do seu LiteLLM. Não há importador.
- Chaves virtuais. Emita chaves de gateway do INFRO e migre os chamadores para elas.
- Callbacks e hooks personalizados. Use a exportação OpenTelemetry ou mantenha essa lógica no seu código.
Perguntas
- Posso continuar usando o SDK Python do LiteLLM?
- Sim. Chame o INFRO pelo provedor compatível com OpenAI do LiteLLM:
model="openai/<INFRO model id>"comapi_base="https://api.infro.io/v1"e a sua chave do INFRO. - O INFRO é open source como o LiteLLM?
- Não. O INFRO é um serviço hospedado; uma implantação auto-hospedada ou híbrida está disponível mediante contrato enterprise.
- Quem paga os provedores de modelos?
- Você, diretamente, como no LiteLLM. O INFRO é uma assinatura e adiciona 0% ao gasto com modelos.
Migre conosco ou por conta própria
O programa de migração mapeia, numa chamada, a sua configuração do LiteLLM para conexões, rotas e orçamentos do INFRO e migra o primeiro serviço com você. Seus provedores continuam cobrando você diretamente; o INFRO é uma assinatura e acrescenta 0% ao gasto com modelos.
Fontes
Cada afirmação desta página sobre o LiteLLM vem de uma destas fontes, lidas em 19 de outubro de 2026. Nada é inferido de um teste, de um benchmark ou de uma conversa.
- LiteLLM docs — homelido em 19 de out. de 2026
- LiteLLM docs — Proxy: user keys and client usagelido em 19 de out. de 2026
- LiteLLM docs — Virtual keyslido em 19 de out. de 2026
- LiteLLM docs — Reliability (fallbacks, retries)lido em 19 de out. de 2026
- LiteLLM docs — Cachinglido em 19 de out. de 2026
- LiteLLM docs — Cache controlslido em 19 de out. de 2026
- LiteLLM docs — Enterpriselido em 19 de out. de 2026
- LiteLLM — LICENSElido em 19 de out. de 2026
- LiteLLM blog — Security update, March 2026lido em 19 de out. de 2026
- LiteLLM blog — posts tagged securitylido em 19 de out. de 2026