Lo que se suele preguntar antes de instalarlo.
¿Qué es LM Warden?
Un plano de control para motores de inferencia en tu propio hardware: vLLM y llama.cpp en un host Linux con GPU NVIDIA, o MLX y llama.cpp en una app beta en un Mac con chip de Apple. Descargas un modelo de HuggingFace, lo cargas en tu propia GPU, generas una clave de API y lo llamas a través de un punto de conexión /v1 compatible con OpenAI. Desde una interfaz web puedes cargar y descargar modelos, seguir en directo los registros de los motores, probar los modelos en un chat y consultar las estadísticas de GPU y de tokens; además, cada clave de API tiene su propia página. No hace los modelos más rápidos ni modifica los motores: añade lo que un motor por sí solo no ofrece.
¿En qué GPU y sistemas operativos funciona?
Linux y macOS. En Linux: GPU NVIDIA en un host x86_64. El mínimo es Turing (sm_75, la generación RTX serie 20): la imagen base incluye CUDA 13, que dejó de admitir Maxwell, Pascal y Volta, así que una GTX 1080 Ti, una Titan X o una V100 no funcionarán. Se admite de Turing a Blackwell, incluidas Ada, Hopper y la serie RTX 50. En macOS: chips de Apple (M1 o posterior), mediante una app para Mac aparte, en beta: una app nativa de la barra de menús para macOS 14 o posterior que ejecuta modelos con MLX y una compilación Metal de llama.cpp, ofrece la misma API compatible con OpenAI y muestra el mismo panel en su propia ventana; se descarga de lmwarden.com/download/mac (unos 110 MB, con un archivo SHA-256). Está firmada ad hoc y sin notarizar, así que la primera vez que la abras tendrás que permitirla en Ajustes del Sistema › Privacidad y seguridad › Abrir igualmente (en macOS 14 también funciona clic derecho › Abrir); de forma predeterminada solo escucha en la interfaz de loopback, y no se actualiza sola. Windows es lo siguiente; estamos trabajando en ello, aún sin fecha. Esta versión no admite ROCm, GPU Intel ni CPU; las GPU AMD Radeon e Intel están en la hoja de ruta, y cuál llegará primero depende de los comentarios que recibamos en las GitHub Discussions del proyecto. Se admiten varias GPU en una misma máquina Linux; repartir un modelo entre varias máquinas, no.
¿Funcionará con él mi cliente de OpenAI actual?
Sí. La puerta de enlace en /v1/* es compatible con OpenAI, así que el SDK openai, LangChain, OpenWebUI y tus propios agentes funcionan sin cambios en cuanto cambias base_url y la clave. GET /v1/models también indica el max_model_len de cada modelo, así que un cliente no tiene que adivinar la ventana de contexto. Codex CLI, que solo admite la OpenAI Responses API, también funciona: POST /v1/responses se traduce a Chat Completions para un modelo que hayas cargado (sin estado y solo en local: las reglas del enrutador no se aplican).
¿Puedo usarlo con Claude Code sin dejar mi cuenta de Anthropic?
Sí. Configura ANTHROPIC_BASE_URL con la dirección del warden, mantén tu sesión habitual de claude y pon la clave del warden en ANTHROPIC_CUSTOM_HEADERS como X-LMWarden-Key. Una regla asigna un nombre de modelo que pide Claude Code, como claude-haiku*, a un modelo cargado en tus GPU; todos los demás modelos, y todas las demás rutas /v1, se reenvían a Anthropic byte a byte con tu propia cuenta. Necesita Claude Code 2.1.227 o posterior, está desactivado de forma predeterminada y no se reenvía nada hasta que una clave tenga activada la opción «May relay to Anthropic». Los clientes más antiguos pueden seguir usando el modo Solo local.
¿Ve Anthropic mi clave del warden? ¿Y el warden, mis credenciales de Anthropic?
Anthropic nunca ve la clave del warden: va en su propio encabezado y se elimina antes de reenviar la solicitud. El warden sí maneja tus credenciales de Anthropic, porque tiene que reenviarlas, pero solo a Anthropic. Nunca se envían a un motor ni se registran, y no se guarda ni se muestra en god mode nada de una solicitud reenviada a Anthropic.
¿Qué motores de inferencia usa?
En Linux, las versiones oficiales de vLLM v0.32.0 y llama.cpp b11719, elegidas por modelo y ejecutadas sin modificar: sin imágenes parcheadas, sin forks y sin monkeypatching. Si eliges un archivo .gguf, se usa llama.cpp, que gracias a la cuantización GGUF permite cargar modelos más grandes en tarjetas más pequeñas y mantiene útiles las GPU más antiguas. TensorRT-LLM, SGLang y el runtime de Ollama no se incluyen; la beta para Mac ejecuta los modelos con MLX, su motor predeterminado, o con una compilación Metal de llama.cpp para archivos .gguf, y no incluye vLLM.
¿Sale algo de mi máquina?
Nada sale del host a menos que actives el enrutador de Claude Code y marques una clave con «May relay to Anthropic». En ese caso, las solicitudes de esa clave para modelos de Claude que ninguna regla envía a tus GPU van a Anthropic, con la cuenta de Anthropic del propio usuario, y nada más. No hay cuenta, ni comprobación de licencia, ni analítica. Por lo demás, el sistema solo se conecta al exterior cuando se lo pides: a huggingface.co para descargar pesos (HF_HUB_OFFLINE=1 impide incluso eso), a Docker Hub cuando abres el selector de versión del motor y al registro de las imágenes de la versión, que se sustituye por docker load en una instalación sin conexión o aislada de la red.
¿Se guardan los prompts y las respuestas?
No de forma predeterminada. El historial de solicitudes en el que se basan los gráficos y el uso por clave solo contiene metadatos y no tiene ninguna columna para el texto de prompts o respuestas. Hay dos funciones de diagnóstico que pueden capturar contenido, y las dos están desactivadas a menos que las actives: god mode (VW_GODMODE_ENABLED), una vista acotada en memoria del tráfico de una clave, y el registro de contenido (VW_CONTENT_LOG_ENABLED), que escribe en disco solo para los ID de token que indiques.
¿Cómo funcionan las claves de API para un equipo?
Cada app o persona recibe su propia clave vw_ con su propia página. Puedes fijar una prioridad de P0 a P9 (una solicitud P9 en espera siempre pasa antes que una P8), pausar una clave para que sus clientes reciban 403 token paused mientras terminan las solicitudes en curso, o rotarla con un periodo de gracia en el que el secreto anterior sigue funcionando. Las solicitudes, los tokens de prompt y los tokens de respuesta se contabilizan por clave y por IP de cliente, con la espera en cola y la latencia de cada clave. Los scripts, los sistemas de CI y los agentes que usan la API de control tienen sus propios tokens de administrador vwa_ en lugar de la contraseña de administrador.
¿Puedo ejecutar varios modelos en una misma GPU?
No. La regla de un modelo cargado por GPU se comprueba antes de que arranque un motor. Puedes cargar modelos distintos en tarjetas distintas del mismo host, y repartir un modelo entre varias tarjetas con el paralelismo de tensores de vLLM.
¿Qué hace falta para instalarlo?
En Linux, un host con Docker, Docker Compose v2.24 o posterior, una GPU NVIDIA, el NVIDIA Container Toolkit y unos 40 GB libres donde Docker guarda sus imágenes. El instalador comprueba el host, te deja elegir las GPU, genera los secretos, descarga las imágenes de la versión y te ofrece iniciar todos los servicios. Después, un asistente de primer inicio en el navegador te pide las GPU que se van a usar, un token de HuggingFace y los datos de tu cuenta de administrador. En un Mac con chip de Apple, en cambio, basta con descargar la app beta; consulta la sección de Mac.
¿Cuánto cuesta?
Nada. LM Warden tiene licencia Apache-2.0. Es software que ejecutas tú, no una API en la nube: tú pones el hardware, el controlador, el disco y la electricidad, y, una vez pagado el hardware, cada solicitud cuesta electricidad, no una tarifa por token.