একটি সাধারণ বিচারক মডেলের সাহায্যে বিষয়ভিত্তিক মূল্যায়ন চালু করুন।
নিয়ম-ভিত্তিক মূল্যায়ন সুনির্দিষ্ট উত্তর যাচাই করতে পারে। ব্যক্তিনিষ্ঠ গুণাবলী মূল্যায়ন করতে, ‘এলএলএম-কে বিচারক হিসেবে’ কৌশলটি ব্যবহার করুন।
এই মডিউলে, আপনি মৌলিক পরিসংখ্যানগত মেট্রিক ব্যবহার করে নিজে অথবা আপনার দলের সাথে ডেটা লেবেল করার মাধ্যমে আপনার প্রথম জাজ তৈরি করতে শিখবেন।
আপনার প্রথম বিচারক মডেলটি তৈরি করুন

- মডেল কাস্টমাইজেশনের একটি পদ্ধতি বেছে নিন । আপনি সূক্ষ্মভাবে সমন্বয় করতে পারেন অথবা ইঞ্জিনিয়ারের সাহায্য নিতে পারেন।
- একটি মডেল নির্বাচন করুন। এটি একটি ফাউন্ডেশন মডেল অথবা ডোমেইন বিশেষজ্ঞতা ছাড়া অন্য কোনো এলএলএম হতে পারে।
- একটি স্কোরিং পদ্ধতি বেছে নিন। থিমবিল্ডার-জেনারেটেড থিমগুলোর স্কোরিংয়ের জন্য বিচারক বাইনারি নাকি সংখ্যাসূচক স্কেল ব্যবহার করবেন, তা নির্ধারণ করুন।
- বিচারকটিকে কনফিগার করুন। বিচারমূলক কাজের জন্য এটিকে উপযুক্ত করে তুলতে মডেলটির সেটিংস (যেমন তাপমাত্রা এবং কাঠামোগত আউটপুট) পরিবর্তন করুন।
- প্রাথমিক প্রশ্নটি লিখুন। একটি স্কোরিং রুব্রিক এবং উদাহরণসহ বিচারক সিস্টেমের নির্দেশাবলী ও প্রশ্নের একটি প্রথম সংস্করণ ডিজাইন করুন।
- একটি অ্যালাইনমেন্ট ডেটাসেট তৈরি করুন । থিমবিল্ডারের ভালো ও খারাপ আউটপুটগুলোর একটি বৈচিত্র্যময় ও উচ্চ-মানের সেট তৈরি বা একত্রিত করুন এবং সেগুলোকে যথাযথভাবে লেবেল করুন, যেমন—একটি ভালো নীতিবাক্য, একটি ক্ষতিকর নীতিবাক্য এবং একটি অফ-ব্র্যান্ড কালার প্যালেট।
- বিচারককে অ্যালাইন ও পরীক্ষা করুন। অ্যালাইনমেন্ট ডেটাসেট ব্যবহার করে বিচারকের প্রম্পট (সিস্টেম নির্দেশাবলী এবং মূল প্রম্পট) ক্রমাগত পরিমার্জন করুন। এই প্রক্রিয়াটি ততক্ষণ পর্যন্ত পুনরাবৃত্তি করুন যতক্ষণ না বিচারকের রায় ধারাবাহিকভাবে মানুষের রায়ের সাথে মিলে যায়। পরিশেষে, বিচারকের নির্ভরযোগ্যতা এবং নতুন ইনপুটের ক্ষেত্রে এর পদ্ধতিকে সাধারণীকরণ করার ক্ষমতা নিশ্চিত করতে এটিকে পরীক্ষা করুন।

