Pular para o conteúdo

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á.

 LiteLLMINFRO
URL baseSeu proxy, por exemplo http://0.0.0.0:4000.https://api.infro.io/v1
ChaveUma 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 modeloUm 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 corpometadata { 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.

LiteLLMO que faz láNo INFRO
`model_list` e `litellm_params`mesmo formatoDeployments 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 formatoChaves 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 formatomax_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 tpmdiferenteLimites 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 formatofallbacks, 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údodiferenteUm 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.
CachediferenteCaches exatos e semânticos em Redis, S3, GCS, Qdrant e outros.Correspondência exata, opcional, para chat completions, hospedado. Sem cache semântico.
GuardrailsdiferenteGuardrails 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 loggingdiferenteCallbacks 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 gastosdiferenteCusto 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 formatoServidores 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 A2AnadaTráfego entre agentes pelo proxy.Nada.
Operar você mesmodiferenteMIT, 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>" com api_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.