मी एकाच AI प्रदातावर अवलंबून राहणे का थांबवले

मी एका कम्युनिटी फोरमसाठी रिअल-टाइम चॅटबॉट तयार केला. मी फक्त OpenAI API वापरला. ते खूप सोपे वाटत होते.

तीन आठवड्यांनंतर, पीक अवर्समध्ये मला 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