OpenAI-संगत API: तीन पंक्तियों में अपना क्लाइंट बदलें
अपना क्लाइंट तीन पंक्तियों में बदलें: बेस URL और API कुंजी बदलें, फिर अपने मौजूदा कोड को बनाए रखें। यह ड्रॉप-इन OpenAI-संगत API एक बिना सेंसर LLM API अनुभव प्रदान करता है जिसमें पारदर्शी प्रति-टोकन मूल्य निर्धारण है।
- बेस URL
- https://api.openaicompatibleapi.com/v1
- मॉडल
- बिना सेंसर
पूर्वशर्त: OpenAI SDK इंस्टॉल करें
अनुरोध करने से पहले, सुनिश्चित करें कि आपके विकास वातावरण में आपकी पसंदीदा भाषा के लिए आधिकारिक OpenAI SDK स्थापित है। यह डेवलपर्स के लिए एक openai compatible api के साथ इंटरैक्ट करने का मानक तरीका है, जो आपको स्थिर टाइपिंग और त्रुटि हैंडलिंग सुनिश्चित करता है। Python के लिए, pip install openai का उपयोग करें। Node.js के लिए, npm install openai चलाएं। ये लाइब्रेरी अंतर्निहित HTTP विवरण हैंडल करती हैं, इसलिए आप प्रॉम्प्ट भेजने और टेक्स्ट आउटपुट प्राप्त करने पर ध्यान केंद्रित कर सकते हैं।
बेस URL और API कुंजी कॉन्फ़िगर करें
हमारे सेवा का मुख्य लाभ यह है कि आपको केवल दो कॉन्फ़िगरेशन मान अपडेट करने की आवश्यकता है। अपने क्लाइंट को हमारे बेस URL की ओर इशारा करें: https://api.openaicompatibleapi.com/v1। फिर, साइनअप पेज पर अपनी API कुंजी जनरेट करें; यह पंजीकरण के तुरंत बाद दिखाई देता है, बिना किसी क्रेडिट कार्ड की आवश्यकता के। अपने क्लाइंट इनिशियलाइजेशन में base_url और api_key सेट करें। यह आपके मौजूदा प्रोजेक्ट्स के लिए बिना लॉजिक लिखे एक सीधा GPT API विकल्प बनाता है।
अपना पहला अनुरोध भेजें
मॉडल ID uncensored का उपयोग करके एक मानक चैट कंप्लीशन अनुरोध भेजें। यह मॉडल एक ओपन-वेट लार्ज लैंगुएज मॉडल है जिसे कानूनी वयस्क उपयोग के लिए बिना सामग्री अस्वीकृति के उत्तर देने के लिए ट्यून्ड किया गया है। यह GPT, क्लॉड या किसी अन्य विक्रेता का मॉडल नहीं है। आप एक सरल टेक्स्ट प्रॉम्प्ट के साथ तुरंत कनेक्टिविटी का परीक्षण कर सकते हैं। प्रतिक्रिया content फ़ील्ड में जनरेटेड टेक्स्ट लौटाएगी।
curl https://api.openaicompatibleapi.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."}]
}'
स्ट्रीमिंग प्रतिक्रियाएँ सक्षम करें
बेहतर उपयोगकर्ता अनुभव के लिए, स्ट्रीमिंग सक्षम करें ताकि टोकन जनरेट होने पर प्राप्त हों। अपने अनुरोध में stream=True सेट करें। SDK चंक को आने पर देगा, जिससे आप आंशिक परिणाम तुरंत प्रदर्शित कर सकते हैं। यह 100,000 टोकन तक लंबे कॉन्टेक्स्ट विंडो के लिए विशेष रूप से उपयोगी है। स्ट्रीमिंग मानक OpenAI क्लाइंट्स की तरह ही काम करती है, आपके मौजूदा त्रुटि हैंडलिंग लॉजिक के साथ संगतता बनाए रखती है।
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)
टूल कॉलिंग (फ़ंक्शन कॉलिंग) का उपयोग करें
हमारी API संरचित टूल कॉलिंग का समर्थन करती है। अपने tools पैरामीटर में फ़ंक्शन परिभाषित करें, और मॉडल प्रतिक्रिया में टूल कॉल लौटाएगा। आप फिर उन टूल्स को निष्पादित कर सकते हैं और आगे के तर्क के लिए परिणाम मॉडल को भेज सकते हैं। यह सुविधा किसी भी OpenAI-संगत क्लाइंट के साथ काम करती है जो मानक टूल कॉलिंग फॉर्मेट का समर्थन करती है। यह एजेंट्स बनाने या जटिल llm प्रॉक्सी प्रबंधित किए बिना वर्कफ़्लो को स्वचालित करने के लिए आदर्श है।
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapi.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 एंडपॉइंट पर क्वेरी करें। आपको uncensored मॉडल सूचीबद्ध दिखाई देगा। इससे पुष्टि होती है कि आपकी API कुंजी और बेस URL सही से कॉन्फ़िगर हैं। आप इस एंडपॉइंट का उपयोग प्रमाणीकरण समस्याओं को डिबग करने के लिए भी कर सकते हैं। यदि एंडपॉइंट एक सूची लौटाता है, तो आपका डेवलपर्स के लिए AI API से कनेक्शन सक्रिय है। अन्य कोई मॉडल प्रदान नहीं किया जाता है, जिससे कॉन्फ़िगरेशन सरल रहता है।
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapi.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 की सभी असली सीमाएँ और सुविधाएँ एक जगह — क्रेडिट जोड़ने से पहले इन्हें देख लें।
| मद | मान |
|---|---|
| API फ़ॉर्मेट | OpenAI के अनुकूल: कोई भी OpenAI SDK चलेगा — बस base URL और कुंजी बदलें |
| एंडपॉइंट | POST /v1/chat/completions · GET /v1/models |
| मॉडल ID | uncensored |
| प्रमाणीकरण | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.openaicompatibleapi.com/v1 |
| स्ट्रीमिंग | हाँ — server-sent events; आख़िरी हिस्से में टोकन उपयोग |
| JSON मोड | response_format: {"type": "json_object"} |
| फ़ंक्शन कॉलिंग | हाँ — tools, tool_choice; जवाब में tool_calls, स्ट्रीमिंग में भी; नतीजे role: tool संदेश से भेजें |
| पैरामीटर | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| अधिकतम आउटपुट | 100,000-टोकन विंडो के शेष हिस्से तक; max_tokens वैकल्पिक (अलग सीमा नहीं) |
| कॉन्टेक्स्ट विंडो | 100,000 टोकन (इनपुट + आउटपुट मिलाकर) |
| रिस्पॉन्स हेडर | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| रेट लिमिट | प्रति कुंजी प्रति मिनट 300 अनुरोध |
| अनुरोध का आकार | 8 MB तक |
| समानांतर अनुरोध | प्रति कुंजी एक साथ 8 तक |
| कीमत | प्रति 10 लाख इनपुट टोकन $0.25 · प्रति 10 लाख आउटपुट टोकन $1.00 |
| बोनस | $50 से +5%, $100 से +10% |
| बिलिंग | प्रीपेड क्रेडिट, असली उपयोग के अनुसार; त्रुटियाँ और अस्वीकृतियाँ मुफ़्त |
| वैधता | भुगतान किया क्रेडिट कभी समाप्त नहीं होता, कोई सदस्यता नहीं |
| टॉप-अप | USDT (TRC20) या USDC (Base), $10 से $500 तक कोई भी पूरी राशि |
| मुफ़्त ट्रायल क्रेडिट | $0.50, 7 दिन, कार्ड की ज़रूरत नहीं · ट्रायल कुंजी: 2 समानांतर अनुरोध, 60 प्रति मिनट; पहले टॉप-अप के बाद पूरी सीमाएँ (8 और 300) |
| सामग्री | वयस्क सामग्री की अनुमति; नाबालिगों से जुड़ी यौन सामग्री अस्वीकार |
| कुंजियाँ | हर खाते में एक सक्रिय कुंजी; नई कुंजी पुरानी की जगह लेती है |
| साइन इन | Google या ईमेल और पासवर्ड |
त्रुटि कोड
त्रुटियाँ JSON में स्थिर type के साथ आती हैं; विफल या अस्वीकृत अनुरोधों का शुल्क नहीं लगता।
| कोड | प्रकार | अर्थ |
|---|---|---|
400 | bad_request | अमान्य JSON, खाली संदेश, गलत पैरामीटर या कॉन्टेक्स्ट विंडो से अधिक |
401 | missing_key · invalid_key · key_revoked | कुंजी नहीं, गलत कुंजी या नई कुंजी से बदली गई |
402 | no_credit | क्रेडिट ख़त्म — टॉप-अप करें, तुरंत चालू |
403 | content_blocked | नाबालिगों से जुड़ी यौन सामग्री — अस्वीकार, कोई शुल्क नहीं |
404 | not_found | अज्ञात एंडपॉइंट |
413 | request_too_large | बॉडी 8 MB से बड़ी |
429 | rate_limited · concurrency | 300/मिनट या 8 समानांतर से अधिक — रुककर फिर कोशिश करें |
503 | upstream_busy | मॉडल व्यस्त — कुछ सेकंड बाद फिर कोशिश करें |
प्रश्न और उत्तर
रेट लिमिट क्या हैं?
प्रति API कुंजी प्रति मिनट 300 अनुरोधों की सीमा है। अनुरोध बॉडी का आकार 8 MB तक सीमित है। यदि आप सीमा से अधिक होते हैं, तो आपको 429 त्रुटि मिलेगी। आप किसी भी समय अपनी कुंजी को पुन: उत्पन्न कर सकते हैं ताकि संबंध रीसेट हो सके, हालांकि रेट लिमिट कुंजी पर लागू होती है।
मुझे 401 या 402 त्रुटि क्यों मिलती है?
401 त्रुटि अमान्य या समाप्त हो चुकी API कुंजी को दर्शाती है। 402 त्रुटि का अर्थ है कि आपका प्रीपेड क्रेडिट खत्म हो गया है। हम असीमित मुफ़्त टियर नहीं देते; आपको बिना सेंसर LLM API का उपयोग जारी रखने के लिए टॉप-अप करना होगा। क्रेडिट कभी समाप्त नहीं होता, इसलिए आप क्रिप्टो (USDT या USDC) से $10 से टॉप-अप कर सकते हैं।
क्या कॉन्टेक्स्ट विंडो वास्तव में 100k है?
हाँ, मॉडल प्रॉम्प्ट और आउटपुट दोनों के लिए संयुक्त रूप से 100,000 टोकन की कॉन्टेक्स्ट विंडो का समर्थन करता है। इससे विस्तृत दस्तावेज़ प्रसंस्करण या लंबी बातचीत संभव होती है। यह सुनिश्चित करें कि आपका इनपुट इस सीमा में फ़िट हो ताकि ट्रंकेशन या त्रुटियों से बचा जा सके।
आपकी कुंजी बस एक फ़ॉर्म दूर है
एक खाता बनाएँ, कुंजी कॉपी करें, बेस URL बदलें। सेटअप यही है।