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

Council Router হলো একটি ইন্টেলিজেন্ট প্রক্সি সার্ভার যা একটি একক OpenAI-কম্প্যাটিবল API এন্ডপয়েন্টের মাধ্যমে একাধিক লার্জ ল্যাঙ্গুয়েজ মডেল (LLM) ব্যাকএন্ড — যার মধ্যে Ollama, OpenAI, Anthropic, Gemini এবং LiteLLM-এর মাধ্যমে আরও ১০০টির বেশি মডেল অন্তর্ভুক্ত — অ্যাক্সেসকে একীভূত করার জন্য ডিজাইন করা হয়েছে। এটি প্রায়োরিটি-ভিত্তিক সিলেকশন, রাউন্ড-রবিন লোড ব্যালেন্সিং এবং অটোমেটিক মডেল ফলব্যাক চেইনের মতো ফিচারের মাধ্যমে ভিন্ন ভিন্ন LLM সার্ভারের মধ্যে নিরবচ্ছিন্ন রাউটিং সক্ষম করে। ল্যাটেন্সি কমাতে সিস্টেমটি বুদ্ধিমত্তার সাথে সেই ব্যাকএন্ডগুলোকে প্রাধান্য দেয় যেখানে অনুরোধ করা মডেলটি ইতিমধ্যে VRAM-এ লোড করা থাকে। এর একটি উল্লেখযোগ্য বৈশিষ্ট্য হলো "LLM Council" মোড, যা ব্যবহারকারীর কুয়েরির উপর চূড়ান্ত উত্তর সংশ্লেষণের আগে একাধিক মডেল বা পারসোনাকে সমান্তরালভাবে আলোচনা করার সুযোগ দেয় — যা জটিল সিদ্ধান্ত গ্রহণ বা কোড রিভিউ সিনারিওর জন্য দরকারী। বিল্ট-ইন টেমপ্লেটগুলোর মধ্যে বৈচিত্র্যময় বিশ্লেষণ, কোড রিভিউ এবং ডিবেট মোড অন্তর্ভুক্ত রয়েছে, সাথে কাস্টম YAML-সংজ্ঞায়িত কাউন্সিল সমর্থন করে। সমস্ত রেসপন্স ঐচ্ছিকভাবে অফলাইন বিশ্লেষণের জন্য কম্প্রেসড SQLite-এ সংরক্ষিত হয়, যার মধ্যে ইন্টারমিডিয়েট থিংকিং টোকেনও অন্তর্ভুক্ত। Prometheus মেট্রিক্স রিকোয়েস্ট রেট, ল্যাটেন্সি, টোকেন ব্যবহার এবং ব্যাকএন্ড হেলথ ট্র্যাক করে, যার জন্য Docker Compose-এর মাধ্যমে একটি প্রি-কনফিগারড Grafana ড্যাশবোর্ড উপলব্ধ। এই সার্ভিসটি OpenAI এন্ডপয়েন্টের পাশাপাশি নেটিভ Ollama এন্ডপয়েন্টও এক্সপোজ করে, যা এটিকে Open WebUI-এর মতো টুলগুলোর সাথে সামঞ্জস্যপূর্ণ করে তোলে। নিরাপত্তার ক্ষেত্রে, ইনফারেন্স এন্ডপয়েন্টগুলো ডিফল্টভাবে আনঅথেন্টিকেটেড (বিশ্বস্ত নেটওয়ার্কের জন্য), তবে অ্যাডমিন এন্ডপয়েন্টগুলোর জন্য Bearer টোকেন প্রয়োজন। রেসপন্স স্টোরেজ ডিফল্টভাবে সক্রিয় থাকে তবে এনক্রিপ্টেড নয়, তাই সংবেদনশীল প্রম্পটগুলো সতর্কতার সাথে পরিচালনা করা উচিত। প্রজেক্টটি FastAPI দিয়ে তৈরি, Python 3.12+ সংস্করণে চলে এবং এতে পূর্ণ টেস্ট কভারেজ (১২৭টি পাসিং টেস্ট) রয়েছে। Docker Compose মনিটরিং সহ একটি রেডি-টু-রান স্ট্যাক প্রদান করে। কনফিগারেশন YAML-এর মাধ্যমে পরিচালিত হয়, যা এনভায়রনমেন্ট ভেরিয়েবল ইনজেকশন সমর্থন করে। ডেভেলপমেন্ট টুলগুলোর মধ্যে লিন্টিং, ফরম্যাটিং এবং টেস্টিং স্ক্রিপ্ট অন্তর্ভুক্ত রয়েছে।