Saltar al contenido principal
Contenido actualizado: 2026-10-24
LiteLLM puede funcionar como la puerta de enlace AI unificada para la empresa: las aplicaciones se conectan a LiteLLM, que luego llama a Crazyrouter. Los proyectos, departamentos, llaves virtuales, presupuestos y políticas de auditoría deben configurarse en tu propio despliegue de LiteLLM y no se habilitan automáticamente al introducir la API Key de Crazyrouter.

Arquitectura de integración y preparación

Prepara Python 3.11, una clave de inferencia dedicada de Crazyrouter y los modelos a los que se pueda acceder con esa clave. Este documento ha sido verificado con LiteLLM 1.106.2, aunque podría no ser la última versión. Los cuatro modelos de ejemplo son claude-opus-5-5, gpt-6-astra, glm-5.3, deepseek-v4.1-flash; ajusta según tus modelos disponibles.
CRAZYROUTER_API_KEY es la credencial de LiteLLM para llamar a Crazyrouter desde el servidor; LITELLM_MASTER_KEY es tu clave de administrador de LiteLLM. No las mezcles ni envíes la clave de administrador a departamentos o usuarios finales. Mantén las claves reales solo en el entorno del servidor o gestor de claves y nunca las subas a Git, documentación o frontend.

1. Instalación y variables de entorno

Ejecuta los siguientes comandos en un directorio de trabajo nuevo. Las variables de entorno solo afectan al terminal actual; en un gateway existente, sigue usando la clave principal gestionada de manera segura, no la regeneres sin motivo. Cuando uses contenedores, debes pasar las variables dentro del contenedor. En Windows, si no puedes activar el entorno virtual, puedes invocar directamente .venv\Scripts dentro de python.exe y litellm.exe.

2. Exportar configuración e iniciar el servicio

Se recomienda usar GET /v1/litellm/config, que ya está autenticado, para obtener los modelos y una instantánea de precios válida para la credencial actual. La respuesta es un objeto contenedor: solo guarda config como la configuración de LiteLLM, no escribas toda la respuesta. Guarda el siguiente script como export_config.py, usa JSON (también válido en YAML), conserva el precio de model_info y utiliza variables de entorno en vez de la clave real.
export_config.py
El script rechaza sobrescribir archivos existentes; antes de actualizar, haz una copia de seguridad, compara la configuración y luego combina los cambios en el gateway actual para recargar explícitamente. 4100 es solo un puerto de ejemplo; si está ocupado, cambia el comando de inicio y la dirección de verificación. Este comando solo escucha en la máquina local y no modifica ni reinicia servicios existentes.

3. Verificar el gateway local

Deja ejecutándose la terminal del proxy y, en otro terminal con el mismo entorno instalado, configura la misma LITELLM_MASTER_KEY sin regenerarla. Guarda el siguiente script como verify_proxy.py. Esta comprobación de administrador generará un uso real del modelo; en aplicaciones normales debes usar llaves virtuales restringidas.
verify_proxy.py
Esta es una prueba mínima (smoke test) y no una certificación completa de compatibilidad. Para cada modelo real, prueba también solicitudes normales y en streaming: revisa el cuerpo final, razón de finalización, SSE de [DONE] y usage final. Las pruebas de herramientas deben validar los parámetros y el retorno del resultado. Solo HTTP 200, texto de pensamiento o JSON dentro de Markdown no son suficiente.

4. Protocolo nativo Claude (opcional)

La exportación por defecto usa openai/<model>, api_base es para https://api.crazyrouter.com/v1. Si necesitas caché nativa de Claude o semántica thinking, exporta por separado con provider=anthropic&models=claude-opus-5-5 y usa anthropic/<model> y la dirección raíz https://api.crazyrouter.com, sin agregar /v1 ni /chat/completions.
El ejemplo muestra solo la estructura de conexión, no los precios. En uso real, combina model_info de la exportación nativa. Si se registran adaptadores OpenAI y nativos al mismo tiempo, usa un claude-native (como model_name) independiente para la entrada nativa; así el cliente puede llamarla por el alias, evitando conflictos con elementos de nombre igual.

Compatibilidad y manejo de errores

  • Mantén drop_params: false y no omitas silenciosamente parámetros no soportados.
  • Se ha verificado el json_schema de Claude; json_object no es compatible y no se convertirá automáticamente en otro tipo de salida.
  • En las rutas de Claude actualmente probadas, si se fuerzan herramientas o solicitudes required, serán rechazadas explícitamente: HTTP 400, error directo unsupported_forced_tool_choice. Si necesitas selección automática de herramientas, tu cliente debe cambiar explícitamente a tool_choice: "auto"; el gateway no hará el downgrade automáticamente.
  • Ante esos rechazos, el cliente recibirá una explicación estándar en inglés sin exponer configuraciones internas ni credenciales. La versión 1.106.2 del adaptador OpenAI de LiteLLM mantiene los mensajes en inglés, pero envuelve el código de error en "400"; no te bases solo en el código original.
  • El cache_control de Claude permite pasar el 5m / TTL de 1h; se verificó creación y lectura de 5m, 1h solo se probó en escritura y no se garantiza tasa de acierto o lectura pasada una hora.
  • Capacidades de modelo, disponibilidad, visión, contexto largo, failover y presupuesto empresarial deben ser validados por separado; no te fíes solo del nombre del modelo ni de este documento de integración.

Equipos, presupuesto y seguridad en producción

  • Crea equipos en LiteLLM y llaves virtuales restringidas por proyecto o departamento, estableciendo permisos de modelo, presupuesto y límites de velocidad; nunca compartas la clave principal.
  • Configura base de datos, autenticación, permisos y persistencia según las directrices oficiales de LiteLLM. Ejecutar localmente sin base de datos solo verifica la inferencia, el presupuesto real no se aplicará; confía en las características y requisitos del release que usas.
  • Antes de lanzar, prueba la denegación por acceso indebido de modelos, agotamiento de presupuesto, revocación de claves, limitación y auditoría. Protege prompts e información personal en logs y define plazos claros de retención.
  • Habilita HTTPS y control de acceso para conexiones externas; nunca expongas directamente el servicio de demostración local o la administración.
  • Los precios exportados son instantáneas. Ante cambios de precio o descuento, vuelve a exportar, importar y recargar; no es automático. La estimación de costes por LiteLLM no equivale al valor final de la factura de Crazyrouter; revisa periódicamente.

Preguntas frecuentes

Referencia oficial