𝗟𝗟𝗠 𝗚𝗮𝘁𝗲𝘄𝗮𝘆𝘀: 𝗥𝗼𝘂𝘁𝗶𝗻𝗴, 𝗙𝗮𝗹𝗹𝗯𝗮𝗰𝗸𝘀, 𝗔𝗻𝗱 𝗦𝗲𝗺𝗮𝗻𝘁𝗶𝗰 𝗖𝗮𝗰𝗵𝗶𝗻𝗴
কোডের মাত্র একটি লাইন আপনার AI বাজেট নষ্ট করে দিতে পারে।
আপনি যদি আপনার অ্যাপে একটি নির্দিষ্ট মডেল প্রোভাইডারকে হার্ডকোড করে ফেলেন, তবে আপনি তিনটি ঝুঁকির সম্মুখীন হবেন:
- সাধারণ কাজের জন্য উচ্চ খরচ।
- কোনো প্রোভাইডার ডাউন হয়ে গেলে সম্পূর্ণ পরিষেবা বন্ধ হয়ে যাওয়া।
- একই উত্তরের জন্য হাজার হাজার বার টাকা দেওয়া।
একটি LLM গেটওয়ে আপনার অ্যাপ এবং আপনার মডেলগুলোর মধ্যে একটি প্রক্সি হিসেবে কাজ করে। এটি তিনটি গুরুত্বপূর্ণ কাজ পরিচালনা করে: রাউটিং, ফলব্যাক এবং ক্যাশিং।
- Routing বেশিরভাগ অ্যাপ প্রতিটি রিকোয়েস্ট সবচেয়ে দামী মডেলে পাঠায়। এটি অপচয়। সহজ কাজগুলো সস্তা মডেলে পাঠানোর জন্য রাউটিং ব্যবহার করুন।
- Static routing: ইউজার টিয়ার বা কাজের ধরনের ওপর ভিত্তি করে রুলস ব্যবহার করুন।
- Cost/Latency routing: সবচেয়ে দ্রুত বা সবচেয়ে সস্তা উপলব্ধ মডেলটি বেছে নিন।
- Difficulty routing: একটি ছোট মডেল ব্যবহার করে সিদ্ধান্ত নিন যে কোনো কাজের জন্য বড় মডেলের প্রয়োজন আছে কি না। গবেষণা দেখায় যে স্মার্ট রাউটিং উচ্চ গুণমান বজায় রেখে খরচ ৮০%-এর বেশি কমাতে পারে।
- Fallbacks প্রোভাইডাররা ব্যর্থ হতে পারে। তারা রেট লিমিটে পৌঁছে যেতে পারে বা অফলাইনে চলে যেতে পারে। একটি গেটওয়ে একটি ফলব্যাক চেইন পরিচালনা করে। যদি আপনার প্রাথমিক মডেলটি ব্যর্থ হয়, তবে গেটওয়ে স্বয়ংক্রিয়ভাবে আপনার তালিকার পরবর্তী মডেলটি চেষ্টা করবে। পরিষেবা ব্যাহত হওয়ার পরিস্থিতি আরও খারাপ হওয়া এড়াতে এই প্যাটার্নগুলো ব্যবহার করুন:
- Exponential backoff: একটি struggling প্রোভাইডারের ওপর অতিরিক্ত চাপ এড়াতে পুনরায় চেষ্টা করার মাঝে বিরতি দিন।
- Circuit breaking: একটি নির্দিষ্ট সময়ের জন্য ব্যর্থ প্রোভাইডারের কাছে ট্রাফিক পাঠানো বন্ধ করুন। এটি টাইমআউটের জন্য অপেক্ষা না করে তাৎক্ষণিক ফেলওভার (failover) নিশ্চিত করে।
- Semantic Caching স্ট্যান্ডার্ড ক্যাশিং হুবহু টেক্সট মিল খোঁজে। LLM-এর ক্ষেত্রে এটি কাজ করে না কারণ ব্যবহারকারীরা ভিন্ন ভিন্ন ভাবে প্রশ্ন করেন। সিম্যান্টিক ক্যাশিং অর্থের ওপর ভিত্তি করে কাজ করে। এটি একটি প্রম্পটকে ভেক্টরে রূপান্তর করে এবং আপনার ডাটাবেসে একই ধরনের কোনো প্রশ্ন আছে কি না তা পরীক্ষা করে।
- সুবিধা: একটি ক্যাশ হিট নিতে মাত্র 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/GyaanSetuAi