मुख्य बिंदु
- बिना सेंसर API मानक OpenAI सिंटैक्स का पालन करता है, लेकिन एम्बेडिंग्स या मल्टीपल मॉडल रूटिंग जैसे उन्नत सुविधाओं की कमी है, इसलिए आपके क्लाइंट को एकल एंडपॉइंट के लिए कॉन्फ़िगर किया जाना चाहिए।
- स्ट्रीमिंग प्रतिक्रियाओं को विशिष्ट SSE हैंडलिंग की आवश्यकता होती है; यदि आपका SDK JSON पार्सिंग को डिफ़ॉल्ट करता है, तो आपको बड़े बिना सेंसर आउटपुट पर पार्सिंग त्रुटियां आ सकती हैं।
- टूल कॉलिंग काम करती है, लेकिन इसमें सख्त JSON स्कीमा पालन की आवश्यकता होती है क्योंकि मॉडल निर्देश-सूक्ष्म मॉडलों की तुलना में अधिक बार तर्कों का कल्पना कर सकता है।
- आप प्रति मिनट 300 अनुरोधों और 8MB बॉडी साइज तक सीमित हैं, जिसके लिए उच्च-वॉल्यूम अनुप्रयोगों के लिए सावधान बैचिंग रणनीतियों की आवश्यकता होती है।
बिना सेंसर AI API एंडपॉइंट को समझना
जब आप एक बिना सेंसर AI API एकीकृत करते हैं, तो पहली गलती यह मानना है कि यह मानक वाणिज्यिक मॉडल्स की तरह व्यवहार करता है। हमारा एंडपॉइंट एक होस्टेड, OpenAI-संगत चैट-कम्पलीशंस सेवा है। यह एक अकेले, समर्पित बिना सेंसर लार्ज लैंगुएज मॉडल की सेवा करता है। इसका मतलब है कि आपको मॉडल रूटिंग या वर्जनिंग प्रबंधित करने की आवश्यकता नहीं है। आप अनुरोध भेजते हैं POST /v1/chat/completions और प्रतिक्रिया में टेक्स्ट प्राप्त करते हैं।
ऐसे एग्रीगेटर्स के विपरीत जो इमेज, वीडियो और कई वेंडर्स को बांडल करते हैं, यह सेवा पूरी तरह से उच्च-प्रदर्शन, सीमित रहित टेक्स्ट जनरेशन पर केंद्रित है। मॉडल ओपन-वेट है और कानूनी वयस्क उपयोग के लिए बिना कंटेंट रिफ्यूज के उत्तर देने के लिए ट्यून्ड है। हालांकि, यह GPT, Claude, Gemini या किसी अन्य वेंडर का मॉडल नहीं है। यह हमारे अपने GPU सर्वर पर चलता है।
बेस URL https://api.uncensoredgptapi.com/v1 है। इसे उपयोग करने के लिए, आपको अपने मौजूदा OpenAI SDKs या किसी भी OpenAI-संगत क्लाइंट में base_url बदलना है और अपनी API कुंजी प्रदान करनी है। आपको भेजने वाले मॉडल ID को बस "uncensored" होना चाहिए। यह सरलता एकीकरण समय को कम करती है, लेकिन यह आवश्यक है कि आप सत्यापित करें कि आपका क्लाइंट फॉलबैक्स की उम्मीद किए बिना एकल-मॉडल एंडपॉइंट को संभाल सकता है।
सामान्य प्रमाणीकरण त्रुटियां
प्रमाणीकरण त्रुटियां आमतौर पर गलत कॉन्फ़िगर किए गए हेडर्स या समाप्त कुंजियों से उत्पन्न होती हैं। API मानक Bearer टोकन प्रमाणीकरण का उपयोग करता है। आपको प्रत्येक अनुरोध के लिए Authorization हेडर में अपनी API कुंजी शामिल करनी होगी।
एक सामान्य गलती API कुंजी को सत्यापित किए बिना कैश करना है। यदि आप अपनी कुंजी रीजनरेट करते हैं, तो पुरानी कुंजी तुरंत रिवोक हो जाती है। आपको नई कुंजी का उपयोग करने के लिए अपने क्लाइंट कॉन्फ़िगरेशन को अपडेट करना होगा। यदि आपको 401 अनऑथोराइज्ड त्रुटि मिलती है, तो दो चीजें जांचें: पहली, सुनिश्चित करें कि कुंजी को सही ढंग से कॉपी किया गया है, बिना लीडिंग या ट्रेलिंग व्हाइटस्पेस के। दूसरा, सत्यापित करें कि आप सही बेस URL का उपयोग कर रहे हैं। डोमेन या पथ में थोड़ी भी विचलता ऑथेंटिकेशन विफलता का कारण बनेगी।
एक अन्य सामान्य समस्या गलत मॉडल ID का उपयोग करना है। एंडपॉइंट "uncensored" की उम्मीद करता है। यदि आप "gpt-4" या कोई अन्य मानक मॉडल ID भेजते हैं, तो एंडपॉइंट अनुरोध को अस्वीकार कर सकता है या त्रुटि लौटा सकता है क्योंकि यह केवल एक मॉडल सेवा प्रदान करता है। हमेशा अपने अनुरोध पेलोड में model फ़ील्ड को दो बार जांचें।
curl https://api.uncensoredgptapi.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) के माध्यम से स्ट्रीमिंग प्रतिक्रियाएँ समर्थित हैं, लेकिन समकालीन JSON प्रतिक्रियाओं से आदी डेवलपर्स द्वारा अक्सर गलत तरीके से हैंडल की जाती हैं। जब आप अपने अनुरोध में "stream": true सेट करते हैं, तो API आंशिक JSON ऑब्जेक्ट्स का एक स्ट्रीम लौटाता है, न कि एकल पूर्ण JSON प्रतिक्रिया।
यदि आपका क्लाइंट पूरी प्रतिक्रिया को एक साथ JSON के रूप में पार्स करने का प्रयास करता है, तो यह विफल हो जाएगा। आपको स्ट्रीम को लाइन-दर-लाइन पढ़ना होगा। प्रत्येक लाइन data: से शुरू होती है और एक आंशिक JSON ऑब्जेक्ट रखती है। अंतिम लाइन data: [DONE] है। आपके कोड को अंतिम पाठ को पुनर्निर्मित करने के लिए इन चंक को एकत्र करना चाहिए।
कुछ SDK इसे स्वचालित रूप से हैंडल करते हैं, लेकिन कस्टम इम्प्लीमेंटेशन को स्पष्ट 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)
टूल कॉलिंग कॉन्फ़िगरेशन में गलतियां
टूल कॉलिंग समर्थित है, लेकिन बिना सेंसर मॉडल निर्देश-सूक्ष्म मॉडलों की तुलना में अधिक बार तर्कों का कल्पना कर सकता है। इसमें आपके पक्ष से कड़ाई से सत्यापन की आवश्यकता होती है। टूल परिभाषित करते समय, सुनिश्चित करें कि आपकी JSON स्कीमा सटीक है। मॉडल तर्कों को भरने का प्रयास करेगा, लेकिन यह आवश्यक फ़ील्ड छोड़ सकता है या गलत प्रकार प्रदान कर सकता है।
फ़ंक्शन एक्जीक्यूट करने से पहले हमेशा टूल कॉल आर्गुमेंट्स को वैलिडेट करें। यदि मॉडल आर्गुमेंट्स के लिए अमान्य JSON लौटाता है, तो आपको त्रुटि को ग्रैसफुली हैंडल करना चाहिए। रीमेक मेकेनिज्म या आर्गुमेंट्स को साफ करने के लिए एक पोस्ट-प्रोसेसिंग स्टेप लागू करने की आवश्यकता हो सकती है।
इसके अलावा, ध्यान रखें कि बिना सेंसर मॉडल प्रॉम्प्ट जटिल होने पर टूल परिभाषाओं को नजरअंदाज कर सकता है। यदि आपको समस्याएं आती हैं, तो टूल विवरणों को सरल बनाएं और सुनिश्चित करें कि सिस्टम प्रॉम्प्ट मॉडल को उचित स्थानों पर टूल्स का उपयोग करने के लिए स्पष्ट रूप से निर्देशित करता है। व्यवहार की पुष्टि करने के लिए कुछ नमूना इनपुट के साथ परीक्षण करें।
कॉन्टेक्स्ट विंडो सीमाएं (100k टोकन)
बिना सेंसर API 100,000 टोकन की एक कॉन्टेक्स्ट विंडो समर्थित करता है, जिसमें प्रॉम्प्ट और कम्पलीशन दोनों शामिल हैं। यह कई मानक मॉडलों की तुलना में काफी बड़ा है, जिससे विस्तृत बातचीत या बड़े दस्तावेज़ प्रोसेसिंग की अनुमति मिलती है। हालांकि, यह अनंत नहीं है। यदि आपका इनपुट इस सीमा से अधिक होता है, तो API एक त्रुटि लौटाएगा।
इस सीमा को हिट करने से बचने के लिए, अपने टोकन उपयोग की निगरानी करें। अधिकां.SDKs टोकन गिनने के लिए उपयोगिताएं प्रदान करते हैं। अपनी बातचीत के इतिहास में संचयी टोकन को ट्रैक करें। यदि आप बड़े दस्तावेज़ प्रोसेस कर रहे हैं, तो उन्हें चंकिंग करने या बातचीत के पहले हिस्सों को सारांशित करने पर विचार करें ताकि कॉन्टेक्स्ट स्पेस मुक्त हो सके।
याद रखें कि कॉन्टेक्स्ट विंडो में messages सरणी में सभी संदेश शामिल हैं। प्रत्येक संदेश कुल में योगदान देता है। यदि आप कई छोटे संदेश भेज रहे हैं, तो ओवरहेड जुड़ सकता है। अपने प्रॉम्प्ट संरचना को अनुकूलित करें ताकि अनावश्यक टोकन को कम किया जा सके। उदाहरण के लिए, यदि वे स्थिर रहते हैं, तो प्रत्येक टर्न में सिस्टम निर्देशों को दोहराने से बचें।
रेट लिमिटिंग समझाया गया (300 RPM)
API प्रति कुंजी प्रति मिनट 300 अनुरोधों की एक रेट लिमिट लागू करता है। यह सभी उपयोगकर्ताओं के लिए उचित उपयोग को सुनिश्चित करने के लिए एक कठोर सीमा है। यदि आप इस सीमा से अधिक होते हैं, तो आपको 429 Too Many Requests त्रुटि मिलेगी। आपके क्लाइंट को एक रीट्राई रणनीति लागू करके इसे संभालना चाहिए।
एक सामान्य गलती बर्स्ट ट्राफिक को ध्यान में न रखना है। यदि आप तेज़ी से 300 अनुरोध भेजते हैं, तो आप सीमा पर पहुंच सकते हैं, भले ही आपकी औसत दर कम हो। अपने अनुरोधों को मिनट में समान रूप से फैलाएं। यदि आप एक बड़े डेटासेट को प्रोसेस कर रहे हैं, तो अनुरोध बैचिंग या फ्लो को प्रबंधित करने के लिए क्यू का उपयोग करने पर विचार करें।
रेट लिमिट प्रत्येक API कुंजी के लिए लागू होते हैं। यदि आपके पास एक ही कुंजी का उपयोग करने वाले कई सेवाएं हैं, तो वे सीमा साझा करते हैं। क्षमता बढ़ाने के लिए, आप एक नई कुंजी उत्पन्न कर सकते हैं, लेकिन ध्यान दें कि प्रत्येक खाते में केवल एक कुंजी सक्रिय है। आप किसी भी समय कुंजी को पुनः उत्पन्न कर सकते हैं, लेकिन इससे पुरानी कुंजी रद्द हो जाती है, इसलिए सुनिश्चित करें कि सभी क्लाइंट अपडेट हो गए हैं।
अनुरोध बॉडी साइज सीमाएं (8MB)
प्रत्येक अनुरोध बॉडी 8 MB तक सीमित है। यह सीमा JSON पेलोड पर लागू होती है, जिसमें messages सरणी और कोई भी टूल परिभाषाएँ शामिल हैं। यदि आपका अनुरोध इस आकार से अधिक होता है, तो API इसे 413 Payload Too Large त्रुटि के साथ अस्वीकार कर देगा।
यह सीमा बड़े फ़ाइलों को बेस64-एन्कोडेड डेटा के रूप में भेजते समय या विस्तृत बातचीत के इतिहास को शामिल करते समय महत्वपूर्ण है। यदि आप बड़े दस्तावेज़ों के साथ काम कर रहे हैं, तो टेक्स्ट को कंप्रेस करने या भेजने से पहले अनावश्यक स्पेस को हटाने पर विचार करें। आप मेमोरी उपयोग कम करने के लिए स्ट्रीमिंग का उपयोग कर सकते हैं, लेकिन प्रारंभिक अनुरोध बॉडी को अभी भी 8 MB सीमा के भीतर फिट होना चाहिए।
विकास के दौरान अपने अनुरोध आकार की निगरानी करें। यदि आप इस त्रुटि का सामना करते हैं, तो अपनी प्रॉम्प्ट संरचना की समीक्षा करें और कोई भी अनावश्यक जानकारी हटाएं। उदाहरण के लिए, यदि आप प्रत्येक संदेश में पूरी सिस्टम प्रॉम्प्ट शामिल कर रहे हैं, तो इसे system भूमिका में एक बार स्थानांतरित करें और इसका संदर्भ दें।
API कुंजी प्रबंधन और पुनर्जनन
प्रत्येक खाते में केवल एक API कुंजी की अनुमति है। यह कुंजी साइनअप के दौरान उत्पन्न होती है और तुरंत दिखाई जाती है। आप अपने डैशबोर्ड से किसी भी समय कुंजी को पुनः उत्पन्न कर सकते हैं। जब आप पुनः उत्पन्न करते हैं, तो पुरानी कुंजी तुरंत रद्द हो जाती है। पुरानी कुंजी का उपयोग करने वाला कोई भी क्लाइंट 401 Unauthorized त्रुटि प्राप्त करेगा।
इसे प्रभावी ढंग से प्रबंधित करने के लिए, कुंजी को पुनः उत्पन्न करने से पहले अपने सभी क्लाइंट अपडेट करें। यदि आपके पास कुंजी का उपयोग करने वाली कई सेवाएं या डिवाइस हैं, तो सुनिश्चित करें कि वे सभी एक साथ अपडेट हो गए हैं। आप जितनी बार चाहें नई कुंजी उत्पन्न कर सकते हैं, लेकिन एक समय में केवल एक सक्रिय होगी।
API कुंजी आपकी ईमेल और पासवर्ड से जुड़ी है। यदि आप अपनी कुंजी खो देते हैं, तो आप इसे पुनः उत्पन्न कर सकते हैं। पुनर्जनन की संख्या में कोई सीमा नहीं है। हालांकि, बार-बार पुनर्जनन सुरक्षा चिंता को इंगित कर सकता है, इसलिए इसे आवश्यकता के अनुसार उपयोग करें। अपनी कुंजी को सुरक्षित रखें और इसे सार्वजनिक रूप से साझा न करें।
कंटेंट फ़िल्टर्स की समस्या निवारण
बिना सेंसर मॉडल कानूनी वयस्क, काल्पनिक, सुरक्षा-शोध या विवादास्पद विषयों को अस्वीकार नहीं करता है। हालांकि, एक कठोर कंटेंट सीमा हमेशा लागू होती है: किशोरों के साथ यौन सामग्री नहीं है। इस सामग्री वाले अनुरोध ब्लॉक किए जाते हैं।
यदि आप अप्रत्याशित रिफ्यूजल का सामना करते हैं, तो अपने प्रॉम्प्ट में प्रतिबंधित सामग्री के सूक्ष्म संकेतकों की जांच करें। मॉडल अनलिमिटेड उपयोग के लिए ट्यून्ड है, लेकिन यह अभी भी बेसिक सेफ्टी फिल्टर लागू कर सकता है। यदि आप एज केस के साथ टेस्टिंग कर रहे हैं, तो मॉडल की सीमाओं को समझने के लिए व्यवहार को डॉक्यूमेंट करें।
एक अन्य सामान्य समस्या हैल्युसिनेशन है। बिना सेंसर मॉडल यौक्तिक रूप से सुनने योग्य लेकिन गलत जानकारी जनरेट कर सकता है। हमेशा महत्वपूर्ण आउटपुट की जांच करें, खासकर जब टूल कॉल का उपयोग कर रहे हों या कोड जनरेट कर रहे हों। कुछ मामलों में मॉडल कड़ाके तथ्यात्मक सटीकता के बजाय प्रवाह को प्राथमिकता देता है।