SiCore TokenWorks
LLM APIAPI Gateway

सिलिकॉन-कार्बन फेज़ ट्रांज़िशन: Tencent Cloud CVM पर एक हफ्ते में 6 बड़े मॉडल API जोड़कर इंटेलिजेंट कस्टमर सर्विस प्रोटोटाइप बनाने के दौरान मिली गलतियों की कहानी

SiCore TokenWorks Team·2026-10-05

पिछले महीने मुझे एक काम मिला, एक SaaS टिकट सिस्टम बनाने वाली टीम की मदद करनी थी एक इंटेलिजेंट कस्टमर सर्विस प्रोटोटाइप बनाने में, जिसे एक हफ्ते के अंदर चलाना था, और साथ ही DeepSeek, Qwen, Doubao, GPT-4o इन सबके जवाबों की क्वालिटी की तुलना करनी थी। उनका पूरा बिज़नेस Tencent Cloud CVM पर चलता है, कंटेनर के लिए TKE इस्तेमाल होता है, इसलिए सारी कॉल्स क्लाउड के अंदर से ही होनी थीं। मुझे लगा था कि API जोड़ना कितना मुश्किल होगा, लेकिन एक हफ्ते में जो गलतियाँ मिलीं, वो मेरी सोच से कहीं ज़्यादा थीं।

पहले नतीजा दे देता हूँ: अगर आपके Tencent Cloud बिज़नेस को दो से ज़्यादा बड़े मॉडल जोड़ने हैं, तो सीधे हर कंपनी के ऑफिशियल SDK पर कोड न लिखें, पहले एक AI API एग्रीगेशन लेयर बनाएं। यह आलस नहीं है, यह जान बचाने वाला काम है। नीचे मैं अपनी गलतियों के क्रम में बताता हूँ।

Key मैनेजमेंट: 6 Keys को एनवायरनमेंट वेरिएबल में हार्डकोड न करें

पहले दिन मैंने बहुत बेवकूफी भरा काम किया, चारों प्लेटफॉर्म्स की Keys सब CVM के एनवायरनमेंट वेरिएबल में डाल दीं, कोड में सीधे os.environ से पढ़ रहा था। चलने में कोई दिक्कत नहीं आई, लेकिन उसी दिन दोपहर में दिक्कत हो गई: टेस्टिंग टीम को एक Qwen Key बदलकर प्रेशर टेस्ट करना था, मैंने कॉन्फ़िग बदलकर कंटेनर रीस्टार्ट किया, तो गलती से प्रोडक्शन वाला कंटेनर भी साथ में रीस्टार्ट हो गया।

दिक्कत यह थी कि Key और बिज़नेस कॉन्फ़िग एक साथ मिले हुए थे, कोई केंद्रीकृत मैनेजमेंट नहीं था। बाद में मैंने सारी Keys एक अलग कॉन्फ़िग सर्विस में डाल दीं, "प्लेटफॉर्म + उपयोग" इन दो आयामों पर टैग लगाए, जैसे deepseek-prod, qwen-test। कॉल करने वाला सिर्फ लॉजिकल नाम लेता है, असली Key को छूता नहीं। यह काम करने के बाद, Key बदलने के लिए बिज़नेस कोड छूने की ज़रूरत नहीं, और बिज़नेस कंटेनर रीस्टार्ट करने की भी ज़रूरत नहीं।

अगर आप यह सब खुद मेंटेन नहीं करना चाहते, तो एग्रीगेशन प्लेटफॉर्म इस्तेमाल करना ज़्यादा आसान होगा। हमारे प्रोजेक्ट में बाद में token8341 इस्तेमाल किया, एक Key से ही GPT-4o, Claude, Gemini, DeepSeek, Qwen, ERNIE, Doubao जैसे मुख्य मॉडल्स को कॉल किया जा सकता है, Key का रोटेशन और कोटा कंट्रोल प्लेटफॉर्म की तरफ होता है, Tencent Cloud पर सर्विस को सिर्फ एक क्रेडेंशियल मेंटेन करना होता है। यह मल्टी-मॉडल तुलना टेस्टिंग जैसे सिनेरियो के लिए बहुत अच्छा है, चार सेट ऑथेंटिकेशन लॉजिक बच जाते हैं।

SDK संगतता: चार कंपनियों के चार अलग तरीके, मेंटेनेंस कॉस्ट बहुत ज़्यादा

