इसे छोड़कर कंटेंट पर जाएं
मुफ़्त साइन अप करें
Codex

Codex: model_provider, Base URL और wire_api

Codex प्रदाता के model_provider, Base URL, wire_api, API Key और Model ID सेट करें। प्रदाता, 401 और 404 त्रुटियां ठीक करें।

संक्षिप्त उत्तर

model_provider, Codex CLI को बताता है कि कौन-सा provider उपयोग करना है। इसका value [model_providers.<id>] के अंतर्गत परिभाषित provider id से मेल खाना चाहिए।

base_url वह API endpoint है जहां model requests भेजे जाते हैं। OpenAI-compatible provider के लिए यह आमतौर पर /v1 style endpoint की ओर संकेत करता है।

wire_api अनुरोध प्रोटोकॉल चुनता है। वर्तमान Codex केवल responses स्वीकार करता है और विकल्प न देने पर भी यही इस्तेमाल करता है।

यह कब महत्वपूर्ण है

  • आप custom OpenAI-compatible provider कॉन्फ़िगर कर रहे हैं
  • Codex कहता है कि provider नहीं मिला या model requests विफल होते हैं
  • आपको नहीं पता कि model_provider, model से कैसे अलग है
  • आप BetterToken, OpenAI या अन्य provider को एक config.toml में रख रहे हैं
  • आपको Base URL, API Key और Model ID अलग रखने हैं

Field संबंध

Fieldउद्देश्य
model_providerसक्रिय provider id चुनता है
[model_providers.<id>]एक provider का विस्तृत configuration परिभाषित करता है
nameprovider का display name
base_urlroot API endpoint
wire_apiprovider का अनुरोध प्रोटोकॉल; अभी केवल responses समर्थित है।
modeldefault main model ID
review_model/review जैसे code review flows के लिए उपयोग model

फ़ाइलें खोजें और बैकअप लें

यदि आपने अपना CODEX_HOME सेट किया है, तो उसी डायरेक्टरी में config.toml और auth.json संपादित करें। अन्यथा macOS / Linux पर ~/.codex या Windows पर %USERPROFILE%\.codex उपयोग करें। CLI और App को एक ही डायरेक्टरी इस्तेमाल करनी चाहिए। WSL की उपयोगकर्ता डायरेक्टरी अलग होती है।

संपादन से पहले Codex पूरी तरह बंद करें। दोनों फ़ाइलों का बैकअप निजी स्थान पर रखें। जो फ़ाइल मौजूद नहीं है उसे बनाएँ। मौजूदा सेटिंग बदलें; कुंजियाँ या टेबल दोबारा न जोड़ें। असंबंधित सेटिंग बनाए रखें।

अनुशंसित pattern

config.toml संपादित करें

यह गाइड यूज़र-स्तर का config.toml इस्तेमाल करती है। शीर्ष कुंजियाँ सभी TOML तालिकाओं से पहले रखें, [projects."<path>"] में नहीं; उस तालिका में प्रोजेक्ट का trust_level रहता है। चुनी गई provider ID और तालिका का नाम समान रखें। फ़ाइल प्रमाणीकरण के लिए चुने provider से env_key और experimental_bearer_token हटाएँ।

model_provider = "bettertoken"
model = "gpt-6-astra"
cli_auth_credentials_store = "file"
[model_providers.bettertoken]
name = "BetterToken"
base_url = "https://bettertoken.ai/v1"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = false

इस उदाहरण में GPT-6 Astra (gpt-6-astra) उपयोग होता है। दूसरे मॉडल के लिए मॉडल प्लाज़ा से पूरा ID कॉपी करके model बदलें। GPT, Kimi और GLM एक ही फ़ाइल-आधारित प्रमाणीकरण संरचना इस्तेमाल करते हैं; स्वचालित सेटअप GPT के लिए उपलब्ध है।

auth.json संपादित करें

auth.json और config.toml एक ही डायरेक्टरी में होते हैं। अगर auth.json नहीं है, तो उसी डायरेक्टरी में यह फ़ाइल बनाएँ। फ़ाइल की सामग्री के रूप में निम्न JSON लिखें, YOUR_API_KEY की जगह अपनी BetterToken API Key डालें और फ़ाइल सेव करें।

{
"auth_mode": "apikey",
"OPENAI_API_KEY": "YOUR_API_KEY"
}

कॉन्फ़िगरेशन पैरामीटर

