למה הפסקתי להסתמך על ספק AI אחד

בניתי צ'אטבוט בזמן אמת עבור פורום קהילתי. השתמשתי רק ב-OpenAI API. זה נראה פשוט.

שלושה שבועות לאחר מכן, נתקלתי בשגיאת 5xx בשעות השיא. הצ'אטבוט שלי הפסיק לעבוד. המשתמשים כעסו. הבנתי שאני לא יכול לסמוך על ספק אחד עבור אפליקציות פרודקשן (production).

נתקלתי בכמה בעיות עם ספק יחיד:

ניסיתי ספקים אחרים, אך לכולם היו פורמטים ושיטות אימות שונות. הקוד שלי הפך לבלגן של הצהרות switch-case.

הייתי צריך מערכת שתוכל:

נמנעתי מספריות צד-שלישי כי הן היו נוקשות מדי. במקום זאת, בניתי מערכת fallback מותאמת אישית באמצעות עיצוב פשוט.

ראשית, יצרתי ממשק (interface) משותף לכל הספקים. זה מאפשר לכל מודל AI לעבוד עם אותו קוד.

לאחר מכן, בניתי מחלקת router. מחלקה זו מנסה ספקים לפי סדר מסוים. היא משתמשת ב-exponential backoff ובמטמון (caching) פשוט כדי לנהל כשלים.

הנה הלוגיקה:

המערכת הזו הצילה את הפרויקט שלי במהלך שלוש השבתות אחרונות. היא נשארת שקופה ופשוטה.

אם אתם בונים עם AI, זכרו את הנקודות הבאות:

אל תבצעו over-engineering אם הפרויקט שלכם קטן. אבל אם השירות שלכם תלוי בזמינות (uptime), בנו fallback.

איך אתם מטפלים באמינות ספקים בפרויקטים שלכם? האם אתם משתמשים בשכבת fallback או מסתמכים על ספק אחד?

מקור: https://dev.to/__c1b9e06dc90a7e0a676b/why-i-stopped-relying-on-a-single-ai-provider-and-built-a-fallback-system-1pc0