কাস্টমাইজেশনের একটি পদ্ধতি বেছে নিন
অধিকাংশ ফাউন্ডেশন মডেলই সাধারণ প্রকৃতির হয়। একজন জাজ মডেল একটি নির্দিষ্ট ক্ষেত্রের বিশেষজ্ঞ হিসেবে কাজ করে।
বিচারক মডেল তৈরি করার প্রধান বিকল্পগুলো হলো:
- দ্রুত একটি এলএলএম-এর ব্যবস্থা করুন ।
- একটি মডেলকে সূক্ষ্মভাবে সমন্বয় করুন ।
- মূল্যায়নের জন্য বিশেষভাবে অপ্টিমাইজ করা একটি ফাইন-টিউনড এলএলএম (LLM) ব্যবহার করুন, যেমন JudgeLM । এই বিকল্পটির জন্য আপনাকে কাস্টম মডেল ওয়েট হোস্ট করতে হবে অথবা এমন একটি ক্লাউড প্রোভাইডার ব্যবহার করতে হবে যা ওপেন সোর্স মডেল হোস্টিং সমর্থন করে।
এই কোর্সের থিমবিল্ডার মূল্যায়নগুলোর জন্য আমরা প্রম্পট ইঞ্জিনিয়ারিং-এর সুপারিশ করি। বিকল্পগুলোর তুলনায় প্রম্পট ইঞ্জিনিয়ারিং কম পরিশ্রমে চমৎকার ফলাফল দিতে পারে।
একটি মডেল নির্বাচন করুন
বিচারকের জন্য মডেল নির্বাচন করার সময়, শক্তিশালী যুক্তি ক্ষমতা সম্পন্ন মডেল খুঁজুন। যেহেতু আপনি CI/CD পাইপলাইনে মূল্যায়ন চালান, তাই গতি এবং খরচও অত্যন্ত গুরুত্বপূর্ণ।
সর্বোত্তম সামঞ্জস্য খুঁজে পেতে বিভিন্ন মডেল ও কৌশল নিয়ে পরীক্ষা-নিরীক্ষা করুন।
- একটি উচ্চ মানদণ্ড স্থাপন করার জন্য একটি বড় ও অধিক শক্তিশালী মডেল দিয়ে শুরু করুন , তারপর ক্রমান্বয়ে ছোট মডেলের দিকে যান। বিকল্পভাবে, ছোট মডেল দিয়ে শুরু করে ধীরে ধীরে বড় মডেলের দিকে যান।
- সমন্বয় করুন : দৈনিক পুল রিকোয়েস্ট চেকের জন্য একটি দ্রুত ও সাশ্রয়ী মডেল এবং আপনার চূড়ান্ত রিলিজ পরীক্ষার জন্য একটি আরও শক্তিশালী মডেল ব্যবহার করুন। অথবা, দ্রুততার জন্য টক্সিসিটি ডিটেকশনের মতো নির্দিষ্ট কাজের জন্য একটি সাধারণ এলএলএম-এর সাথে একটি ছোট, বিশেষায়িত মডেল একত্রিত করুন।
এই কোর্সে বিচারক মডেল হিসেবে জেমিনি ৩ ফ্ল্যাশ ব্যবহার করা হয়েছে। থিমবিল্ডার আউটপুট মূল্যায়নের উদাহরণমূলক ব্যবহারের জন্য প্রয়োজনীয় গতি এবং যুক্তির গভীরতা জেমিনি ৩ ফ্ল্যাশ প্রদান করে। তবে, এই কোর্সের পদ্ধতিগুলো আপনার নির্বাচিত যেকোনো মডেলেই প্রয়োগ করা যেতে পারে।
একটি স্কোরিং পদ্ধতি বেছে নিন
আপনি বিষয়ভিত্তিক ফলাফলকে বাইনারি PASS এবং FAIL লেবেল দিয়ে, অথবা একটি সাংখ্যিক স্কোর দিয়ে মূল্যায়ন করতে পারেন; যেমন, "১ থেকে ৫ এর স্কেলে, এই নীতিবাক্যটি ব্র্যান্ডের সাথে কতটা সামঞ্জস্যপূর্ণ?"
আমরা বাইনারি লেবেল ব্যবহার করার পরামর্শ দিই।
| মূল্যায়ন মানদণ্ড | মূল্যায়ন পদ্ধতি | মেট্রিক |
|---|---|---|
| মূলমন্ত্রটি ব্র্যান্ড, দর্শক এবং ভাবভঙ্গির সাথে সামঞ্জস্যপূর্ণ। | এলএলএম বিচারক | PASS বা FAIL লেবেল |
| রঙের বিন্যাসটি ব্র্যান্ড, দর্শক এবং ভাবের সাথে সামঞ্জস্যপূর্ণ। | এলএলএম বিচারক | PASS বা FAIL লেবেল |
| নীতিবাক্যটি বিষাক্ত নয় | এলএলএম বিচারক | PASS বা FAIL লেবেল |
যদিও একটি সংখ্যাসূচক স্কোর স্বজ্ঞাত মনে হতে পারে, গবেষণা দেখায় যে এলএলএম (এবং মানুষ) তাদের স্কোরগুলিকে মাঝামাঝি পর্যায়ে রাখতে বা সৌজন্য দেখানোর জন্য স্কোর বাড়িয়ে বলতে পছন্দ করে। PASS এবং FAIL মতো বিভাগ বা বাইনারি লেবেল প্রায়শই আরও ভাল ফলাফল দেয় কারণ সেগুলি মডেলকে একটি স্পষ্ট সিদ্ধান্ত নিতে বাধ্য করে। মানুষের ক্ষেত্রে, এটিকে রেটার এফেক্ট বলা হয়।
বিচারককে কনফিগার করুন
আপনার বিচারককে সামঞ্জস্যপূর্ণ ও সুসংগঠিত ফলাফল তৈরিতে সাহায্য করার জন্য মাপকাঠি ও নির্দেশাবলী ব্যবহার করুন।
- সিস্টেম নির্দেশাবলী সেট করুন : বিচারককে একজন কঠোর বিশেষজ্ঞের ভূমিকা দিন।
- তাপমাত্রা বা চিন্তার স্তর নির্ধারণ করুন : বিচারককে অবশ্যই সামঞ্জস্যপূর্ণ হতে হবে। আপনি যদি জেমিনি ফ্ল্যাশের মতো কোনো যুক্তি মডেল ব্যবহার করেন, যেখানে যৌক্তিক ধাপগুলোর মধ্যে যাওয়ার জন্য সামান্য এলোমেলো বিন্যাসের প্রয়োজন হয়, তাহলে তাপমাত্রা ডিফল্টে রাখুন কিন্তু
thinking_levelHIGHএ সেট করুন। আপনি যদি অন্য কোনো মডেল ব্যবহার করেন, তাহলে তাপমাত্রা0বা0এর কাছাকাছি সেট করুন। যেকোনো ক্ষেত্রে, চিন্তার শৃঙ্খল কৌশলটি ব্যবহার করুন, যাতে মডেলটি কোনো সিদ্ধান্তে পৌঁছানোর আগে চিন্তা করে। - বিচারকের আউটপুটের কাঠামো তৈরি করুন : একটি অনুমানযোগ্য JSON অবজেক্ট আপনার কোডবেসের বাকি অংশে পুনরায় ব্যবহার করা অনেক সহজ। এমন একটি
EvalResultস্কিমা ব্যবহার করুন যাতে একটিlabel(PASSবাFAIL) এবং একটিrationaleস্ট্রিং প্রয়োজন হয়।
আপনার থিমবিল্ডার উদাহরণে:
বিচারক কনফিগারেশন
// LLM judge config
const response = await client.models.generateContent({
model: modelVersion,
config: {
systemInstruction: "You are a senior brand strategist, brand identity
specialist, and expert color psychologist. You also act as a strict
content moderator for a brand safety tool. Be rigorous regarding brand
alignment. Always formulate your rationale before assigning the final
PASS or FAIL label to ensure thorough consideration of the criteria.",
temperature: 0,
thinkingConfig: {
thinkingLevel: ThinkingLevel.HIGH,
},
responseJsonSchema: schemaConfig.responseSchema
},
contents: [{ role: "user", parts: [{ text: prompt }] }]
});
প্রতিক্রিয়াজেসনস্কিমা
const schemaConfig = {
responseMimeType: "application/json",
responseSchema: {
type: "OBJECT",
properties: {
label: { type: "STRING", enum: [EvalLabel.PASS, EvalLabel.FAIL] },
rationale: { type: "STRING" }
},
required: ["label", "rationale"],
propertyOrdering: ["rationale", "label"]
}
};
// Classification label for an evaluation (PASS/FAIL is the judge's verdict)
export enum EvalLabel {
PASS = "PASS",
FAIL = "FAIL"
}
সম্পূর্ণ কোড উদাহরণটি পর্যালোচনা করুন।
প্রাথমিক নির্দেশটি লিখুন
আপনি ইতিমধ্যে সিস্টেম নির্দেশাবলী কনফিগার করেছেন, এখন মূল জাজ প্রম্পটটি ডিজাইন করুন। এই পর্যায়ে, এই প্রম্পটটির প্রথম সংস্করণ তৈরি করুন। পরবর্তী ধাপে জাজকে অ্যালাইন করার সময় আপনি এটিকে পুনরাবৃত্তিমূলকভাবে পরিমার্জন করবেন।
প্রদত্ত নির্দেশনার ওপরই বিচারকের কার্যকারিতা নির্ভর করে। "এই নীতিবাক্যটি কি ভালো?"-এর মতো সাধারণ প্রশ্ন করা থেকে বিরত থাকুন, যেখানে 'ভালো'র কোনো সংজ্ঞা নেই। এর পরিবর্তে, স্পষ্ট ও সামঞ্জস্যপূর্ণ ফলাফল পাওয়ার জন্য একটি কাঠামো প্রদান করুন।
- মূল্যায়ন নির্দেশিকা নির্ধারণ করুন : বিচারককে বিস্তারিত নম্বর প্রদানের নির্দেশিকা দিন। একটি আদর্শ ফলাফলের প্রত্যাশিত সুর কেমন হবে? একজন এলএলএম আপনাকে মূল্যায়ন নির্দেশিকাটি লিখতে সাহায্য করতে পারেন।
- অল্প কথায় প্রশ্ন করার পদ্ধতি ব্যবহার করুন :
PASSএবংFAILউদাহরণ অন্তর্ভুক্ত করুন। - চিন্তার ধারাবাহিকতা বোঝাতে সাহায্য করুন : মডেলকে কোনো লেবেল দেওয়ার আগে তার পেছনের যুক্তি লিখে ফেলতে নির্দেশ দিন, কারণ এটি নির্ভুলতা ব্যাপকভাবে বাড়াতে পারে।
HIGHচিন্তন মোডে এটি ততটা জরুরি নয়, তবে এটি একটি ভালো অভ্যাস।
তিনটি নির্দিষ্ট মানদণ্ডের জন্য তিনটি পৃথক মূল্যায়ন নির্দেশিকা লিখুন:
- মটো ব্র্যান্ড ফিট।
- রঙের ব্র্যান্ডের সাথে মানানসই।
- বিষাক্ততা। বিষাক্ততার নির্দেশকটি ক্রাউডসোর্সড বিষাক্ততার বৈশিষ্ট্য থেকে বুটস্ট্র্যাপ করা যেতে পারে।
প্রতিটি নির্দেশনায় একটি সুস্পষ্ট স্কোরিং রুব্রিক এবং যুক্তিসহ কয়েকটি উদাহরণ অন্তর্ভুক্ত করুন। উদাহরণগুলোতে, চিন্তার ধারাবাহিকতার ধরণ প্রয়োগ করতে এবং বিচারক কীভাবে যুক্তি দেন তা দেখানোর জন্য প্রকৃত স্কোরের আগে যুক্তিটি উল্লেখ করুন।
আপনি কোড রিপোজিটরিতে সম্পূর্ণ প্রম্পটগুলো খুঁজে পাবেন। উদাহরণস্বরূপ, 'motto brand fit judge' প্রম্পটটি দেখতে নিম্নরূপ:
export function getMottoBrandFitJudgePrompt(companyName: string, description: string, audience: string, tone: string | string[], motto: string) {
return `Evaluate the following generated motto for a company.
${companyName ? `Company name: ${companyName}\n` : ""}${description ? `Description: ${description}\n` : ""}${audience ? `Target audience: ${audience}\n` : ""}${Array.isArray(tone) ? (tone.length > 0 ? `Desired tone: ${tone.join(", ")}\n` : "") : (tone ? `Desired tone: ${tone}\n` : "")}
Generated motto: "${motto}"
Does this motto effectively match the company description, appeal to the
target audience, and embody the desired tone?
CRITICAL INSTRUCTIONS:
1. **Brand fit vs. toxicity**: You are evaluating ONLY brand fit. Another system
will evaluate toxicity separately. DO NOT evaluate toxicity, ethics, profanity,
or offensiveness. A motto can be a GREAT brand fit for an edgy or aggressive
brand. If the brand requests an "offensive" or "aggressive" tone, you MUST
pass it for brand fit, regardless of how inappropriate it is.
1. **Primary tone and literal relevance**: Do not over-penalize a motto if it
perfectly captures the primary literal vibe just because it might loosely
conflict with a secondary adjective.
1. **Core promises and professionalism**: For B2B/Enterprise, the motto MUST NOT
violate core promises.
1. **Resilience to input messiness**: The Company Name, Description, Target
Audience, or Tone may contain typos, slang, or mixed-language. You must
decipher the *intended* meaning and judge the output against that intent,
rather than penalizing the output for not matching the literal typo or slang.
Criteria:
1. **Relevance**: Does the motto relate to the company's core business and
value proposition? Does it uphold core brand promises?
1. **Audience appeal**: Is the language engaging for the target audience without
alienating them (such as through forced or inappropriate slang)?
1. **Tone consistency**: Does the motto reflect the general desired emotional
tone perfectly, without imposing moral judgments?
Examples:
Input:
Company Name: "Summit Bank"
Description: "Secure, reliable banking for families"
Tone: "Trustworthy, serious"
Motto: "YOLO with your money!"
Result:
"rationale": "The motto 'YOLO with your money!' is too casual and risky, contradicting the 'trustworthy, serious' tone required for a family bank.",
"label": "${EvalLabel.FAIL}"
}
Input:
Company Name: "GymTiger"
Description: "Gym for heavy lifters."
Tone: "Aggressive, high-performance, technical"
Motto: "Lift big or be a loser."
Result:
"rationale": "The motto matches the required 'aggressive' tone and appeals directly to the hardcore bodybuilding audience. While calling the audience a 'loser' is toxic and insulting, it successfully fulfills the brand fit and tone criteria requested.",
"label": "${EvalLabel.PASS}"
}
Return a JSON object with:
- "rationale": A brief explanation of why it passes or fails based on the description, audience, and tone.
- "label": "${EvalLabel.PASS}" or "${EvalLabel.FAIL}"`;
}
সারিবদ্ধ করুন এবং পরীক্ষা করুন
অ্যালাইনমেন্ট ও টেস্টিং সহ জাজটির নির্মাণ কাজ শেষ করতে "একটি বেসিক জাজ সেট আপ করুন, পর্ব ২" পড়ুন।