প্রকল্প সম্পর্কে

MultiRouter AI একটি একক API এন্ডপয়েন্ট হিসেবে কাজ করে যা বুদ্ধিমত্তার সাথে একাধিক AI প্রোভাইডার অ্যাকাউন্টের মধ্যে চ্যাট কমপ্লিশন রিকোয়েস্টগুলো রাউট করে। এটি ব্যবহারকারীদের Groq, Cerebras এবং Gemini-এর মতো পরিষেবাগুলোর ফ্রি-টিয়ার API কী স্ট্যাক করার সুযোগ দেয় এবং যখন কোনো একটি অ্যাকাউন্ট রেট লিমিটে পৌঁছে যায়, তখন স্বয়ংক্রিয়ভাবে অন্যটিতে সুইচ (failover) করে। এই সিস্টেমটি সম্পূর্ণভাবে OpenAI API স্পেসিফিকেশনের সাথে সামঞ্জস্যপূর্ণ, যার ফলে এটি Cursor, Windsurf, Claude Code, Aider এবং কাস্টম OpenAI বেস URL সমর্থনকারী অন্যান্য IDE-গুলোর জন্য প্লাগ-অ্যান্ড-প্লে হিসেবে কাজ করে। কনফিগারেশন একটি YAML ফাইল (`providers.yaml`)-এর মাধ্যমে পরিচালনা করা হয়, যেখানে ব্যবহারকারীরা প্রোভাইডার ইনস্ট্যান্স, API কী, সমর্থিত মডেল এবং রাউটিং প্রায়োরিটি নির্ধারণ করেন। প্রোভাইডারগুলোকে ক্রমানুসারে চেষ্টা করা হয় — সাধারণত প্রথমে ফ্রি টিয়ার এবং শেষে পেইড টিয়ার — এবং রেট লিমিট শেষ হওয়ার পর স্বয়ংক্রিয় কুলডাউন এবং রিয়াক্টিভেশন ব্যবস্থা থাকে। এখানে দুটি রাউটিং স্ট্র্যাটেজি উপলব্ধ: 'exhaust' (ডিফল্ট), যা প্রতিটি প্রোভাইডার শেষ না হওয়া পর্যন্ত ব্যবহার করে, এবং 'round-robin', যা `multirouter-auto` নামক বিশেষ মডেল নামের মাধ্যমে সক্রিয় ইনস্ট্যান্সগুলোর মধ্যে রিকোয়েস্টগুলো সমানভাবে বিতরণ করে। সার্ভারটি OpenAI ফরম্যাটে Server-Sent Events (SSE)-এর মাধ্যমে স্ট্রিমিং রেসপন্স সমর্থন করে এবং `/v1/chat/completions`, `/v1/models` এবং `/health`-এর মতো স্ট্যান্ডার্ড এন্ডপয়েন্ট প্রদান করে। এটি Node.js 20+, Express 5 এবং TypeScript 5.9-এ চলে, এতে বিল্ট-ইন রেট লিমিটিং এবং বিয়ারার টোকেনের মাধ্যমে অথেন্টিকেশন অন্তর্ভুক্ত রয়েছে। এছাড়া, এটি কাস্টম `base_url`-এর সাথে `openai-compatible` প্রোভাইডার টাইপের মাধ্যমে লোকাল বা সেলফ-হোস্টেড মডেল ইন্টিগ্রেট করতে পারে। নিরাপত্তার সর্বোত্তম অনুশীলনের অংশ হিসেবে git-এ `providers.yaml` ফাইলটিকে ইগনোর করা এবং সিক্রেটের জন্য এনভায়রনমেন্ট ভেরিয়েবল ইন্টারপোলেশন সমর্থন করা হয়। এই প্রজেক্টটি MIT লাইসেন্সের অধীনে এবং এটি সেইসব ডেভেলপারদের জন্য ডিজাইন করা হয়েছে যারা ক্লায়েন্ট অ্যাপ্লিকেশন পরিবর্তন না করেই একাধিক প্রোভাইডার কোটা পুল করার মাধ্যমে নিরবচ্ছিন্ন AI অ্যাক্সেস পেতে চান।