दूसरे दिन कॉलिंग कोड लिखना शुरू किया, यही असली परेशानी वाली जगह थी। DeepSeek और GPT-4o दोनों OpenAI SDK के साथ संगत हैं, base_url बदलकर स्विच कर सकते हैं, यह हिस्सा आसान था। लेकिन Qwen के SDK के पैरामीटर नाम अलग हैं, Doubao का ऑथेंटिकेशन AK/SK सिग्नेचर से होता है Bearer Token से नहीं, और ERNIE का इंटरफ़ेस अपनी अलग ऑथेंटिकेशन प्रक्रिया है।

समस्या बहुत स्पष्ट थी: मैंने एक यूनिफाइड chat फंक्शन लिखा, लेकिन उसके अंदर सब if कंडीशन थे, if platform == 'doubao' तो यह ब्रांच, elif platform == 'qwen' तो वो ब्रांच। फंक्शन 200 लाइन का हो गया, और टेस्ट कवरेज भी नहीं बढ़ रही थी।

समाधान यह निकला कि AI API गेटवे लगाकर प्रोटोकॉल कन्वर्ज़न किया जाए। गेटवे अंदर की तरफ एक OpenAI-संगत इंटरफ़ेस देता है, बाहर की तरफ रिक्वेस्ट को हर कंपनी के समझने वाले फॉर्मेट में ट्रांसलेट करता है। इससे बिज़नेस कोड में सिर्फ एक SDK रहता है, नया मॉडल जोड़ने के लिए गेटवे की तरफ सिर्फ एक अडैप्टर जोड़ना होता है, बिज़नेस साइड में कोई बदलाव नहीं। हमने खुद एक वर्जन बनाया था, बाद में पता चला कि तैयार एग्रीगेशन सर्विस इस्तेमाल करना ज़्यादा तेज़ है, token8341 जैसे प्लेटफॉर्म यही काम करते हैं, OpenAI SDK के साथ संगत, एक लाइन base_url बदलकर मॉडल स्विच कर सकते हैं।

स्ट्रीमिंग आउटपुट: SSE का फॉर्मेट हर कंपनी का अलग है

तीसरे दिन स्ट्रीमिंग आउटपुट करना था, फ्रंटएंड को एक-एक अक्षर निकालना था। SSE प्रोटोकॉल तो स्टैंडर्ड है, लेकिन हर कंपनी के data फील्ड की स्ट्रक्चर अलग है। OpenAI सीरीज़ के delta में content फील्ड होता है, Qwen के फील्ड का नाम अलग है, Doubao कभी-कभी स्ट्रीम के बीच में हार्टबीट पैकेट भी डाल देता है, फ्रंटएंड को खाली delta मिलता है तो सीधे एरर देता है।

समस्या यह थी कि फ्रंटएंड कभी-कभी रुक जाता था, या अचानक एक खाली मैसेज बबल आ जाता था। काफी देर ढूँढने के बाद पता चला कि हार्टबीट पैकेट फ़िल्टर नहीं हो रहा था।

इसका एक समान तरीका यह है कि गेटवे लेयर पर एक नॉर्मलाइज़ेशन किया जाए, सभी प्लेटफॉर्म्स के स्ट्रीमिंग रिस्पॉन्स को OpenAI के chunk फॉर्मेट में बदल दिया जाए, हार्टबीट पैकेट सीधे डिस्कार्ड कर दिए जाएं, बिज़नेस साइड सिर्फ एक स्ट्रक्चर हैंडल करे। यह काम न करें तो फ्रंटएंड को चार सेट पार्सिंग लॉजिक लिखने पड़ेंगे, हर बार बदलाव में रोना पड़ेगा।

एक्सेप्शन हैंडलिंग: किसी एक का टाइमआउट हो तो ऑटो स्विच होना चाहिए

चौथे दिन प्रेशर टेस्ट किया, DeepSeek की तरफ कभी-कभी टाइमआउट हो रहा था, पूरी बातचीत अटक जाती थी। इंटेलिजेंट कस्टमर सर्विस जैसे सिनेरियो में, यूज़र तीन सेकंड इंतज़ार के बाद पेज बंद कर देता है, खाली बैठा नहीं रह सकता।