पैरामीटरकार्य और स्थानडिफ़ॉल्ट और उदाहरण
model_providerयूज़र फ़ाइल का शीर्ष स्तर; नीचे दी गई ID चुनता है।डिफ़ॉल्ट openai; यहाँ bettertoken।
modelशीर्ष स्तर; मॉडल प्लाज़ा का पूरा Model ID।उदाहरण gpt-6-astra; ज़रूरत के अनुसार बदलें।
cli_auth_credentials_storeशीर्ष स्तर; लॉगिन क्रेडेंशियल का स्टोर।यहाँ file: उसी निर्देशिका का auth.json पढ़ता है।
nameprovider तालिका; केवल प्रदर्शन नाम।BetterToken Model ID नहीं है।
base_urlprovider तालिका; मॉडल API का Base URL।https://bettertoken.ai/v1 इस्तेमाल करें; Codex /responses जोड़ता है।
wire_apiprovider तालिका; अनुरोध प्रोटोकॉल।अभी केवल responses समर्थित है और यही डिफ़ॉल्ट है।
requires_openai_authprovider तालिका; OpenAI प्रमाणीकरण और उसका स्टोर।डिफ़ॉल्ट false; यहाँ true। यह लॉगिन फ़ाइल बचाने का स्विच नहीं है।
supports_websocketsprovider तालिका; Responses WebSocket समर्थन।डिफ़ॉल्ट false; यहाँ HTTP/SSE बना रहता है।
auth_modeauth.json में; प्रमाणीकरण मोड।यहाँ apikey; आधिकारिक ChatGPT प्रमाणीकरण को बदलता है।
OPENAI_API_KEYauth.json में; API प्रमाणीकरण की Key।YOUR_API_KEY की जगह BetterToken API Key भरें।

यह फ़ाइल प्रमाणीकरण API Key मोड में बदलता है। आधिकारिक अकाउंट बनाए रखने के लिए लॉगिन संरक्षण इस्तेमाल करें; दोनों मोड न मिलाएँ। अंतर प्रमाणीकरण के उद्देश्य का है, CLI, App या Extension का नहीं।

वैकल्पिक समायोजन

ये तीन समायोजन वैकल्पिक हैं, कनेक्शन की शर्त नहीं। ज़रूरत हो तो इन्हें मौजूदा [model_providers.bettertoken] तालिका में जोड़ें; दूसरी समान तालिका न बनाएँ।

request_max_retries = 4
stream_max_retries = 8
stream_idle_timeout_ms = 300000
पैरामीटरकार्य और स्थानडिफ़ॉल्ट और उदाहरण
request_max_retriesprovider तालिका; HTTP अनुरोधों की अधिकतम पुनः कोशिशें।डिफ़ॉल्ट 4; कनेक्शन के अनुसार बदलें।
stream_max_retriesprovider तालिका; स्ट्रीम टूटने के बाद पुनः कनेक्शन।डिफ़ॉल्ट 5; 8 वैकल्पिक कस्टम मान है।
stream_idle_timeout_msprovider तालिका; निष्क्रिय स्ट्रीम का टाइमआउट, मिलीसेकंड में।डिफ़ॉल्ट 300000; यह पूरी टास्क की समय सीमा नहीं है।

कॉन्फ़िगरेशन स्तर और पुरानी कुंजियाँ

मॉडल और reasoning को [projects."<path>"] में न रखें। विश्वसनीय प्रोजेक्ट के .codex/config.toml में शीर्ष कुंजियों से प्रोजेक्ट मॉडल चुन सकते हैं; provider और प्रमाणीकरण यूज़र कॉन्फ़िग में रहें। नए profile के लिए CODEX_HOME में NAME.config.toml और codex --profile NAME इस्तेमाल करें, पुराने [profiles.NAME] या शीर्ष profile चयनकर्ता नहीं।

पुनः शुरू करके जाँचें

दोनों फ़ाइलें सहेजें। टर्मिनल में नया Codex CLI सत्र सीधे शुरू करें:

टर्मिनल विंडो
codex

पृष्ठभूमि प्रक्रियाओं सहित Codex App पूरी तरह बंद करें। फिर खोलें और नया स्थानीय कार्य बनाएँ। अपने इस्तेमाल के हर क्लाइंट में छोटा प्रॉम्प्ट भेजें। सामान्य उत्तर उस क्लाइंट का कनेक्शन सत्यापित करता है।

समस्या निवारण

401, 403 या लॉगिन अनुरोध आने पर सक्रिय डायरेक्टरी, auth.json की Key, auth_mode = apikey, cli_auth_credentials_store = file और requires_openai_auth = true जाँचें। प्रदाता या मॉडल की त्रुटि होने पर प्रदाता ID का मिलान, https://bettertoken.ai/v1, wire_api = responses और मॉडल की उपलब्धता जाँचें। बदलाव लागू न हों तो कॉन्फ़िगरेशन ओवरराइड जाँचें और सुनिश्चित करें कि CLI और App एक ही CODEX_HOME इस्तेमाल कर रहे हैं।

संबंधित दस्तावेज

संदर्भ