હું શા માટે એક જ AI પ્રોવાઈડર પર નિર્ભર રહેવાનું બંધ કર્યું

મેં એક કોમ્યુનિટી ફોરમ માટે રિયલ-ટાઇમ ચેટબોટ બનાવ્યો હતો. મેં ફક્ત OpenAI API નો ઉપયોગ કર્યો હતો. તે સરળ લાગતું હતું.

ત્રણ અઠવાડિયા પછી, પીક અવર્સ દરમિયાન મને 5xx એરર આવી. મારો ચેટબોટ બંધ થઈ ગયો. વપરાશકર્તાઓ ગુસ્સે હતા. મને સમજાયું કે પ્રોડક્શન એપ્સ માટે હું એક જ પ્રોવાઈડર પર વિશ્વાસ કરી શકતો નથી.

મને એક જ પ્રોવાઈડર સાથે અનેક સમસ્યાઓનો સામનો કરવો પડ્યો:

મેં અન્ય પ્રોવાઈડર્સ અજમાવ્યા, પરંતુ તે બધાના ફોર્મેટ અને ઓથેન્ટિકેશન પદ્ધતિઓ અલગ-અલગ હતી. મારો કોડ switch-case સ્ટેટમેન્ટ્સનો ગૂંચવણભર્યો જથ્થો બની ગયો.

મને એક એવી સિસ્ટમની જરૂર હતી જે:

મેં થર્ડ-પાર્ટી લાઇબ્રેરીઓ ટાળી કારણ કે તે ખૂબ જ કડક (rigid) હતી. તેના બદલે, મેં એક સરળ ડિઝાઇનનો ઉપયોગ કરીને કસ્ટમ ફોલબેક (fallback) સિસ્ટમ બનાવી.

સૌ પ્રથમ, મેં તમામ પ્રોવાઈડર્સ માટે એક કોમન ઇન્ટરફેસ બનાવ્યો. આનાથી કોઈપણ AI મોડેલ એક જ કોડ સાથે કામ કરી શકે છે.

ત્યારબાદ, મેં એક router class બનાવી. આ ક્લાસ ક્રમ અનુસાર પ્રોવાઈડર્સને અજમાવે છે. તે નિષ્ફળતાઓને સંચાલિત કરવા માટે exponential backoff અને સરળ કેશિંગનો ઉપયોગ કરે છે.

અહીં લોજિક છે:

આ સિસ્ટમે તાજેતરના ત્રણ આઉટેજ દરમિયાન મારા પ્રોજેક્ટને બચાવ્યો. તે પારદર્શક અને સરળ રહે છે.

જો તમે AI સાથે કંઈક બનાવો છો, તો આ મુદ્દાઓ યાદ રાખો:

જો તમારો પ્રોજેક્ટ નાનો હોય તો તેને વધુ પડતો જટિલ (over-engineer) ન બનાવો. પરંતુ જો તમારી સેવા અપટાઇમ (uptime) પર નિર્ભર હોય, તો ફોલબેક બનાવો.

તમે તમારા પ્રોજેક્ટ્સમાં પ્રોવાઈડરની વિશ્વસનીયતા કેવી રીતે હેન્ડલ કરો છો? શું તમે ફોલબેક લેયરનો ઉપયોગ કરો છો અથવા એક જ વેન્ડર પર નિર્ભર રહો છો?

સ્ત્રોત: https://dev.to/__c1b9e06dc90a7e0a676b/why-i-stopped-relying-on-a-single-ai-provider-and-built-a-fallback-system-1pc0