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

Iris একটি ওপেন-সোর্স MCP (মডেল কনটেক্সট প্রোটোকল) সার্ভার যা AI এজেন্ট আউটপুটগুলির গুণমান, নিরাপত্তা এবং খরচ মূল্যায়ন করার জন্য ডিজাইন করা হয়েছে। এটি সম্পূর্ণরূপে আপনার মেশিনে চলে, ট্রেসগুলি একটি স্থানীয় SQLite ডাটাবেসে সংরক্ষণ করে এবং কোনো অ্যাকাউন্ট, SDK বা টেলিমেট্রির প্রয়োজন হয় না। প্রকল্পটি MIT-লাইসেন্সযুক্ত এবং Node.js 20 বা তার পরবর্তী সংস্করণ প্রয়োজন। মূল ক্ষমতাগুলির মধ্যে রয়েছে হায়ারার্কিক্যাল স্প্যান ট্রি সহ ট্রেস লগিং, প্রতি-টুল-কল লেটেন্সি, টোকেন ব্যবহার এবং USD-তে খরচ ট্র্যাকিং। আউটপুট মূল্যায়ন চারটি বিভাগে ২০টি বিল্ট-ইন ডিটারমিনিস্টিক নিয়ম ব্যবহার করে: সম্পূর্ণতা, প্রাসঙ্গিকতা, নিরাপত্তা এবং খরচ। নিরাপত্তা নিয়মগুলি PII সনাক্ত করে (১৯টি প্যাটার্ন যেমন SSN, ক্রেডিট কার্ড, ফোন, ইমেল, IBAN, DOB, MRN, IP, API কী, পাসপোর্ট এবং ক্লাউড প্রোভাইডার টোকেন), প্রম্পট ইনজেকশন (৩৭টি প্যাটার্ন), হ্যালুসিনেশন মার্কার (২৫টি কনটেক্সট-গ্রাউন্ডেড ফেব্রিকেশন সিগন্যাল) এবং ট্র্যাজেক্টরি লঙ্ঘন যেমন অস্বীকৃত ব্যর্থ টুল কল, বারবার কল, স্কিমা-প্রত্যাখ্যাত আর্গুমেন্ট এবং উদ্ধৃত উৎস যা এজেন্ট কখনও পড়েনি। একটি ঐচ্ছিক LLM-as-judge বৈশিষ্ট্য Anthropic বা OpenAI-এর মাধ্যমে সেমান্টিক স্কোরিং প্রদান করে প্রতি-ইভাল খরচের হার্ড ক্যাপ সহ (ডিফল্ট $0.25)। Iris বারোটি MCP টুল নিবন্ধন করে যা যেকোনো MCP-সামঞ্জস্যপূর্ণ এজেন্ট আহ্বান করতে পারে: log_trace, evaluate_output, get_traces, list_rules, deploy_rule, delete_rule, delete_trace, evaluate_with_llm_judge, verify_citations, compare_runs, compare_traces এবং evaluate_runs। verify_citations টুল আউটপুট থেকে উদ্ধৃতি বের করে, SSRF-সুরক্ষিত রিজলভারের পিছনে উৎসগুলি আনয়ন করে এবং প্রতিটি উৎস উদ্ধৃত দাবি সমর্থন করে কিনা তা পরীক্ষা করতে একটি LLM জাজ ব্যবহার করে। একটি ওয়েব ড্যাশবোর্ড http://localhost:6920-এ পরিবেশন করে, সবচেয়ে খারাপ এবং নতুন প্রথমে ব্যর্থতাগুলিতে ল্যান্ডিং করে। এটি ট্রেস ভিজ্যুয়ালাইজেশন, ইভাল ফলাফল, খরচ ভাঙ্গন এবং নিয়ম, ট্রেস এবং ইভাল অনুসন্ধানের জন্য একটি কমান্ড প্যালেট (Cmd+K) প্রদান করে। ড্যাশবোর্ডটি মডেল ছাড়াই ট্রেস ক্যাপচার করার জন্য একটি HTTP ইনজেস্ট এন্ডপয়েন্ট (POST /api/v1/traces) এবং একটি ক্ষমতা এন্ডপয়েন্ট (GET /api/v1/capabilities)ও প্রকাশ করে যা সার্ভার কী বিচার করতে পারে তা বর্ণনা করে। CI/CD ইন্টিগ্রেশনের জন্য, ইনজেস্ট CLI কমান্ড stdin বা একটি ফাইল থেকে JSON বা NDJSON ট্রেস পড়ে, সেগুলি মূল্যায়ন করে, প্রতি ট্রেসে একটি JSON লাইন ভেরডিক্ট সহ প্রিন্ট করে এবং একটি ভেরডিক্ট --fail-on ফিল্টারের সাথে মিললে কোড 1 দিয়ে প্রস্থান করে। এটি এজেন্ট ডিপ্লয়মেন্টগুলিকে মূল্যায়ন ফলাফলের উপর গেটিং করতে সক্ষম করে। কাস্টম নিয়মগুলি ইনলাইন লেখা যেতে পারে (প্রতি evaluate_output কলে সর্বোচ্চ ১০টি) বা deploy_rule-এর মাধ্যমে স্থায়ীভাবে ডিপ্লয় করা যেতে পারে। নিয়মের ধরনগুলির মধ্যে রয়েছে regex_match, regex_no_match, min_length, max_length, contains_keywords, excludes_keywords, json_schema এবং cost_threshold। ডিপ্লয় করা নিয়মগুলি Iris হোম ডিরেক্টরির অধীনে custom-rules.json-এ স্থায়ী থাকে এবং তাদের বিভাগের প্রতিটি ভবিষ্যতের evaluate_output-এ ফায়ার করে। গুরুতরতা স্তর (নিম্ন, মাঝারি, উচ্চ, সমালোচনামূলক) নির্ধারণ করে যে একটি নিয়ম ব্যর্থতা মূল্যায়নকে হার্ড-ফেল করে বা শুধুমাত্র স্কোরকে প্রভাবিত করে। পাস করা ভেরডিক্ট একটি কম্পোজার দ্বারা সিদ্ধান্ত নেওয়া হয় যা প্রতিটি নিয়মকে এটি যে ধরনের দাবি করে তা দ্বারা পড়ে: কনফিগার করা নীতিগুলি গেট করে, সমালোচনামূলক ডিটেক্টর ভেটো দেয়, সমালোচনামূলক চেক যা উত্তর দিতে পারেনি একটি অজানা ভেরডিক্ট তৈরি করে এবং অবশিষ্ট ডিটেক্টরগুলি একটি কনফিগারযোগ্য ক্ষতি অনুপাতের বিরুদ্ধে ওজনযুক্ত একটি সম্ভাবনায় একত্রিত হয়। প্রকৃত নিরাপত্তা লঙ্ঘন (no_pii, no_injection_patterns, no_blocklist_words) ডিফল্টভাবে হার্ড-ফেল করে। প্রতিটি বিল্ট-ইন নিয়মের প্রকাশিত প্রিসিশন, রিকল এবং F1 স্কোর রয়েছে ৯৫% আত্মবিশ্বাসের ব্যবধান সহ, রিপোজিটরিতে একটি লেবেলযুক্ত কর্পাসে পরিমাপ করা হয়। CI প্রতিটি পুল রিকোয়েস্টে পরিমাপটি পুনরায় চালায় এবং প্রতিশ্রুত সংখ্যাগুলি কোড যা উত্পাদন করে তার থেকে আলাদা হলে ব্যর্থ হয়। Iris স্থানীয়-প্রথম: সবকিছু ডিস্কে SQLite-এ থাকে। আউটবাউন্ড HTTP শুধুমাত্র যেখানে আপনি অপ্ট ইন করেন সেখানে ঘটে — আপনার নিজের LLM-জাজ কী, উদ্ধৃতি আনয়ন বা একটি OpenTelemetry এক্সপোর্টার যা আপনি কনফিগার করেন। প্রকল্পটি দুটি পোর্ট সহ Docker ডিপ্লয়মেন্ট সমর্থন করে (MCP HTTP ট্রান্সপোর্টের জন্য 3000, ড্যাশবোর্ড এবং ইনজেস্টের জন্য 6920) এবং Claude Desktop, Claude Code, Cursor, Windsurf, Continue, VS Code, Cline, Zed, Codex CLI, Gemini CLI এবং অন্য যেকোনো MCP-সামঞ্জস্যপূর্ণ এজেন্টের সাথে সংহত হয়।