LM Warden

El OpenAI SDK en tus propias GPU.

Cualquier OpenAI SDK, o cualquier herramienta que permita configurar una URL base compatible con OpenAI.

Adónde va una solicitud del OpenAI SDK El OpenAI SDK envía sus solicitudes a LM Warden, con base_url configurada con la dirección del warden y una clave del warden en api_key. LM Warden comprueba la clave, recibe la solicitud por OpenAI Chat Completions, la pone en cola según la prioridad de la clave y se la pasa al enrutador de réplicas, que mantiene cada sesión en la réplica que ya tiene su caché, con una copia del modelo por GPU. OpenAI SDK base_url the warden, at /v1 api_key vw_…, the warden key POST /v1/chat/completions LM Warden checks the key: one per app speaks OpenAI Chat Completions scheduler, key priority usage, latency and live stats per key Replica router a session goes back to the replica that holds its cache one model copy per GPU your GPUs: vLLM or llama.cpp replica 0, GPU 0 replica 1, GPU 1 replica 2, GPU 2 a conversation stays on its replica
Adónde va una solicitud del OpenAI SDK El OpenAI SDK envía sus solicitudes a LM Warden, con base_url configurada con la dirección del warden y una clave del warden en api_key. LM Warden comprueba la clave, recibe la solicitud por OpenAI Chat Completions, la pone en cola según la prioridad de la clave y se la pasa al enrutador de réplicas, que mantiene cada sesión en la réplica que ya tiene su caché, con una copia del modelo por GPU. OpenAI SDK base_url the warden, at /v1 api_key vw_…, the warden key POST /v1/chat/completions LM Warden checks the key: one per app speaks OpenAI Chat Completions scheduler, key priority usage, latency, live stats per key Replica router a session goes back to the replica that holds its cache replica 0 GPU 0 replica 1 GPU 1 replica 2 GPU 2 your GPUs: vLLM or llama.cpp a conversation stays on its replica
Adónde va una solicitud del OpenAI SDK: las dos opciones que configura Connect, el warden en medio y, después, una copia del modelo por GPU.

Descripción: El OpenAI SDK envía sus solicitudes a LM Warden, con base_url configurada con la dirección del warden y una clave del warden en api_key. LM Warden comprueba la clave, recibe la solicitud por OpenAI Chat Completions, la pone en cola según la prioridad de la clave y se la pasa al enrutador de réplicas, que mantiene cada sesión en la réplica que ya tiene su caché, con una copia del modelo por GPU.

Protocolo
OpenAI Chat Completions
Compatibilidad
Solo modelos locales

Solo modelos locales. No se reenvía nada a OpenAI: una solicitud de gpt-* recibe un 404. Se admiten Chat Completions y Completions; /v1/responses es una traducción sin estado a Chat Completions (consulta Codex CLI).

Configuración

En la consola, Connect genera estos archivos con la dirección de tu warden, tu clave y el modelo que hayas elegido. Aquí aparecen con marcadores de posición.

Modelos locales

base_url es el /v1 de este warden y la clave del warden es la clave de API.

Python
from openai import OpenAI

client = OpenAI(base_url="https://your-warden/v1", api_key="vw_YOUR_KEY")
response = client.chat.completions.create(
    model="your-served-model-name",
    messages=[{"role": "user", "content": "Reply with the single word OK."}],
)
print(response.choices[0].message.content)
TypeScript
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://your-warden/v1", apiKey: "vw_YOUR_KEY" });
const response = await client.chat.completions.create({
  model: "your-served-model-name",
  messages: [{ role: "user", content: "Reply with the single word OK." }],
});
console.log(response.choices[0].message.content);
curl
curl https://your-warden/v1/chat/completions \
  -H "Authorization: Bearer vw_YOUR_KEY" \
  -H "content-type: application/json" \
  -d '{"model": "your-served-model-name", "stream": false, "messages": [{"role": "user", "content": "Reply with the single word OK."}]}'

Documentación oficial: https://github.com/openai/openai-python#readme (consultada el 2026-10-04).