AgentGateway-কে একটি Semantic Brain প্রদান করা
আমার AI এজেন্ট রাউটিং আগে বেশ অগোছালো ছিল।
আমি Pi নামে একটি ব্যক্তিগত AI এজেন্ট তৈরি করেছি। এটি আমার লিভিং রুম থেকে ২৪/৭ চলে। খরচ কমাতে আমি তিনটি ভিন্ন মডেল ব্যবহার করতাম:
- কোডিংয়ের জন্য Ollama (Local)।
- গভীর যুক্তিনির্ভর কাজের (deep reasoning) জন্য OpenAI।
- দ্রুত কাজের জন্য Gemini।
সঠিক মডেলটি বেছে নিতে আমি কিওয়ার্ড লিস্টসহ একটি Python স্ক্রিপ্ট ব্যবহার করতাম। এটি ছিল একটি সাধারণ if-else চেইন।
এটি বারবার ব্যর্থ হতো। যদি কোনো ব্যবহারকারী আমার নির্দিষ্ট কিওয়ার্ড ব্যবহার না করে Rust patterns সম্পর্কে জিজ্ঞাসা করতেন, তবে রাউটারটি ভুল মডেলে পাঠিয়ে দিত। যদি কোনো ব্যবহারকারী হিন্দিতে কথা বলতেন, তবে এটি কাজ করা বন্ধ করে দিত।
ফলাফলগুলো ছিল খারাপ:
- ১৮% রিকোয়েস্ট ভুল মডেলে চলে যেত।
- সাধারণ কাজের জন্য আমি দামী API-তে টাকা অপচয় করতাম।
- আমাকে প্রতি সপ্তাহে ম্যানুয়ালি কিওয়ার্ড আপডেট করতে হতো।
আমার এমন একটি সিস্টেম প্রয়োজন ছিল যা শুধু কিওয়ার্ড নয়, বরং অর্থ বুঝতে পারে।
আমি AgentGateway-এর সাথে vLLM Semantic Router ব্যবহার শুরু করি। এটি সবকিছু বদলে দিয়েছে।
একটি Python স্ক্রিপ্টের পরিবর্তে, Semantic Router একটি Envoy sidecar হিসেবে কাজ করে। এটি প্রতিটি প্রম্পটের উদ্দেশ্য বোঝার জন্য একটি ছোট ১৩০MB-এর embedding model ব্যবহার করে। আপনাকে কিওয়ার্ড লিখতে হয় না। আপনি শুধু একটি YAML ফাইলে প্রতিটি মডেল কী কাজ করে তার একটি বর্ণনা লিখে দেবেন।
দুই সপ্তাহ পর ফলাফল:
- ভুলভাবে রাউট হওয়া রিকোয়েস্ট ১৮% থেকে কমে ৩% এ নেমে এসেছে।
- রাউটিং ল্যাটেন্সি ৪৫ms থেকে কমে ১ms এ নেমে এসেছে।
- মাসিক API খরচ $24 থেকে কমে $14 এ নেমে এসেছে।
- রক্ষণাবেক্ষণ এখন শূন্য।
রাউটারটি আপনার প্রম্পটের সাথে মডেলের বর্ণনার তুলনা করতে embeddings ব্যবহার করে। আপনি যদি একটি মডেলকে কোডিং স্পেশালিস্ট হিসেবে বর্ণনা করেন, তবে রাউটারটি স্বয়ংক্রিয়ভাবে কোডিং প্রম্পটগুলো সেখানে পাঠিয়ে দেবে। এটি এমনকি বিভিন্ন ভাষার ক্ষেত্রেও কাজ করে।
যদি রাউটারটি ব্যর্থ হয়, তবুও সিস্টেমটি অনলাইন থাকে। আমি একটি fail-open পলিসি কনফিগার করেছি। যদি রাউটার ক্র্যাশ করে, তবে রিকোয়েস্টগুলো স্বয়ংক্রিয়ভাবে Gemini-তে চলে যায়। এজেন্ট কখনোই কাজ করা বন্ধ করে না।
আমি এমনকি Apple Silicon-এ ARM64 সাপোর্ট সংক্রান্ত সোর্স কোডের দুটি বাগ (bug) খুঁজে বের করেছি এবং তা ঠিক করতে সাহায্য করেছি। ওপেন সোর্স এভাবেই কাজ করা উচিত। আপনি একটি সমস্যা খুঁজে পান, একটি সমাধান প্রদান করেন এবং পুরো কমিউনিটি আরও উন্নত হয়।
আপনি যদি AI এজেন্ট তৈরি করেন, তবে কিওয়ার্ড ম্যাচিং ব্যবহার করা বন্ধ করুন। আপনার খরচ নিয়ন্ত্রণ করতে এবং উত্তরের মান উন্নত করতে semantic routing ব্যবহার করুন।
Optional learning community: https://t.me/GyaanSetuAi