LM Warden

OpenAI SDK,运行在你自己的 GPU 上。

任何 OpenAI SDK,或任何带有兼容 OpenAI 的 Base URL 设置的工具。

来自 OpenAI SDK 的请求去往何处 OpenAI SDK 把请求发送给 LM Warden,base_url 设为 warden,api_key 填写 warden 密钥。LM Warden 检查密钥,支持 OpenAI Chat Completions,按密钥优先级为请求排队,并交给副本路由器。路由器让每个会话留在已持有其缓存的副本上(每块 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
来自 OpenAI SDK 的请求去往何处 OpenAI SDK 把请求发送给 LM Warden,base_url 设为 warden,api_key 填写 warden 密钥。LM Warden 检查密钥,支持 OpenAI Chat Completions,按密钥优先级为请求排队,并交给副本路由器。路由器让每个会话留在已持有其缓存的副本上(每块 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
来自 OpenAI SDK 的请求去往何处:Connect 写入的两项设置,中间是 warden,然后每块 GPU 上一份模型副本。

文字说明: OpenAI SDK 把请求发送给 LM Warden,base_url 设为 warden,api_key 填写 warden 密钥。LM Warden 检查密钥,支持 OpenAI Chat Completions,按密钥优先级为请求排队,并交给副本路由器。路由器让每个会话留在已持有其缓存的副本上(每块 GPU 一个模型副本)。

协议
OpenAI Chat Completions
支持情况
仅限本地模型

仅限本地模型。不会直通到 OpenAI:对 gpt-* 的请求会得到 404。提供 Chat Completions 和 Completions;/v1/responses 是到 Chat Completions 的无状态转换(参见 Codex CLI)。

设置

在控制台中,Connect 会用你的 warden 地址、你的密钥和你选择的模型写入这些文件。下面以占位符展示这些文件。

本地模型

base_url 是这个 warden 的 /v1,warden 密钥就是 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."}]}'

官方文档:https://github.com/openai/openai-python#readme(查阅日期:2026-10-04)。