Codex CLI, आपके अपने GPU पर।
Codex CLI में LM Warden को कस्टम मॉडल प्रोवाइडर के रूप में जोड़ें और एक लोड किया गया मॉडल इस्तेमाल करें।
शब्दों में: Codex CLI अपने अनुरोध LM Warden को भेजता है, जिसमें base_url warden पर सेट है और env_key में warden की कुंजी है। LM Warden कुंजी जाँचता है, OpenAI Responses समझता है, कुंजी की प्राथमिकता के हिसाब से अनुरोध को क़तार में रखता है और उसे रेप्लिका राउटर को सौंपता है। राउटर हर सेशन को उसी रेप्लिका पर भेजता है जिसके पास उसका कैश पहले से है; हर GPU पर मॉडल की एक अलग कॉपी चलती है।
- प्रोटोकॉल
- OpenAI Responses
- सपोर्ट
- सिर्फ़ लोकल मॉडल
सिर्फ़ लोकल मॉडल। Codex सिर्फ़ Responses API इस्तेमाल करता है; warden लोड किए गए मॉडल के लिए POST /v1/responses को Chat Completions में बदल देता है, इसलिए जवाब, टूल कॉल और उपयोग Codex तक Responses इवेंट के रूप में पहुँचते हैं। यह स्टेटलेस है: Codex हर टर्न में store:false और पूरी बातचीत भेजता है, और previous_response_id स्वीकार नहीं किया जाता। थिंकिंग डिफ़ॉल्ट रूप से चालू है (Codex रीज़निंग सारांश माँगता है और मॉडल की रीज़निंग सारांश के रूप में दिखती है; इसे बंद करने के लिए config.toml में model_reasoning_effort = "none" सेट करें), होस्टेड वेब सर्च हटा दिया जाता है (web_search = "disabled" सेट करें), और राउटर के नियम लागू नहीं होते। model_context_window को मॉडल की असली विंडो पर सेट करें: जिन नामों को Codex नहीं जानता उनके लिए वह 272k मान लेता है। इंजन में टूल कॉलिंग चालू होनी चाहिए (vLLM: --enable-auto-tool-choice और एक --tool-call-parser)। जो मॉडल लोड नहीं है उसके अनुरोध पर 404 मिलता है और Codex हार मानने से पहले कई सेकंड तक दोबारा कोशिश करता है।
आवश्यकताएँ
- टूल कॉलिंग वाला मॉडल चाहिए (एजेंटिक एडिट के लिए)।
- कम से कम 32,768 टोकन के कॉन्टेक्स्ट के साथ सबसे अच्छा काम करता है।
सेटअप
कंसोल में Connect ये फ़ाइलें आपके warden के पते, आपकी कुंजी और आपके चुने हुए मॉडल के साथ लिखता है। यहाँ ये प्लेसहोल्डर के साथ दी गई हैं।
लोकल मॉडल
~/.codex/config.toml में LM Warden को मॉडल प्रोवाइडर के रूप में जोड़ें।
config.toml (~/.codex/config.toml)model = "your-served-model-name" model_provider = "lmwarden" # Codex assumes a 272k window for models it does not know; set the real one. model_context_window = 32768 [model_providers.lmwarden] name = "LM Warden" base_url = "https://your-warden/v1" env_key = "LMWARDEN_KEY" wire_api = "responses" # The model's context window is unknown: 32768 is a guess. Set it to the model's real window.
export LMWARDEN_KEY=vw_YOUR_KEY codex exec "Reply with the single word OK."
आधिकारिक दस्तावेज़: https://learn.chatgpt.com/docs/config-file/config-reference (2026-10-04 की स्थिति)।