LM Warden

OpenAI SDK を自分の GPU で。

任意の OpenAI SDK、または OpenAI 互換の ベース URL を設定できるあらゆるツール。

OpenAI SDK からのリクエストの行き先 OpenAI SDK は、base_url に warden を、api_key に warden のキーを設定して LM 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 は、base_url に warden を、api_key に warden のキーを設定して LM 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 は、base_url に warden を、api_key に warden のキーを設定して LM 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 時点)。