প্রকাশিত: ১৩ মে, ২০২৫
বৃহৎ ভাষা মডেল (LLM) তাদের মাঝে মাঝে দীর্ঘ উত্তরের জন্য কুখ্যাত। এমনকি যদি আপনি মডেলটিকে কেবল "সত্য" বা "মিথ্যা" দিয়ে উত্তর দিতে বলেন, তবুও মডেলটি বন্ধুত্বপূর্ণ আউটপুট এবং আপনার চাওয়ার চেয়েও বেশি উত্তর দিতে পারে, যেমন: "অবশ্যই, উত্তরটি সত্য।"
এই চ্যালেঞ্জ মোকাবেলা করার জন্য, Prompt API আপনাকে LanguageModel.prompt() এবং LanguageModel.promptStreaming() পদ্ধতিতে একটি JSON স্কিমা পাস করে মডেলের প্রতিক্রিয়ার একটি JSON আউটপুট ফর্ম্যাট নির্দিষ্ট করতে দেয়। Chrome সংস্করণ 137 থেকে স্ট্রাকচার্ড আউটপুট সমর্থন উপলব্ধ।
JSON স্কিমা কি?
JSON স্কিমা হল এমন একটি শব্দভাণ্ডার যা JSON ডেটার ধারাবাহিকতা, বৈধতা এবং আন্তঃকার্যক্ষমতাকে স্কেলে সক্ষম করে। ডেটা বিনিময়ের ক্ষেত্রে, JSON স্কিমা JSON ডেটার গঠন এবং নিয়ম নির্ধারণের জন্য একটি শক্তিশালী মানদণ্ড হিসেবে দাঁড়িয়ে আছে। এটি আপনার ডেটার বৈশিষ্ট্য নির্ধারণের জন্য কীওয়ার্ডের একটি সেট ব্যবহার করে।
JSON স্কিমা হল স্ট্রাকচার্ড আউটপুট নিশ্চিত করার জন্য শিল্প মান, যা OpenAI API এবং Gemini API দ্বারা ব্যবহৃত হয়।
উদাহরণস্বরূপ, আপনি মডেলটিকে একটি অনলাইন সোশ্যাল নেটওয়ার্ক, যেমন মাস্টোডনে, একটি পোস্টের জন্য সর্বাধিক তিনটি হ্যাশট্যাগ বরাদ্দ করতে বলেন। আদর্শ আউটপুটটি নিম্নলিখিত JSON এর মতো দেখতে হতে পারে:
{
"hashtags": [
"#pottery",
"#dyi"
]
}
এই অনুরোধকৃত আউটপুট অবজেক্ট আকৃতির জন্য সংশ্লিষ্ট JSON স্কিমাটি তখন নিম্নরূপ দেখাবে:
{
"type": "object",
"properties": {
"hashtags": {
"type": "array",
"maxItems": 3,
"items": {
"type": "string",
"pattern": "^#[^\\s#]+$"
}
}
},
"required": ["hashtags"],
"additionalProperties": false
}
এই JSON স্কিমা এমন একটি বস্তুর জন্য একটি কাঠামো সংজ্ঞায়িত করে যাতে নিম্নলিখিত সীমাবদ্ধতা সহ একটি hashtags ক্ষেত্র থাকতে হবে:
-
"type": "object": মূল মানটি অবশ্যই একটি JSON অবজেক্ট হতে হবে। -
"properties": { "hashtags": ... }: অবজেক্টটির (এবং এই ক্ষেত্রে, অবশ্যই)hashtagsনামক একটি প্রোপার্টি থাকতে পারে। "hashtags":-
"type": "array": মানটি অবশ্যই একটি অ্যারে হতে হবে। -
"maxItems": 3: অ্যারেতে সর্বাধিক 3টি আইটেম থাকতে পারে। -
"items": { "type": "string", "pattern": "^#[^\\s#]+$" }: অ্যারের প্রতিটি আইটেম অবশ্যই এমন একটি স্ট্রিং হতে হবে যা প্রদত্ত রেগুলার এক্সপ্রেশন প্যাটার্নের সাথে মেলে:^#[^\\s#]+$:-
^#→ অবশ্যই#দিয়ে শুরু করতে হবে। -
[^\\s#]+→ এর পরে এক বা একাধিক অক্ষর থাকে যা একটি স্পেস (\s) বা অন্য কোনও#নয়। -
$→ অবশ্যই এখানেই শেষ হবে।
-
-
"required": ["hashtags"]: অবজেক্টেhashtagsবৈশিষ্ট্য থাকতে হবে।"additionalProperties": false: হ্যাশট্যাগ ছাড়া অন্য কোনও বৈশিষ্ট্য অনুমোদিত নয়।
ফরম্যাটের ক্ষমতা সম্পর্কে সম্পূর্ণ বিবরণের জন্য JSON স্কিমা বেসিক ডকুমেন্টেশনটি পড়ুন।
আসলে, LLM গুলি JSON স্কিমা তৈরিতে সত্যিই ভালো। আপনার প্রম্পটে প্রাকৃতিক ভাষায় সীমাবদ্ধতাগুলি বর্ণনা করুন এবং একটি বৈধ উদাহরণ JSON অবজেক্ট প্রদান করুন, এবং আপনি অর্ধেক কাজ শেষ করেছেন। তারপর আপনি JSON স্কিমা ভ্যালিডেটরগুলির একটি ব্যবহার করে জেনারেট করা JSON স্কিমার বিরুদ্ধে JSON অবজেক্টগুলিকে যাচাই করতে পারেন, উদাহরণস্বরূপ, অনলাইন নিউটনসফ্ট JSON স্কিমা ভ্যালিডেটর ।

প্রম্পট API-তে একটি JSON স্কিমা পাস করুন
মডেলটি একটি অনুরোধকৃত JSON স্কিমাকে সম্মান করে কিনা তা নিশ্চিত করার জন্য, আপনাকে JSON স্কিমাকে একটি আর্গুমেন্ট হিসেবে prompt() অথবা promptStreaming() পদ্ধতির অপশন অবজেক্টে একটি responseConstraint ক্ষেত্রের মান হিসেবে পাস করতে হবে।
এখানে একটি খুবই মৌলিক JSON স্কিমার উদাহরণ দেওয়া হল যা নিশ্চিত করে যে মডেলটি true বা false সাথে সাড়া দেয় যে এই মাস্টোডন পোস্টের মতো কোনও বার্তা মৃৎশিল্প সম্পর্কে কিনা তা শ্রেণীবদ্ধ করার ক্ষেত্রে।
const session = await LanguageModel.create();
const schema = {
"type": "boolean"
};
const post = "Mugs and ramen bowls, both a bit smaller than intended- but that's
how it goes with reclaim. Glaze crawled the first time around, but pretty happy
with it after refiring.";
const result = await session.prompt(
`Is this post about pottery?\n\n${post}`,
{
responseConstraint: schema,
}
);
console.log(JSON.parse(result));
// true
পূর্বাভাসযোগ্য আউটপুট সমর্থন করুন
প্রম্পট API-এর জন্য স্ট্রাকচার্ড আউটপুট সাপোর্ট LLM-এর প্রতিক্রিয়াগুলিকে অনেক বেশি অনুমানযোগ্য করে তোলে। মার্কডাউন প্রতিক্রিয়া বা অন্যান্য পোস্ট-প্রসেসিং থেকে কোনও বস্তু বের করার পরিবর্তে, ডেভেলপাররা এখন ধরে নিতে পারেন যে মডেলের প্রতিক্রিয়াটি বৈধ JSON।
এটি বিল্ট-ইন এআইকে ক্লাউড-ভিত্তিক এপিআই-এর এক ধাপ কাছাকাছি নিয়ে আসে, যেখানে স্থানীয়, ক্লায়েন্ট-সাইড এআই চালানোর সমস্ত সুবিধা রয়েছে।