मैंने एक डिग्रेडेशन लेयर जोड़ी: मुख्य मॉडल की कॉल अगर तय थ्रेशोल्ड से ज़्यादा समय लेती है तो ऑटोमैटिक बैकअप मॉडल पर स्विच हो जाए, और साथ ही यह फेल्योर रिकॉर्ड हो जाए। यहाँ मुख्य बात यह है कि डिग्रेडेशन बिना एहसास के हो, यूज़र साइड को स्विचिंग का पता न चले। बड़े मॉडल रूटिंग में, एग्रीगेशन प्लेटफॉर्म में आमतौर पर फेलओवर बिल्ट-इन होता है, हमने टेस्ट किया तो token8341 का ऑटो स्विचिंग काफी स्टेबल निकला, मुख्य मॉडल टाइमआउट होने पर साइलेंटली बैकअप पर चला जाता है, बिज़नेस कोड में रिट्राई लॉजिक लिखने की ज़रूरत नहीं।

एक बात याद रखें: डिग्रेडेशन बिना सोचे-समझे न करें, यह अंतर करें कि नेटवर्क टाइमआउट है या मॉडल ने खुद एरर दिया है। पहले वाले में स्विच कर सकते हैं, दूसरे में स्विच करना भी बेकार है, उलटा Token बर्बाद होता है।

कॉस्ट मॉनिटरिंग: Token खपत इकट्ठा न हो तो महीने के अंत में हिसाब नहीं मिलता

आखिरी दिन कॉस्ट स्टैटिस्टिक्स बनाई, तो पता चला कि चारों प्लेटफॉर्म्स के बिल चार अलग हैं, फॉर्मेट भी अलग, किसी में Token के हिसाब से चार्ज है, किसी में कॉल काउंट के हिसाब से, तुलना ही नहीं हो सकती। बॉस ने पूछा "कौन सा मॉडल सबसे किफायती है", मैं कोई एक समान आंकड़ा नहीं दे सका।

समाधान यह है कि गेटवे लेयर पर एक समान हिसाब रखा जाए, हर कॉल में मॉडल का नाम, इनपुट Token, आउटपुट Token, समय रिकॉर्ड हो, एक टेबल में जाए। इससे दिन के हिसाब से, मॉडल के हिसाब से, बिज़नेस लाइन के हिसाब से रिपोर्ट निकाल सकते हैं। एग्रीगेशन प्लेटफॉर्म में आमतौर पर यूसेज डैशबोर्ड बिल्ट-इन होता है, पे-एज़-यू-गो मॉडल में कॉस्ट एग्रीगेशन काफी आसान हो जाता है। तुलना करने पर, बल्क परचेज़ और ग्रीन एनर्जी से कॉस्ट कम करने के रास्ते में, प्रति Token कॉस्ट ऑफिशियल सीधी खरीद से कुछ कम निकलती है, यह बड़े वॉल्यूम वाले कस्टमर सर्विस सिनेरियो के लिए बहुत ज़रूरी है।

एक हफ्ते के कुछ अनुभव

Tencent Cloud पर बिज़नेस को बड़े मॉडल से जोड़ने में, मुश्किल कभी "एक मॉडल को कैसे चलाएं" नहीं होती, बल्कि "छह मॉडल्स को एक इंसान की तरह कैसे बनाएं" होती है। Key मैनेजमेंट, प्रोटोकॉल संगतता, स्ट्रीमिंग नॉर्मलाइज़ेशन, फॉल्ट डिग्रेडेशन, कॉस्ट एग्रीगेशन, इन पाँच चीज़ों में से कोई एक भी ठीक से न हुई तो प्रोटोटाइप प्रेशर टेस्ट पास नहीं करेगा।

एक एग्रीगेशन लेयर बनाना सबसे किफायती विकल्प है। खुद लिखें या तैयार AI API एग्रीगेशन सर्विस इस्तेमाल करें, मुख्य बात यह है कि बिज़नेस कोड को सीधे छह कंपनियों के अंतर का सामना न करना पड़े। SiliconFlow जैसे प्लेटफॉर्म मुख्य रूप से ग्रीन कंप्यूटिंग और घरेलू मॉडल प्राथमिकता पर केंद्रित हैं, Tencent Cloud पर कंटेनर से सीधे कॉल होता है, नेटवर्क लेटेंसी विदेशी ट्रांज़िट से काफी कम है, यह भी हमारे आखिर में इसे चुनने का एक कारण था।

प्रोटोटाइप पूरा होने वाले दिन, टेस्टिंग टीम के एक साथी ने जो कहा वो मुझे गहराई से याद रहा: "पता चला कि बड़े मॉडल जोड़ना API जोड़ना नहीं है, यह एक गवर्नेंस सिस्टम जोड़ना है।" यह बात सही है।

लेखक: चेन जिंगशिंग

प्रकाशन तिथि: 6 अक्टूबर 2026