𝗟𝗟𝗠 𝗚𝗮𝘁𝗲𝘄𝗮𝘆𝘀: 𝗥𝗼𝘂𝘁𝗶𝗻𝗴, 𝗙𝗮𝗹𝗹𝗯𝗮𝗰𝗸𝘀, 𝗔𝗻𝗱 𝗦𝗲𝗺𝗮𝗻𝘁𝗶𝗰 𝗖𝗮𝗰𝗵𝗶𝗻𝗴
ഒരു വരി കോഡ് നിങ്ങളുടെ AI ബജറ്റ് തകർത്തു കളഞ്ഞേക്കാം.
നിങ്ങളുടെ ആപ്പിൽ ഒരു മോഡൽ പ്രൊവൈഡറെ മാത്രം ഹാർഡ്കോഡ് ചെയ്താൽ, നിങ്ങൾ മൂന്ന് റിസ്ക്കുകൾ നേരിടേണ്ടി വരും:
- ലളിതമായ ജോലികൾക്കായി ഉയർന്ന ചിലവ്.
- ഒരു പ്രൊവൈഡർ പ്രവർത്തനരഹിതമായാൽ പൂർണ്ണമായ തടസ്സം.
- ഒരേ ഉത്തരത്തിനായി ആയിരക്കണക്കിന് തവണ പണം നൽകേണ്ടി വരുന്നു.
ഒരു LLM ഗേറ്റ്വേ നിങ്ങളുടെ ആപ്പിനും മോഡലുകൾക്കും ഇടയിൽ ഒരു പ്രോക്സി (proxy) ആയി പ്രവർത്തിക്കുന്നു. ഇത് റൂട്ടിംഗ്, ഫാള்பാക്കുകൾ, കാഷിംഗ് എന്നിങ്ങനെ മൂന്ന് പ്രധാന ജോലികൾ ചെയ്യുന്നു.
- Routing മിക്ക ആപ്പുകളും എല്ലാ റിക്വസ്റ്റുകളും ഏറ്റവും ചിലവേറിയ മോഡലിലേക്കാണ് അയക്കുന്നത്. ഇത് പാഴാണ്. ലളിതമായ ജോലികൾ കുറഞ്ഞ ചിലവുള്ള മോഡലുകളിലേക്ക് അയക്കാൻ റൂട്ടിംഗ് ഉപയോഗിക്കുക.
- Static routing: ഉപയോക്താക്കളുടെ വിഭാഗം (user tiers) അല്ലെങ്കിൽ ജോലിയുടെ തരം എന്നിവയെ അടിസ്ഥാനമാക്കിയുള്ള നിയമങ്ങൾ ഉപയോഗിക്കുക.
- Cost/Latency routing: ലഭ്യമായതിൽ നിന്ന് ഏറ്റവും വേഗതയേറിയതോ അല്ലെങ്കിൽ ഏറ്റവും കുറഞ്ഞ ചിലവുള്ളതോ ആയ മോഡൽ തിരഞ്ഞെടുക്കുക.
- Difficulty routing: ഒരു ജോലിക്ക് വലിയ മോഡൽ ആവശ്യമാണോ എന്ന് തീരുമാനിക്കാൻ ഒരു ചെറിയ മോഡൽ ഉപയോഗിക്കുക. സ്മാർട്ട് റൂട്ടിംഗിലൂടെ ഗുണനിലവാരം നിലനിർത്തിക്കൊണ്ടുതന്നെ ചിലവ് 80 ശതമാനത്തിലധികം കുറയ്ക്കാൻ കഴിയുമെന്ന് ഗവേഷണങ്ങൾ കാണിക്കുന്നു.
- Fallbacks പ്രൊവൈഡർമാർ പരാജയപ്പെട്ടേക്കാം. അവർ റേറ്റ് ലിമിറ്റുകളിൽ (rate limits) അകപ്പെടുകയോ ഓഫ്ലൈൻ ആകുകയോ ചെയ്തേക്കാം. ഒരു ഗേറ്റ്വേ ഫാള்பാക്ക് ചെയിൻ (fallback chain) നിയന്ത്രിക്കുന്നു. നിങ്ങളുടെ പ്രധാന മോഡൽ പരാജയപ്പെട്ടാൽ, ഗേറ്റ്വേ നിങ്ങളുടെ ലിസ്റ്റിലെ അടുത്ത മോഡൽ സ്വയമേവ പരീക്ഷിക്കും. തടസ്സങ്ങൾ കൂടുതൽ വഷളാകാതിരിക്കാൻ ഈ രീതികൾ ഉപയോഗിക്കുക:
- Exponential backoff: ബുദ്ധിമുട്ടുന്ന ഒരു പ്രൊവൈഡറിന് കൂടുതൽ ഭാരം നൽകാതിരിക്കാൻ റീട്രൈകൾ (retries) ഇടവേളകളോടെ ചെയ്യുക.
- Circuit breaking: പരാജയപ്പെടുന്ന ഒരു പ്രൊവൈഡറിലേക്ക് ട്രാഫിക് അയക്കുന്നത് നിശ്ചിത സമയത്തേക്ക് നിർത്തുക. ഇത് ടൈമൗട്ടുകൾക്കായി കാത്തുനിൽക്കുന്നതിന് പകരം പെട്ടെന്നുള്ള ഫെയിലോവർ (failover) അനുവദിക്കുന്നു.
- Semantic Caching സാധാരണ കാഷിംഗ് കൃത്യമായ ടെക്സ്റ്റ് മാച്ചുകൾക്കായി തിരയുന്നു. എന്നാൽ ഉപയോക്താക്കൾ ചോദ്യങ്ങൾ വ്യത്യസ്ത രീതിയിൽ ചോദിക്കുന്നതിനാൽ LLM-കളിൽ ഇത് പരാജയപ്പെടുന്നു. സെമാന്റിക് കാഷിംഗ് (Semantic caching) അർത്ഥത്തിന് പ്രാധാന്യം നൽകുന്നു. ഇത് ഒരു പ്രോംപ്റ്റിനെ ഒരു വെക്റ്ററിലേക്ക് (vector) മാറ്റുകയും നിങ്ങളുടെ ഡാറ്റാബേസിൽ സമാനമായ ചോദ്യം ഉണ്ടോ എന്ന് പരിശോധിക്കുകയും ചെയ്യുന്നു.
- ഗുണം: ഒരു കാഷ് ഹിറ്റ് (cache hit) 5ms മാത്രമേ എടുക്കുന്നുള്ളൂ, ചിലവും $0 ആണ്. എന്നാൽ ഒരു മോഡൽ കോൾ സെക്കന്റുകൾ എടുക്കുകയും ടോക്കണുകൾക്കായി പണം ചിലവാക്കുകയും ചെയ്യുന്നു.
- അപകടം: സമാനതയുടെ പരിധി (similarity threshold) വളരെ കുറച്ചു വെച്ചാൽ തെറ്റായ ഉത്തരങ്ങൾ ലഭിക്കാം. പരിധി വളരെ അയഞ്ഞതാണെങ്കിൽ, "പാസ്വേഡ് റീസെറ്റ് ചെയ്യുന്നതിനെ" കുറിച്ചുള്ള ചോദ്യത്തിന് "ഇമെയിൽ മാറ്റുന്നതിനെ" കുറിച്ചുള്ള ഉത്തരം ലഭിച്ചേക്കാം.
Build or Buy?
- Build: അടിസ്ഥാന ഫാള்பാക്കുകൾ അല്ലെങ്കിൽ എക്സാക്റ്റ് മാച്ച് കാഷിംഗ് പോലുള്ള ലളിതമായ ആവശ്യങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യം.
- Buy/Open Source: സെമാന്റിക് കാഷിംഗ്, ഒബ്സർവബിലിറ്റി (observability), സങ്കീർണ്ണമായ ഫെയിലോവർ ലോജിക് എന്നിവ ആവശ്യമായി വരുമ്പോൾ LiteLLM പോലുള്ള ടൂളുകളോ മാനേജ്ഡ് സർവീസുകളോ ഉപയോഗിക്കുക.
ഒരു ഗേറ്റ്വേ എന്നത് ഒരു ഫീച്ചറല്ല, മറിച്ച് ഒരു ഇൻഫ്രാസ്ട്രക്ചറാണ്. നിങ്ങളുടെ കോഡ്ബേസിലുടനീളം മോഡൽ കോളുകൾ ചിതറിക്കിടക്കുന്നത് ഒഴിവാക്കുക. ചിലവും വിശ്വാസ്യതയും നിയന്ത്രിക്കുന്നതിനായി മുന്നിൽ ഒരു ഗേറ്റ് സ്ഥാപിക്കുക.
ഉറവിടം: https://dev.to/nazar_boyko/llm-gateways-routing-fallbacks-and-semantic-caching-1n2b
ഓപ്ഷണൽ ലേണിംഗ് കമ്മ്യൂണിറ്റി: https://t.me/GyaanSet