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 की स्थिति)।