Saltar al contenido

Guías de migraciónDesde LiteLLM

De un proxy de LiteLLM que operas a uno que no operas

LiteLLM son dos cosas: un SDK de Python que habla con más de 100 proveedores y un proxy que despliegas con Postgres y Redis y que agrega claves virtuales, presupuestos, respaldos y caché. Ambos se ejecutan con tus propias claves de proveedor, como INFRO. Lo que cambia es quién opera el proxy. Esta página traslada la configuración del proxy a INFRO y muestra cómo conservar el SDK.

Código abierto MIT de BerriAI, más una edición Enterprise con licencia; autoalojado

Las cuentas de INFRO son de autoservicio. El catálogo, la documentación y el contrato de la API son públicos, el gateway está desplegado, y todo lo que va más allá de v1 está marcado como Más adelante. Planes y prueba

Dónde están las cosas

Licencia y ediciones

Todo lo que está fuera del directorio enterprise/ es MIT; Enterprise es la misma imagen con una clave de licencia, que añade SSO, SCIM, registros de auditoría, gestores de secretos y soporte.

Avisos de seguridad de 2026

El propio blog de LiteLLM enumera una vulneración en PyPI de litellm 1.82.7 y 1.82.8 el 2026-03-24 (la imagen oficial de Docker no se vio afectada; la versión limpia 1.83.0 salió el 2026-03-30), una inyección SQL en la verificación de claves del proxy corregida en 1.83.7 (2026-04-29) y una omisión de autenticación mediante el encabezado Host corregida en 1.84.0 (2026-06-01). Operar el proxy implica hacer tú mismo el seguimiento de estos problemas.

En qué cuenta se sirve la solicitud

Tuyas, en ambos productos. LiteLLM nunca tiene una cuenta de proveedor, ni INFRO tampoco; tus proveedores te facturan directamente.

LiteLLM es gratuito, abierto y se ejecuta en cualquier lugar. Si esas son las razones por las que lo elegiste, siguen siendo buenas razones.

  • El tráfico no debe salir de tu red, o debes poder leer y parchear el código del gateway. INFRO es alojado y de código cerrado; el autoalojado o híbrido requiere un acuerdo enterprise.
  • Usas caché semántica, respaldos por ventana de contexto o por política de contenido, el gateway de agentes A2A o callbacks hacia un proveedor de registro concreto. INFRO tiene caché de coincidencia exacta, reglas de fallo de ruta, un gateway MCP y exportación de OpenTelemetry.
  • Llamas a proveedores que INFRO no conecta, o a endpoints que no sirve: batches, archivos, fine-tuning, Realtime, embeddings en proveedores distintos de OpenAI, Azure OpenAI, Mistral o un endpoint compatible con OpenAI.
  • Operarlo te cuesta poco porque un equipo de plataforma ya se encarga de Postgres, Redis y las actualizaciones.

Los cambios, uno por fila. Todo lo que no aparece aquí queda como está.

 LiteLLMINFRO
URL baseTu proxy, por ejemplo http://0.0.0.0:4000.https://api.infro.io/v1
ClaveUna clave virtual de LiteLLM (sk-...) de /key/generate.Una clave de gateway de INFRO, creada en la consola o en la API de gestión. Las claves de proveedor pasan de litellm_params a conexiones de INFRO.
Id del modeloUn model_name de model_list, como gpt-4o.Una ruta con el mismo nombre, para que quienes llaman sigan enviándolo, o vendor/model directamente.
Campos del cuerpometadata { tags, trace_id, trace_user_id, generation_name }, cache { ttl, namespace }, user.metadata { user_id, session_id, tags }, cache para la caché de respuestas, X-INFRO-Trace-Id para un id de traza.

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"] },
});

