API मध्यस्थ क्या है: कार्यप्रणाली, सामान्य जोखिम और चयन सूची
बहुत से डेवलपर्स पहली बार "API मध्यस्थ" से मिलते हैं, उन्हें पता होता है कि पता और कुंजी बदलने से मॉडल कॉल हो जाता है, लेकिन वे बीच में क्या होता है, यह नहीं समझ पाते। यह लेख अनुरोध की पूरी पाथ को ऑपरेशन दृष्टिकोण से तोड़ता है, रूटिंग, कुंजी और बिलिंग की तीन बातों को स्पष्ट करता है, तीन सबसे आम खामियों और एक चयन सूची की सूची बनाता है, और अंत में दो कमांड देता है ताकि आप स्वयं सत्यापन कर सकें।
मुख्य बिंदु
- मध्यस्थ का मूल "प्रॉक्सी रूटिंग + कुंजी मैपिंग + उपयोग बिलिंग" है। आपके अनुरोध को एक अतिरिक्त हॉप से गुजरना पड़ता है, और स्थिरता व सुरक्षा इसी हॉप पर निर्भर करती है।
- तीन सबसे आम खामियां: कुंजी का असुरक्षित रखना, वापस आया मॉडल आपका नहीं होना, और रेट लिमिट नियम दस्तावेज़ के बाहर लिखे होना।
- चयन करते समय केवल इकाई मूल्य न देखें। पहले जांचें कि क्या मॉडल सूची सार्वजनिक है, क्या त्रुटि कोड मानक हैं, और क्या कोटा व रेट लिमिट स्पष्ट रूप से निर्दिष्ट हैं।
- कुंजी मिलने के बाद /v1/models और एक छोटा अनुरोध चलाएं। दस मिनट में अधिकांश समस्याएं समाप्त की जा सकती हैं।
एक अनुरोध मध्यस्थ में से कैसे गुजरता है
सबसे पहले शब्दों को स्पष्ट करें। "API गेटवे" से तात्पर्य उस गेटवे से है जो आपके एप्लिकेशन और मॉडल चलाते बैकएंड के बीच रखा जाता है। आपका कोड अभी भी OpenAI फॉर्मेट में अनुरोध भेजता है, बस base_url को गेटवे पता पर और कुंजी को गेटवे द्वारा जारी की गई कुंजी पर बदल देता है।
इस हॉप में गेटवे आमतौर पर तीन काम करता है।
- अनुरोध अग्रिम: अनुरोध बॉडी फॉर्मेट की जाँच करता है, आवश्यकता पड़ने पर डिफ़ॉल्ट पैरामीटर जोड़ता है, और अनुरोध को बैकएंड को भेजता है; बैकएंड का जवाब (SSE सहित) आपको मूल या हल्के संशोधन के साथ वापस भेजता है।
- कुंजी मैपिंग: आपके पास गेटवे द्वारा जारी की गई कुंजी है, जो केवल गेटवे के लिए मायने रखती है। गेटवे इससे आपकी पहचान, शेष राशि और मॉडल एक्सेस निर्धारित करता है। बैकएंड के साथ वास्तविक संपर्क के लिए प्रमाणपत्र गेटवे के अंदर ही रहते हैं और आपके कोड में नहीं आते।
- बिलिंग और रेट लिमिट: प्रत्येक अनुरोध के बाद, गेटवे usage में इनपुट/आउटपुट टोकन की संख्या को इकाई मूल्य से गुणा करके शेष राशि में कटौती करता है, और प्रति मिनट कुंजी-वार अनुरोधों की गिनती करता है; सीमा पार होने पर 429 लौटाता है।
इन तीन बातों को जोड़कर देखें कि गेटवे का अनुभव इतना भिन्न क्यों है: फॉरवर्डिंग लेयर की कार्यान्वयन विलंबता और स्ट्रीमिंग की स्थिरता निर्धारित करता है, कुंजी लेयर लीक होने पर हानि की सीमा तय करती है, बिलिंग लेयर बिल की पारदर्शता तय करती है।
एकल मॉडल डायरेक्ट कनेक्ट सेवा से क्या अंतर है
डायरेक्ट कनेक्शन सेवा का अर्थ है कि आप सीधे मॉडल प्रदाता के आधिकारिक डोमेन पर अनुरोध भेज रहे हैं, जहाँ आमतौर पर एक खाता एक मॉडल सेट, एक बिलिंग नियम और एक दस्तावेज़ से जुड़ा होता है। गेटवे सेवाओं के दो सामान्य रूप होते हैं, जिनमें अंतर "पीछे कितनी चीज़ें जुड़ी हैं" इसमें है।
| मापदंड | डायरेक्ट एकल सेवा | एग्रीगेट मध्यस्थ | एकल मॉडल मध्यस्थ |
|---|---|---|---|
| मॉडल संख्या | प्रदाता के अपने कुछ | दसियों या सैकड़ों | एक |
| इंटरफ़ेस फॉर्मेट | प्रत्येक का अपना फॉर्मेट | OpenAI कम्पैटिबल बनाया गया | OpenAI कम्पैटिबल |
| डिबगिंग कठिनाई | न्यूनतम, लिंक सबसे छोटा | उच्चतम, मॉडल नाम मैपिंग जटिल | कम, केवल एक मॉडल |
| उपयोग के मामले | केवल एक प्रदाता की स्थिर सेवा | मॉडल अक्सर बदलने की तुलना | स्थिर मॉडल, भविष्यवाणी योग्यता |
यदि आपकी सेवा केवल एक मॉडल पर निर्भर है, तो एग्रीगेशन का लाभ नहीं मिलेगा, बल्कि "कौन सा मॉडल नाम किससे मेल खाता है" की अनिश्चितता झेलनी पड़ेगी। इसके विपरीत, यदि आप सप्ताह में कई बार मॉडल तुलना परीक्षण करते हैं, तो एग्रीगेशन कई अनुकूलन कार्य बचाता है। कोई निरपेक्ष श्रेष्ठता नहीं है; महत्वपूर्ण यह समझना है कि आप किस श्रेणी में आते हैं।
यह साइट अंतिम श्रेणी में आती है: यह केवल एक मॉडल प्रदान करता है, मॉडल id uncensored है, इंटरफ़ेस OpenAI-कम्पैटिबल चैट कॉम्प्लीशन है। इस तरह के समझौते और लागत पर चर्चा के लिए असीमित AI API की लागत और समझौते देखें।
तीन सबसे आम जोखिम
कुंजी सुरक्षा
गेटवे कुंजी एक प्रीपेड क्रेडिट कार्ड के समान है; जो इसे पाता है, वह आपकी शेष राशि खर्च कर सकता है। सामान्य लीक मार्ग हैं: कुंजी को फ्रंटएंड कोड में लिखना, सार्वजनिक रिपॉजिटरी में कंपाइट करना, या टिकट/ग्रुप चैट में स्क्रीनशॉट में चिपकाना। सलाह है कि इसे केवल सर्वर-साइड एनवायरनमेंट वेरिएबल में रखें, फ्रंटएंड हमेशा अपने बैकएंड से अग्रिम करे। लीक की शंका होने पर तुरंत रीसेट करें, पुरानी कुंजी तुरंत अमान्य होनी चाहिए। यह भी जांचें कि क्या सेवा स्वयं रीसेट की अनुमति देती है, और क्या रीसेट के बाद पुरानी कुंजी तुरंत अमान्य हो जाती है, न कि "कुछ घंटों बाद"।
मॉडल बदलना
यह एग्रीगेशन सेवाओं में सबसे अधिक चर्चित मुद्दा है: आप A का अनुरोध करते हैं, लेकिन वास्तव में सस्ता B लौटाया जाता है। यह दस्तावेज़ से पता नहीं चलता, केवल व्यवहार से सत्यापित किया जा सकता है। एक मानक उत्तर वाले प्रश्नों के सेट और स्थिर temperature से बार-बार परीक्षण करके आउटपुट शैली स्थिर है या नहीं, देखें। /v1/models अनुरोध करके सूची की कीमत पृष्ठ से मेल खाती है या नहीं, जांचें। मॉडल नाम अस्पष्ट होना या एक ही नाम का व्यवहार समय के साथ बदलना, दोनों सावधानी का विषय हैं।
अपारदर्शी रेट लिमिट
कुछ सेवाएँ दस्तावेज़ में केवल "उचित उपयोग" लिखती हैं, लेकिन भीड़भाड़ के दौरान धीरे-धीरे गति कम कर देती हैं या अनुरोध छोड़ देती हैं, जिससे आपका एप्लिकेशन कभी-कभी टाइमआउट देता है। परिपक्व दृष्टिकोण यह है कि प्रत्येक कुंजी के लिए प्रति मिनट अनुरोधों की संख्या स्पष्ट रूप से लिखी जाए, सीमा पार होने पर मानक 429 लौटाया जाए, न कि कनेक्शन लटकने दिया जाए। चयन करते समय अवश्य पूछें: क्या रेट लिमिट कुंजी-वार या खाता-वार है, सीमा पार होने पर क्या लौटाया जाता है, क्या शेष राशि समाप्त होने पर एक स्वतंत्र त्रुटि कोड लौटाया जाता है।
चयन मध्यस्थ सेवा की जाँच सूची
नीचे दी गई सूची को आप अपने मूल्यांकन दस्तावेज़ में सीधे कॉपी कर सकते हैं और प्रत्येक बिंदु पर टिक कर सकते हैं।
- क्या सार्वजनिक
GET /v1/modelsप्रदान किया जाता है, जिससे लौटा मॉडल सूची मूल्य निर्धारण पृष्ठ से मेल खाती है? - क्या त्रुटि प्रतिक्रिया संरचित JSON है, जिसमें code और message शामिल हैं, और 401, 402, 429, 503 अलग-अलग हैं?
- प्रति मिनट प्रत्येक कुंजी के लिए अनुरोधों की अधिकतम संख्या दस्तावेज़ में लिखी है या केवल ग्राहक सेवा में?
- क्या संदर्भ लंबाई, एकल अधिकतम आउटपुट टोकन और अनुरोध बॉडी आकार के लिए स्पष्ट संख्याएँ दी गई हैं?
- क्या बिलिंग usage में टोकन संख्या के अनुसार सटीक रूप से कटौती करता है, और क्या शेष राशि तुरंत देखी जा सकती है?
- क्या प्रीपेड शेष राशि समाप्त होती है? क्या मुफ़्त ट्रायल क्रेडिट की वैधता स्पष्ट रूप से लिखी गई है?
- क्या कुंजी को स्वयं रीसेट किया जा सकता है, और क्या पुरानी कुंजी तुरंत अमान्य हो जाती है?
- क्या स्ट्रीमिंग आउटपुट समर्थित है, और अंत में usage आँकड़े उपलब्ध हैं ताकि आप स्वयं बिलिंग सत्यापित कर सकें?
- क्या प्रॉम्प्ट्स को प्रशिक्षण के लिए उपयोग करने के बारे में एक स्पष्ट एक वाक्य की व्याख्या दी गई है?
- क्या अयोग्य क्षमताओं (जैसे वेक्टर, इमेज, ऑडियो) को सच्चाई से चिह्नित किया गया है, न कि अस्पष्ट रूप से?
पूर्ण अंक यथार्थवादी नहीं है, लेकिन पहले पाँच में से यदि दो का उत्तर नहीं दिया जा सकता है, तो छोटी राशि का ट्रायल करने की सलाह दी जाती है, एक बार में बड़ी राशि टॉप-अप न करें।
कुंजी प्राप्त करने के बाद दस मिनट की जाँच
कोई भी सेवा चुनें, लॉन्च से पहले बुनियादी जाँच के लिए दस मिनट खर्च करना उचित है। पहला कदम, मॉडल सूची लिखें, पुष्टि करें कि लौटा id आपकी अपेक्षा से मेल खाता है:
curl -s https://api.llmzhongzhuan.com/v1/models \
-H "Authorization: Bearer $API_KEY"
चरण 2: एक छोटा अनुरोध भेजें, और प्रतिक्रिया में usage फ़ील्ड मौजूद है या नहीं, और संख्या उचित है या नहीं, यह देखें। निम्नलिखित उदाहरण में मॉडल से तारीख दोहराने को कहा गया है, यह देखने के लिए कि क्या वह ऐसी जानकारी गढ़ता है जिसका उसे ज्ञान नहीं है। यह एक आकस्मिक व्यवहार जाँच है, कठोर मूल्यांकन नहीं:
curl -s https://api.llmzhongzhuan.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "用一句话介绍你自己,然后复述今天的日期是几号。"}],
"max_tokens": 200
}'
इन दोनों चरणों को अपने डिप्लॉयमेंट स्क्रिप्ट में लिखें, और हर बार जब कुंजी या सेवा बदलें, तो इसे चलाएं। यदि प्रतिक्रिया में usage नहीं है, या usage की संख्या इनपुट लंबाई से स्पष्ट रूप से मेल नहीं खाती, तो इसका अर्थ है कि बिलिंग पारदर्शिता में समस्या है, और बड़ी राशि खर्च करने से पहले इसे स्पष्ट करें। विभिन्न फ्रेमवर्क में एकीकरण के लिए फ्रेमवर्क कॉन्फ़िगरेशन गाइड देखें।
इस साइट के पैरामीटर, आपकी जाँच सूची के साथ तुलना के लिए
यहाँ इस साइट के वास्तविक पैरामीटर सूचीबद्ध किए गए हैं, ताकि आप ऊपर दी गई सूची से प्रत्येक बिंदु की जाँच कर सकें, दस्तावेज़ में बार-बार नहीं देखना पड़े।
- API पता:
https://api.llmzhongzhuan.com/v1,POST /v1/chat/completionsऔरGET /v1/modelsका समर्थन करता है, प्रमाणीकरण Bearer कुंजी का उपयोग करता है। - केवल एक मॉडल, id
uncensored; केवल टेक्स्ट, वेक्टर, इमेज, ऑडियो, वीडियो और फाइन-ट्यून नहीं। - कॉन्टेक्स्ट विंडो 100,000 टोकन (इनपुट + आउटपुट),
max_tokensडिफ़ॉल्ट 2048, अधिकतम 32,000; अनुरोध बॉडी 8 MB से अधिक नहीं। - प्रति मिनट प्रत्येक कुंजी के लिए 300 अनुरोध, सीमा पार होने पर 429 लौटाता है; 503 upstream_busy का अर्थ है बाद में पुनः प्रयास करें; शेष राशि समाप्त या ट्रायल समाप्त होने पर 402 no_credit लौटाता है।
- मूल्य इनपुट के प्रति मिलियन टोकन $0.25 और आउटपुट के प्रति मिलियन टोकन $1.00 है, प्रीपेड क्रेडिट टॉप-अप, कोई सदस्यता नहीं, बैलेंस कभी खत्म नहीं होता।
- प्रॉम्प्ट्स प्रशिक्षण के लिए उपयोग नहीं किए जाएँगे।
सटीक संख्याएँ मूल्य निर्धारण पृष्ठ और दस्तावेज़ पर निर्भर करती हैं। नए खाते में $0.50 मुफ़्त ट्रायल क्रेडिट होता है, जो 7 दिनों के लिए मान्य है। पंजीकरण के लिए भुगतान जानकारी भरने की आवश्यकता नहीं है; आप पहले इसका उपयोग करके ऊपर वर्णित सत्यापन प्रक्रिया पूरी कर सकते हैं।
अक्सर पूछे जाने वाले प्रश्न
API गेटवे और सीधे आधिकारिक इंटरफ़ेस का सबसे बड़ा अंतर क्या है?
मध्यस्थ स्टेशन आपके और मॉडल के बीच एक अतिरिक्त गेटवे स्तर जोड़ता है, जो फॉरवर्डिंग, कुंजी बदलने और शुल्क की जिम्मेदारी लेता है। लंबी लिंक एक समान API फॉर्मेट और अधिक लचीले शुल्क के लिए बदली जाती है, इसकी कीमत है कि आपको इस स्तर की स्थिरता और ईमानदारी पर अधिक भरोसा करना होगा।
कैसे पता लगाएं कि गेटवे सेवा मॉडल छिपे हुए रूप से बदल रही है या नहीं?
स्थिर प्रॉम्प्ट और स्थिर temperature से आउटपुट स्थिर है या नहीं, यह बार-बार परीक्षण करें, और /v1/models सूची की कीमत पृष्ठ से मेल खाती है या नहीं, जांचें। एकल मॉडल सेवा में केवल एक id होता है, इसलिए असंगति कम होती है।
गेटवे कुंजी लीक हो जाए तो क्या करें?
तुरंत बैकएंड में कुंजी रीसेट करें और पुष्टि करें कि पुरानी कुंजी तुरंत अमान्य हो गई है। भविष्य में कुंजी केवल सर्वर-साइड एनवायरनमेंट वेरिएबल्स में रखें, फ्रंटएंड अपने बैकएंड के माध्यम से फॉरवर्ड करे।
गेटवे सेवा चुनते समय सबसे पहले किन बातों पर ध्यान देना चाहिए?
सबसे पहले मॉडल सूची का सार्वजनिक रूप से जांच, मानक एरर कोड, प्रति मिनट रेट लिमिट की स्पष्टता देखें, फिर कॉन्टेक्स्ट विंडो और बैलेंस की समाप्ति। इकाई मूल्य इनके बाद तुलना करें।
परीक्षण के लिए कितना क्रेडिट उपयोग करना सुरक्षित है?
पहले मुफ़्त ट्रायल क्रेडिट या छोटी राशि से /v1/models और कुछ सामान्य अनुरोध चलाएं, फिर धीरे-धीरे उपयोग बढ़ाएं। शुरुआत में बड़ी राशि टॉप-अप करने की सलाह नहीं दी जाती।
केवल फॉर्म भरें, कुंजी प्राप्त करें
खाता बनाएँ, कुंजी कॉपी करें, Base URL बदलें। कॉन्फ़िगरेशन इतना ही सरल है।