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

SelfBench হলো ব্যবহারকারীর নিজের কোডবেসের বিপরীতে কোডিং এজেন্ট ও মডেল বেঞ্চমার্ক করার একটি প্ল্যাটফর্ম। এটি মার্জ করা পুল রিকোয়েস্ট থেকে টাস্ক তৈরি করে: প্রতিটি PR-এর জন্য, পরিবর্তনের আগের কমিট থেকে রিপোজিটরি অবস্থা পুনর্নির্মাণ করে, PR-এর নিজস্ব অনুরোধকে নির্দেশনা হিসেবে ব্যবহার করে, এবং একটি অথরিং এজেন্ট হিডেন টেস্ট ও একটি রেফারেন্স সলিউশন তৈরি করে। একটি টাস্ক তখনই গৃহীত হয় যখন সলিউশন ছাড়া টেস্ট ব্যর্থ হয়, মূল ইমপ্লিমেন্টেশন দিয়ে পাস করে, পুনরায় চালালে আবার পাস করে, এবং স্বাধীন রিভিউ টিকে যায়; গৃহীত টাস্কগুলো নেটিভ Harbor টাস্ক। হোস্টেড ওয়েব অ্যাপ GitHub সাইন-ইন, রিপোজিটরি সংযোগ, সহজ, মধ্যম ও কঠিন টাস্কের ব্যাচ জেনারেশন, অথবা নির্বাচিত PR থেকে একক টাস্ক তৈরি সমর্থন করে। ব্যাচগুলো ঘণ্টার পর ঘণ্টা চলতে পারে এবং ব্রাউজার বন্ধ হওয়ার পরেও চলতে থাকে। ব্যবহারকারীরা প্রতিটি টাস্কের নির্দেশনা, পরিবেশ, হিডেন টেস্ট, রেফারেন্স প্যাচ ও পাইপলাইন আর্টিফ্যাক্ট পরিদর্শন করতে পারেন, তারপর অনুমোদন বা প্রত্যাখ্যান করতে পারেন। রান-এ মডেল, হারনেস ও একটি স্যান্ডবক্স নির্বাচন করা হয়; ফলাফল নির্ভুলতা বনাম খরচ তুলনা করে এবং ট্রায়াল ট্রান্সক্রিপ্ট ও স্কোর প্রকাশ করে। পাবলিক রিপোজিটরি ফলাফল selfbench.dev-এ প্রকাশ করা যায়। মডেল ও স্যান্ডবক্স অ্যাক্সেস SelfBench বিলিংসহ পরিচালনা করতে পারে, অথবা সংস্থার মালিকানাধীন ক্রেডেনশিয়ালের মাধ্যমে সরবরাহ করা যায়; API কী HTTP API-এর মাধ্যমে স্ক্রিপ্টেড অ্যাক্সেস দেয়। একটি রেফারেন্স সেলফ-হোস্টিং ডিপ্লয়মেন্ট GCP-কে লক্ষ্য করে, যেখানে API ও Temporal ওয়ার্কারের জন্য Cloud Run, Harbor জবের জন্য ঐচ্ছিক GKE Autopilot ওয়ার্কার, Cloud SQL এবং GCS থাকে। প্রভিশনিং Terraform, রানটাইম সিক্রেটের জন্য Secret Manager, GitHub Actions এনভায়রনমেন্ট এবং GitHub OAuth ব্যবহার করে। লোকাল ডেভেলপমেন্টের জন্য Bun 1.3.14+ এবং Docker Compose প্রয়োজন, এবং API, ওয়ার্কার, Temporal, Postgres ও লোকাল Docker স্যান্ডবক্স একসাথে চালাতে পারে; ফ্রন্টএন্ড ডেভেলপমেন্ট Vite হট রিলোড সমর্থন করে। প্রকল্পটি MIT লাইসেন্সের অধীনে।