𝗪𝗵𝘆 𝗜 𝗦𝘁𝗼𝗽𝗽𝗲𝗱 𝗥𝗲𝗹𝘆𝗶𝗻𝗴 𝗼𝗻 𝗮 𝗦𝗶𝗻𝗴𝗹𝗲 𝗔𝗜 𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿

मैंने एक कम्युनिटी फोरम के लिए एक रियल-टाइम चैटबॉट बनाया। मैंने केवल OpenAI API का उपयोग किया। यह सरल लग रहा था।

तीन सप्ताह बाद, पीक आवर्स (peak hours) के दौरान मुझे 5xx एरर का सामना करना पड़ा। मेरा चैटबॉट बंद हो गया। यूजर्स नाराज थे। मुझे एहसास हुआ कि मैं प्रोडक्शन ऐप्स के लिए केवल एक प्रोवाइडर पर भरोसा नहीं कर सकता।

मुझे एक सिंगल प्रोवाइडर के साथ कई समस्याओं का सामना करना पड़ा:

मैंने अन्य प्रोवाइडर्स को आज़माया, लेकिन उन सभी के फॉर्मेट और ऑथेंटिकेशन मेथड्स अलग-अलग थे। मेरा कोड switch-case स्टेटमेंट्स का एक उलझा हुआ जाल बन गया।

मुझे एक ऐसे सिस्टम की आवश्यकता थी जो:

मैंने थर्ड-पार्टी लाइब्रेरीज़ से परहेज किया क्योंकि वे बहुत अधिक रिजिड (rigid) थीं। इसके बजाय, मैंने एक सरल डिज़ाइन का उपयोग करके एक कस्टम फॉलबैक सिस्टम (fallback system) बनाया।

सबसे पहले, मैंने सभी प्रोवाइडर्स के लिए एक कॉमन इंटरफ़ेस बनाया। इससे कोई भी AI मॉडल एक ही कोड के साथ काम कर सकता है।

इसके बाद, मैंने एक राउटर क्लास (router class) बनाई। यह क्लास क्रम के अनुसार प्रोवाइडर्स को आज़माती है। यह विफलताओं को संभालने के लिए एक्सपोनेंशियल बैकऑफ़ (exponential backoff) और सिंपल कैशिंग का उपयोग करती है।

यहाँ इसका लॉजिक दिया गया है:

इस सिस्टम ने हाल ही में हुए तीन आउटेज के दौरान मेरे प्रोजेक्ट को बचा लिया। यह पारदर्शी और सरल बना रहता है।

यदि आप AI के साथ कुछ बना रहे हैं, तो इन बातों को याद रखें:

यदि आपका प्रोजेक्ट छोटा है, तो ओवर-इंजीनियरिंग (over-engineer) न करें। लेकिन यदि आपकी सर्विस अपटाइम (uptime) पर निर्भर है, तो एक फॉलबैक ज़रूर बनाएं।

आप अपने प्रोजेक्ट्स में प्रोवाइडर की विश्वसनीयता (reliability) को कैसे संभालते हैं? क्या आप फॉलबैक लेयर का उपयोग करते हैं या किसी एक वेंडर पर निर्भर रहते हैं?

स्रोत: https://dev.to/__c1b9e06dc90a7e0a676b/why-i-stopped-relying-on-a-single-ai-provider-and-built-a-fallback-system-1pc0