बेस URL और प्रमाणीकरण
हमारा API मानक OpenAI चैट-कम्प्लीशंस इंटरफ़ेस का पालन करता है। एकीकरण के लिए, हमारे विशिष्ट बेस URL और एक मान्य codex api कुंजी के साथ अपने क्लाइंट कॉन्फ़िगरेशन को अपडेट करें। डैशबोर्ड पर साइन इन करते समय आप यह कुंजी उत्पन्न करते हैं। एंडपॉइंट मानक और स्ट्रीमिंग अनुरोधों दोनों को स्वीकार करता है, जिससे यह उन अधिकांश कोडिंग एजेंट्स के लिए एक ड्रॉप-इन प्रतिस्थापन बन जाता है जो OpenAI-संगत संरचना की उम्मीद करते हैं।
प्रमाणीकरण Authorization हेडर पर निर्भर करता है। अपना कुंजी Bearer टोकन के रूप में शामिल करें। यदि आप प्रॉक्सी या कस्टम एजेंट फ्रेमवर्क का उपयोग कर रहे हैं, तो सुनिश्चित करें कि यह मानक HTTP हेडर का सम्मान करता है। सेवा स्वतंत्र है; यह अन्य विक्रेताओं के माध्यम से रूट नहीं होती या मॉडल को एग्रीगेट नहीं करती है। आप सीधे हमारे बिना सेंसर LLM से कनेक्ट कर रहे हैं।
चैट सम्पूर्णता भेजें
एक सरल टेक्स्ट अनुरोध का परीक्षण करके शुरू करें। इससे आपकी प्रमाणीकरण और बेस URL सही होने की पुष्टि होती है। एंडपॉइंट user या assistant जैसे भूमिकाओं वाले संदेशों की सूची स्वीकार करता है। मॉडल आईडी हमेशा uncensored होती है। यह अनुरोध एक मानक पूर्णता प्रतिक्रिया लौटाता है। इसका उपयोग जटिल प्रॉम्प्ट्स पर जाने से पहले इसकी पुष्टि करने के लिए करें कि आपका एजेंट JSON संरचना को पार्स कर सकता है।
सुनिश्चित करें कि आपका पेलोड 8 MB बॉडी सीमा के भीतर रहता है। बड़े कॉन्टेक्स्ट विंडो समर्थित हैं, लेकिन कुल टोकन गणना (इनपुट प्लस आउटपुट) 100,000 टोकन से कम रहनी चाहिए। यदि आप इन सीमाओं को पार करते हैं, तो सर्वर एक त्रुटि लौटाता है। कनेक्टिविटी की पुष्टि करने के लिए एक छोटे परीक्षण से शुरू करें।
curl https://api.getcodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
स्ट्रीमिंग (SSE) सक्षम करें
वास्तविक समय टोकन जनरेशन की आवश्यकता वाले कोडिंग एजेंट्स के लिए, स्ट्रीमिंग सक्षम करें। अपने अनुरोध बॉडी में stream पैरामीटर को true पर सेट करें। सर्वर एकल JSON ऑब्जेक्ट के बजाय सर्वर-संदेशित घटनाओं (SSE) की एक श्रृंखला लौटाता है। प्रत्येक घटना में प्रतिक्रिया का एक आंशिक खंड होता है। यह आपके उपयोगकर्ताओं के लिए अनुभूत विलंबता को कम करता है और आपके एजेंट को टोकन को आने पर ही प्रोसेस करने की अनुमति देता है।
स्ट्रीमिंग मूल्य निर्धारण या टोकन गिनती को नहीं बदलता है। आप अभी भी कुल इनपुट और आउटपुट टोकन के लिए भुगतान करते हैं। अंतिम प्रतिक्रिया को संचित करने या इसे क्रमिक रूप से प्रोसेस करने के लिए अपने क्लाइंट कोड में SSE स्ट्रीम हैंडल करें। यह कोड जनरेशन के लिए आदर्श है जहां मध्यवर्ती परिणाम उपयोगी होते हैं।
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
टूल कॉलिंग का उपयोग करें
हमारा मॉडल फ़ंक्शन कॉलिंग का समर्थन करता है, जिससे आपका एजेंट बाहरी टूल्स को निष्पादित कर सकता है। अपने tools पैरामीटर में अपने फ़ंक्शन परिभाषित करें। यदि मॉडल यह निर्धारित करता है कि फ़ंक्शन की आवश्यकता है, तो यह सादे टेक्स्ट के बजाय टूल कॉल के साथ एक प्रतिक्रिया लौटाएगा। आपके एजेंट को इस प्रतिक्रिया को पार्स करना और टूल को निष्पादित करना चाहिए, फिर परिणाम को संवाद में वापस फ़ीड करना चाहिए।
कोडिंग एजेंट्स के लिए यह क्षमता आवश्यक है जिन्हें कोड चलाने, डेटाबेस क्वेरी करने या लाइव डेटा लाने की आवश्यकता होती है। टूल स्कीमा मानक OpenAI फॉर्मेट का पालन करता है। सुनिश्चित करें कि आपका एजेंट मॉडल और आपके टूल निष्पादन तर्क के बीच राउंड-ट्रिप को सही ढंग से संभालता है। यह कच्चे टेक्स्ट को संरचित टूल परिणामों से बदलकर कॉन्टेक्स्ट विंडो को कुशलता से बनाए रखता है।
from openai import OpenAI
client = OpenAI(base_url="https://api.getcodexapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
उपलब्ध मॉडल जांचें
उपलब्ध मॉडल की पुष्टि करने के लिए GET /v1/models एंडपॉइंट का उपयोग करें। यह एंडपॉइंट मॉडल ऑब्जेक्ट्स की एक सूची लौटाता है, जिसमें उनकी आईडी और निर्माण तिथियां शामिल हैं। हमारी API एकल मॉडल सेवा प्रदान करती है: uncensored। प्रॉक्सी रिले के विपरीत जो कई विक्रेताओं को एग्रीगेट करते हैं, हम एकल अनुकूलित LLM के लिए एक समर्पित एंडपॉइंट प्रदान करते हैं। यह आपके कोडिंग कार्यों के लिए स्थिर व्यवहार और भविष्यवाणी योग्य प्रदर्शन को सुनिश्चित करता है।
इस एंडपॉइंट को क्वेरी करें ताकि पुष्टि हो सके कि आपका क्लाइंट सही सेवा से कनेक्ट है। यह मानक मेटाडेटा फ़ील्ड लौटाता है। आपको मॉडल चयन को मैन्युअल रूप से प्रबंधित करने की आवश्यकता नहीं है। क्लाइंट सभी चैट पूर्णताओं में केवल uncensored मॉडल आईडी अनुरोध करता है। यह एकीकरण को सरल बनाता है और रूटिंग त्रुटियों से बचाता है।
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.getcodexapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
रेट लिमिट और बाधाएं
अपने उपयोग की निगरानी करें ताकि बाधाओं से बचा जा सके। API प्रति कुंजी प्रति मिनट 300 अनुरोधों की एक सीमा लागू करता है। यदि आप इससे अधिक हो जाते हैं, तो आपको 429 Too Many Requests त्रुटि प्राप्त होती है। अनुरोध बॉडी का आकार 8 MB पर सीमित है। ये प्रतिबंध उच्च-थ्रूपुट एजेंट्स के लिए स्थिर प्रदर्शन सुनिश्चित करते हैं। यदि आप बड़े बैच प्रोसेस कर रहे हैं, तो अपने क्लाइंट के अनुरोध आवृत्ति को समायोजित करें।
प्रमाणीकरण त्रुटियां यदि कुंजी अमान्य है तो 401 स्थिति लौटाती हैं। अपर्याप्त क्रेडिट 402 स्थिति का परिणाम देते हैं। अनुरोध भेजने से पहले सुनिश्चित करें कि आपका प्रीपेड शेष धनात्मक है। क्रेडिट समाप्त नहीं होते, इसलिए आप सुविधानुसार टॉप-अप कर सकते हैं। codex api कुंजी को किसी भी समय पुनः उत्पन्न किया जा सकता है, जिससे पुरानी कुंजी तुरंत रद्द हो जाती है। अपनी कुंजी को सुरक्षित रखें।