Home
Login

Pasarela unificada de llamadas a la API LLM, compatible con más de 100 proveedores de modelos de lenguaje grandes con llamadas en formato OpenAI.

NOASSERTIONPython 24.4kBerriAI Last Updated: 2025-06-21

LiteLLM - Pasarela Unificada de Llamadas a la API de Modelos de Lenguaje Grandes

Resumen del Proyecto

LiteLLM es un SDK de Python de código abierto y un servidor proxy (pasarela LLM) que puede llamar a más de 100 API de modelos de lenguaje grandes en formato OpenAI, incluidos los principales proveedores como Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropic, Sagemaker, HuggingFace, Replicate, Groq, etc.

Dirección de GitHub: https://github.com/BerriAI/litellm

Funciones Principales

1. Formato de API Unificado

  • Estandarización del Formato de Entrada: Convierte todas las entradas de los proveedores a un formato unificado.
  • Consistencia del Formato de Salida: La respuesta de texto siempre está disponible en ['choices'][0]['message']['content'].
  • Soporte de Múltiples Endpoints: Soporta endpoints de completion, embedding e image_generation.

2. Garantía de Alta Disponibilidad

  • Lógica de Reintento/Respaldo: Soporta reintentos y respaldos automáticos entre múltiples implementaciones (como Azure/OpenAI).
  • Funcionalidad de Enrutamiento: Enrutamiento inteligente al mejor modelo disponible.
  • Balanceo de Carga: Distribuye la carga de solicitudes entre múltiples implementaciones.

3. Control de Costos y Permisos

  • Gestión de Presupuesto: Establece límites de presupuesto por proyecto, clave de API y modelo.
  • Limitación de Tasa: Evita el uso excesivo de llamadas a la API.
  • Seguimiento de Uso: Estadísticas detalladas de llamadas y análisis de costos.

Características Principales

Ejemplo de Uso del SDK de Python

Llamada Básica

from litellm import completion
import os


os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"

messages = [{"content": "Hello, how are you?", "role": "user"}]

# OpenAI
response = completion(model="openai/gpt-4o", messages=messages)

# Anthropic
response = completion(model="anthropic/claude-3-sonnet-20240229", messages=messages)

Soporte de Llamadas Asíncronas

from litellm import acompletion
import asyncio

async def test_get_response():
    user_message = "Hello, how are you?"
    messages = [{"content": user_message, "role": "user"}]
    response = await acompletion(model="openai/gpt-4o", messages=messages)
    return response

response = asyncio.run(test_get_response())

Respuesta en Streaming

from litellm import completion

response = completion(model="openai/gpt-4o", messages=messages, stream=True)
for part in response:
    print(part.choices[0].delta.content or "")

Funcionalidad del Servidor Proxy

Inicio Rápido

pip install 'litellm[proxy]'
litellm --model huggingface/bigcode/starcoder
# INFO: Proxy running on http://0.0.0.0:4000

Llamada del Cliente

import openai

client = openai.OpenAI(
    api_key="anything",
    base_url="http://0.0.0.0:4000"
)

response = client.chat.completions.create(
    model="gpt-3.5-turbo", 
    messages=[{
        "role": "user",
        "content": "this is a test request, write a short poem"
    }]
)

Proveedores Soportados

LiteLLM soporta más de 30 proveedores principales de LLM, incluyendo:

Proveedores de Servicios en la Nube Principales

  • OpenAI - Modelos de la serie GPT
  • Azure - Servicio Azure OpenAI
  • AWS - Bedrock y SageMaker
  • Google - Vertex AI, PaLM, Gemini
  • Anthropic - Modelos de la serie Claude

Plataformas de Código Abierto y Profesionales

  • HuggingFace - Alojamiento de modelos de código abierto
  • Replicate - Servicio de API de modelos
  • Together AI - Inferencia de modelos de código abierto
  • Groq - Chip de inferencia de alta velocidad
  • Ollama - Ejecución de modelos locales

Plataformas de Funciones Especiales

  • Cohere - NLP de nivel empresarial
  • AI21 - Modelo Jurassic
  • Perplexity - Generación aumentada por búsqueda
  • DeepInfra - Inferencia de alto rendimiento

Observabilidad y Registro

LiteLLM tiene soporte incorporado para múltiples plataformas de monitoreo y registro:

import litellm
import os


os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key"
os.environ["HELICONE_API_KEY"] = "your-helicone-auth-key"
os.environ["LANGFUSE_PUBLIC_KEY"] = "your-langfuse-public-key"