Después · 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` pasa a ser rutas

Cada model_name con varios deployments pasa a ser una ruta con esos destinos; los pesos rpm pasan a ser destinos ponderados; router_settings.fallbacks pasan a ser los destinos posteriores de la ruta o fallbacks.

Conserva el SDK

El proveedor compatible con OpenAI de LiteLLM envía todo lo que va después de openai/ como id de modelo, así que openai/anthropic/claude-sonnet-5.5 llega a INFRO como anthropic/claude-sonnet-5.5. Los respaldos ocurren entonces en INFRO, no en el SDK.

O conserva el proxy detrás de INFRO

Conecta el proxy como una conexión openai-compatible mientras haces la migración. Ten en cuenta que INFRO verá entonces solo el proxy como un único proveedor, así que el failover y el costo por proveedor seguirán ocurriendo dentro de LiteLLM hasta que conectes los proveedores directamente.

Los objetos de LiteLLM frente a los de INFRO, según la documentación pública de LiteLLM leída el 19 de octubre de 2026 y comprobados contra lo que implementa el gateway. Una fila dice que INFRO no tiene nada.

LiteLLMQué hace allíEn INFRO
`model_list` y `litellm_params`misma formaDeployments por nombre de modelo, con las claves de proveedor en la configuración.Conexiones de proveedor (claves selladas, varias por proveedor) y rutas sobre ellas.
Claves virtualesmisma formaClaves emitidas por el proxy con modelos permitidos, presupuesto, tpm y rpm, equipo y usuario.Claves de gateway con modelos, proveedores y rangos de IP permitidos, un entorno, un límite de gasto y un nivel de tasa de solicitudes; rotación y un interruptor de apagado.
Equipos, usuarios, presupuestosmisma formamax_budget y budget_duration por clave, equipo o usuario.Presupuestos por organización, proyecto, miembro, clave y cliente final, respetados bajo concurrencia, con 402 en el tope antes de la llamada al proveedor.
Límites de tpmdistintoLímites de tokens por minuto por clave o deployment.Niveles de tasa de solicitudes por clave y presupuestos en dólares. Sin límite de tokens por minuto.
Respaldos y reintentosmisma formafallbacks, num_retries, tiempos de enfriamiento, allowed_fails.Destinos de ruta y reglas de fallo por tipo (reintentar, hacer failover o detenerse); fallbacks por solicitud.
Respaldos por ventana de contexto y por política de contenidodistintoOtro modelo cuando el prompt es demasiado largo o la política de un proveedor lo rechaza.Una regla de fallo moderation puede hacer failover al siguiente destino. Sin respaldo por ventana de contexto.
CachédistintoCachés exactas y semánticas en Redis, S3, GCS, Qdrant y otros.Coincidencia exacta, opcional, para chat completions, alojada. Sin caché semántica.
Barreras de proteccióndistintoGuardrails conectables; varias integraciones requieren Enterprise.Reglas de patrones que bloquean, redactan o marcan, y comprobaciones con un modelo de decisión, en todos los planes que incluyen guardrails.
Callbacks de registrodistintoCallbacks a Langfuse y otras herramientas; registros de gasto en Postgres.El registro de solicitudes, las exportaciones y los spans a tu colector de OpenTelemetry.
Seguimiento del gastodistintoCosto a partir del mapa de precios de modelos de LiteLLM.Costo estimado del proveedor con tus tarifas negociadas o la tarifa de lista del fabricante, unpriced cuando se desconoce, conciliado con las APIs de costos de OpenAI y de Anthropic.
Gateway MCPmisma formaServidores MCP tras el proxy.Un gateway MCP para tus propios servidores MCP, con herramientas aprobadas y permisos por clave.
Gateway de agentes A2AnadaTráfico de agente a agente a través del proxy.Nada.
Operarlo tú mismodistintoMIT, Docker o pip, en cualquier lugar.Alojado. Lo autoalojado o híbrido es un acuerdo empresarial.Empresas — Disponible con un acuerdo enterprise, no en autoservicio.

Nuestra lectura de la documentación publicada de LiteLLM, no una prueba ni un benchmark. Si leímos algo mal, dínoslo y corregiremos la fila.

Lo que INFRO no hace

  • Ejecutarse en tu propia infraestructura sin un acuerdo enterprise, o permitirte leer su código fuente.
  • Caché semántica, respaldos por ventana de contexto, A2A.
  • Servir batches, archivos, fine-tuning o Realtime, o embeddings en proveedores distintos de OpenAI, Azure OpenAI, Mistral o un endpoint compatible con OpenAI.
  • Límites de tokens por minuto; INFRO limita por tasa de solicitudes y por dólares.

Lo que no se traslada

  • Registros de gasto e historial de solicitudes en tu Postgres de LiteLLM. No hay importador.
  • Claves virtuales. Emite claves de gateway de INFRO y rota a quienes llaman hacia ellas.
  • Callbacks y hooks personalizados. Usa la exportación de OpenTelemetry, o conserva esa lógica en tu código.

Preguntas

¿Puedo seguir usando el SDK de Python de LiteLLM?
Sí. Llama a INFRO a través del proveedor compatible con OpenAI de LiteLLM: model="openai/<INFRO model id>" con api_base="https://api.infro.io/v1" y tu clave de INFRO.
¿INFRO es de código abierto como LiteLLM?
No. INFRO es un servicio alojado; hay un despliegue autoalojado o híbrido disponible con un acuerdo enterprise.
¿Quién paga a los proveedores de modelos?
Tú, directamente, como con LiteLLM. INFRO es una suscripción y añade 0% al gasto en modelos.

Migra con nosotros o por tu cuenta

El programa de migración traslada en una llamada tu configuración de LiteLLM a conexiones, rutas y presupuestos de INFRO, y migra contigo el primer servicio. Tus proveedores te siguen facturando directamente; INFRO es una suscripción y agrega 0% al gasto en modelos.

Fuentes

Cada afirmación de esta página sobre LiteLLM proviene de una de estas fuentes, leídas el 19 de octubre de 2026. Nada se deduce de una prueba, un benchmark o una conversación.