- LiteLLM actúa como un puente unificado que estandariza el acceso a más de 100 modelos de lenguaje bajo una sola API compatible con OpenAI.
- La implementación mediante Docker permite gestionar desde una interfaz administrativa sencilla hasta despliegues complejos en Kubernetes y nubes públicas.
- El sistema ofrece un control granular sobre el gasto, la seguridad de las claves y la gestión de cuotas mediante el uso de bases de datos PostgreSQL y Redis.
Imagina que tu empresa quiere sacar partido a la inteligencia artificial, pero se encuentra con el muro de la fragmentación. Cada proveedor de LLM, ya sea OpenAI, Anthropic o Google, tiene sus propias reglas, sus formatos de petición y sus formas de autenticarse. La solución puede pasar por desplegar LiteLLM con Docker. Y es que, para un equipo técnico, perder horas valiosas adaptando el código cada vez que quieren probar un modelo nuevo o cambiar de proveedor acaba siendo un estorbo para la innovación y un gasto de recursos innecesario.
LiteLLM es una herramienta de código abierto que funciona como un traductor universal. Básicamente, se coloca en medio de tu aplicación y de los distintos modelos, ofreciéndote una interfaz única compatible con OpenAI. De esta forma, puedes saltar de un modelo de Groq a uno de Claude o incluso a un Llama local ejecutado en Ollama sin tener que reescribir ni una sola línea de tu lógica de negocio, simplificando el despliegue de una manera increíble.
Montaje rápido con Docker y Docker Compose
Si quieres evitarte líos de dependencias y mantener tu sistema limpio, lo ideal es tirar de Docker. Para ponerlo en marcha, puedes clonar el repositorio oficial de BerriAI y configurar un archivo .env con tu LITELLM_MASTER_KEY y una LITELLM_SALT_KEY. Esta última es fundamental porque se encarga de cifrar las credenciales de los proveedores que guardes en la base de datos; si la cambias más adelante, perderás el acceso a los modelos configurados.
Una vez tengas los archivos listos, un simple docker-compose up levanta el gateway. Por defecto, el servicio se aloja en el puerto 4000. Si buscas algo aún más sencillo, existen imágenes ya preparadas que generan automáticamente una clave maestra al iniciar, la cual puedes rescatar revisando los logs del contenedor. Para quienes necesitan un ecosistema completo, es muy común combinar LiteLLM con Open WebUI para tener una interfaz de chat visual y potente.
Gestión del Panel de Administración y Modelos
Una de las joyas de LiteLLM es su Admin UI, accesible en la ruta /ui. Para entrar, usas el usuario ‘admin’ y la clave maestra que definiste. Desde aquí, puedes añadir modelos seleccionando el proveedor de un catálogo predefinido, pegando tu API key y verificando la conexión con un clic. No hace falta que seas un experto en YAML para gestionar tus endpoints.
Si prefieres la línea de comandos para desplegar LiteLLM con Docker, puedes usar el script litellm_manage mediante docker exec. Esto te permite listar modelos, añadir nuevos o eliminar los que ya no necesites sin entrar en el navegador. Además, si trabajas con modelos locales a través de Ollama, solo tienes que indicar la URL del host (normalmente http://host.docker.internal:11434 en macOS o Windows) y LiteLLM se encargará de hacer el puente.
Control de Acceso y Claves Virtuales
En un entorno profesional, no puedes ir repartiendo la clave maestra de tu API a todo el mundo. Para solucionar esto, LiteLLM permite crear claves virtuales personalizadas. Estas claves son las que entregas a tus desarrolladores o aplicaciones, y lo mejor es que puedes ponerles límites de presupuesto y restricciones de acceso a modelos específicos.
Para que esta funcionalidad de seguimiento de gasto y gestión de usuarios funcione, necesitas una base de datos PostgreSQL. En el archivo de docker-compose estándar, ya viene incluida una instancia de Postgres que almacena los logs de consumo y las claves. Si el despliegue crece, también puedes integrar Redis para gestionar el rate limiting y el almacenamiento en caché, evitando así que una aplicación sature tus cuotas de API.
Integración en el Código y Consumo de la API
Una vez que el proxy está corriendo, cualquier librería que soporte la API de OpenAI te servirá. Solo tienes que cambiar la base_url hacia tu servidor de LiteLLM. Si usas el SDK de Python de OpenAI, basta con apuntar al puerto 4000 y usar la clave virtual generada. Esto hace que la migración entre modelos sea transparente.
Para los que prefieren usar curl o herramientas de red, las peticiones se envían como un POST estándar al endpoint /v1/chat/completions. Es importante recordar que, dependiendo de cómo configures el modelo, podrías necesitar especificar el prefijo del proveedor (por ejemplo, groq/llama3) para que el proxy sepa exactamente a dónde redirigir la solicitud.
Despliegues de Producción y Escalado
Cuando pasas de un experimento local a un entorno real en AWS, Azure o Google Cloud, el despliegue cambia. Tienes dos caminos: el modo monolítico, donde una sola imagen gestiona el tráfico, la API y la UI, o el modo microservicios, donde el gateway, el backend y la interfaz se despliegan y escalan de forma independiente.
Para Kubernetes, lo más eficiente es usar Helm Charts. Esto permite configurar el autoescalado mediante HPA o KEDA, basándose en el consumo de CPU o en métricas de Prometheus. En la nube, se recomienda encarecidamente colocar un proxy inverso como Nginx o Caddy delante de LiteLLM para gestionar el cifrado HTTPS, ya que el tráfico interno del contenedor suele viajar en texto plano.
Seguridad y Buenas Prácticas
Para que el sistema sea robusto, a la hora de desplegar LiteLLM con Docker es vital no exponer el puerto 4000 directamente a internet. Lo ideal es bindearlo a 127.0.0.1 y dejar que el proxy inverso gestione el acceso. Además, el uso de gestores de secretos (como AWS Secrets Manager o Azure Key Vault) es preferible a escribir las claves directamente en archivos .env en producción.
Otro punto clave es la gestión de las migraciones de la base de datos. En despliegues grandes, es mejor ejecutar un job de migración independiente antes de levantar los pods del proxy, asegurando que el esquema de PostgreSQL esté actualizado sin bloquear el tráfico de las peticiones de IA.
Así de práctico es desplegar LiteLLM con Docker. Esta herramienta transforma la complejidad de manejar múltiples proveedores de IA en una operativa centralizada y eficiente. Al abstraer las diferencias entre APIs y añadir capas de seguridad y control de costes, permite que cualquier organización implemente una infraestructura de LLM escalable, segura y, sobre todo, flexible ante los constantes cambios del sector tecnológico.
Redactor especializado en temas de tecnología e internet con más de diez años de experiencia en diferentes medios digitales. He trabajado como editor y creador de contenidos para empresas de comercio electrónico, comunicación, marketing online y publicidad. También he escrito en webs de economía, finanzas y otros sectores. Mi trabajo es también mi pasión. Ahora, a través de mis artículos en Tecnobits, intento explorar todas las novedades y nuevas oportunidades que el mundo de la tecnología nos ofrece día a día para mejorar nuestras vidas.