litellm.success_callback = [
    "lunary", "mlflow", "langfuse", 
    "athina", "helicone"
]


response = completion(
    model="openai/gpt-4o", 
    messages=[{"role": "user", "content": "Hi 👋"}]
)

Plataformas de monitoreo soportadas:

  • Lunary - Monitoreo de aplicaciones LLM
  • MLflow - Seguimiento de experimentos de aprendizaje automático
  • Langfuse - Seguimiento de aplicaciones LLM
  • Helicone - Monitoreo de llamadas a la API
  • Athina - Evaluación de aplicaciones de IA

Funciones de Nivel Empresarial

Sistema de Gestión de Claves


curl 'http://0.0.0.0:4000/key/generate' \
  --header 'Authorization: Bearer sk-1234' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "models": ["gpt-3.5-turbo", "gpt-4", "claude-2"], 
    "duration": "20m",
    "metadata": {
      "user": "user@company.com", 
      "team": "core-infra"
    }
  }'

Implementación con Docker


git clone https://github.com/BerriAI/litellm
cd litellm


echo 'LITELLM_MASTER_KEY="sk-1234"' > .env
echo 'LITELLM_SALT_KEY="your-salt-key"' > .env


docker-compose up

Interfaz de Administración Web

  • Acceda a /ui para obtener una interfaz de administración visual
  • Establezca presupuestos y límites de tasa para múltiples proyectos
  • Monitoree el uso de la API en tiempo real
  • Gestión de usuarios y equipos

Especificaciones Técnicas

Requisitos del Sistema

  • Versión de Python: Requiere Python 3.7+
  • Requisitos de Dependencia:
    • openai>=1.0.0 (v1.0.0+ requerido)
    • pydantic>=2.0.0 (v1.40.14+ requerido)

Estándares de Calidad del Código

  • Estilo de Código: Siga la guía de estilo de Google Python
  • Herramientas de Formateo: Use Black e isort
  • Verificación de Tipos: MyPy y Pyright
  • Revisión de Código: Ruff para la revisión de lint

Garantía de Estabilidad

  • Versión Estable: Use imágenes de Docker con la etiqueta -stable
  • Pruebas de Carga: Realice pruebas de carga de 12 horas antes del lanzamiento
  • Integración Continua: Proceso completo de CI/CD

Soporte Comercial

Características de la Edición Empresarial

  • Funciones de Seguridad Avanzadas: Integración de inicio de sesión único (SSO)
  • Soporte Profesional: Soporte dedicado en Discord y Slack
  • Integración Personalizada: Integración personalizada de proveedores de LLM
  • Garantía de SLA: Acuerdo de nivel de servicio
  • Prioridad de Funciones: Desarrollo prioritario de funciones solicitadas por la empresa

Soporte de la Comunidad

  • GitHub Issues: Solicitudes de funciones e informes de problemas
  • Comunidad de Discord: Comunicación y soporte en tiempo real
  • Documentación Completa: Documentación y tutoriales detallados de la API

Casos de Uso

1. Implementación de LLM Multi-Nube

  • Evite el bloqueo del proveedor
  • Implemente llamadas a modelos multiplataforma
  • Reduzca los costos de migración

2. Optimización de Costos

  • Enrutamiento inteligente al modelo disponible más barato
  • Control de presupuesto y monitoreo de uso
  • Optimización de llamadas API por lotes

3. Arquitectura de Alta Disponibilidad

  • Conmutación por error automática
  • Balanceo de carga
  • Soporte de implementación en múltiples regiones

4. Mejora de la Eficiencia del Desarrollo

  • Interfaz de API unificada
  • Cambio de modelo simplificado
  • Amplio soporte de SDK

Instalación y Comienzo Rápido

Instalación Básica

pip install litellm

Instalación del Servidor Proxy

pip install 'litellm[proxy]'

Configuración del Entorno de Desarrollo


git clone https://github.com/BerriAI/litellm
cd litellm


python -m venv .venv
source .venv/bin/activate


pip install -e ".[all]"


uvicorn litellm.proxy.proxy_server:app --host localhost --port 4000 --reload

Resumen

LiteLLM ha sido adoptado por empresas de renombre como Rocket Money, Samsara, Lemonade y Adobe. Al proporcionar una interfaz de API unificada, potentes funciones de enrutamiento y características de gestión de nivel empresarial, simplifica significativamente la complejidad de la gestión de entornos multi-LLM, lo que lo convierte en una opción ideal para el desarrollo de aplicaciones de IA modernas.