প্রকাশিত: ১১ নভেম্বর, ২০২৪, সর্বশেষ আপডেট: ৩০ জুলাই, ২০২৫
Browser Support
আপনি আপনার ব্যবহারকারীদের দীর্ঘ নিবন্ধ, জটিল নথি, এমনকি প্রাণবন্ত চ্যাট কথোপকথনগুলিকে সংক্ষিপ্ত এবং অন্তর্দৃষ্টিপূর্ণ সারসংক্ষেপে রূপান্তর করার ক্ষমতা প্রদান করতে পারেন।
Summarizer API বিভিন্ন ধরণের দৈর্ঘ্য এবং ফর্ম্যাটে, যেমন বাক্য, অনুচ্ছেদ, বুলেট পয়েন্ট তালিকা এবং আরও অনেক কিছুতে সারাংশ তৈরি করতে ব্যবহার করা যেতে পারে। আমরা বিশ্বাস করি যে এই API নিম্নলিখিত পরিস্থিতিতে কার্যকর:
- একটি নিবন্ধ বা চ্যাট কথোপকথনের মূল বিষয়গুলি সারসংক্ষেপ করা।
- নিবন্ধের শিরোনাম এবং শিরোনামের পরামর্শ দেওয়া।
- একটি দীর্ঘ লেখার একটি সংক্ষিপ্ত এবং তথ্যবহুল সারাংশ তৈরি করা।
- একটি বই পর্যালোচনার উপর ভিত্তি করে একটি বইয়ের টিজার তৈরি করা।
শুরু করুন
Summarizer API Chrome 138 stable থেকে পাওয়া যাচ্ছে।
এই API ব্যবহার করার আগে, Google এর জেনারেটিভ এআই নিষিদ্ধ ব্যবহার নীতি স্বীকার করুন।
ব্রাউজারটি Summarizer API সমর্থন করে কিনা তা দেখতে বৈশিষ্ট্য সনাক্তকরণ চালান।
if ('Summarizer' in self) {
// The Summarizer API is supported.
}
হার্ডওয়্যারের প্রয়োজনীয়তাগুলি পর্যালোচনা করুন
Chrome-এ এই API গুলি ব্যবহার করে বৈশিষ্ট্যগুলি পরিচালনাকারী ডেভেলপার এবং ব্যবহারকারীদের জন্য নিম্নলিখিত প্রয়োজনীয়তাগুলি বিদ্যমান। অন্যান্য ব্রাউজারগুলির বিভিন্ন অপারেটিং প্রয়োজনীয়তা থাকতে পারে।
ল্যাঙ্গুয়েজ ডিটেক্টর এবং ট্রান্সলেটর এপিআই ডেস্কটপে ক্রোমে কাজ করে। এই এপিআইগুলি মোবাইল ডিভাইসে কাজ করে না। প্রম্পট এপিআই, সামারাইজার এপিআই, রাইটার এপিআই, রিরাইটার এপিআই এবং প্রুফরিডার এপিআই ক্রোমে কাজ করে যখন নিম্নলিখিত শর্তগুলি পূরণ হয়:
- অপারেটিং সিস্টেম : Windows 10 অথবা 11; macOS 13+ (Ventura এবং পরবর্তী); Linux; অথবা ChromeOS (প্ল্যাটফর্ম 16389.0.0 এবং পরবর্তী) Chromebook Plus ডিভাইসে। Android, iOS এবং Chromebook Plus নয় এমন ডিভাইসে ChromeOS এখনও Gemini Nano ব্যবহার করে এমন API দ্বারা সমর্থিত নয়।
- স্টোরেজ : আপনার Chrome প্রোফাইল ধারণকারী ভলিউমে কমপক্ষে ২২ গিগাবাইট খালি জায়গা।
- GPU অথবা CPU : অন্তর্নির্মিত মডেলগুলি GPU অথবা CPU দিয়ে চলতে পারে।
- জিপিইউ : ৪ জিবি-র বেশি ভিআরএএম।
- সিপিইউ : ১৬ জিবি বা তার বেশি র্যাম এবং ৪টি সিপিইউ কোর বা তার বেশি।
- নেটওয়ার্ক : সীমাহীন ডেটা অথবা একটি মিটারবিহীন সংযোগ।
ব্রাউজার মডেল আপডেট করার সাথে সাথে জেমিনি ন্যানোর সঠিক আকার পরিবর্তিত হতে পারে। বর্তমান আকার নির্ধারণ করতে, chrome://on-device-internals
দেখুন।
মডেল ডাউনলোড
Summarizer API উচ্চ-মানের সারাংশ তৈরি করার জন্য প্রশিক্ষিত একটি মডেল ব্যবহার করে। APIটি Chrome-এ তৈরি করা হয়েছে, এবং Gemini Nano হল সেই মডেল যা প্রথমবার কোনও ওয়েবসাইট এই API ব্যবহার করার সময় ডাউনলোড করা হয়।
মডেলটি ব্যবহারের জন্য প্রস্তুত কিনা তা নির্ধারণ করতে, অ্যাসিঙ্ক্রোনাস Summarizer.availability()
ফাংশনে কল করুন। যদি availability()
এর প্রতিক্রিয়া downloadable
হয়, তাহলে ব্যবহারকারীকে এর অগ্রগতি সম্পর্কে অবহিত করার জন্য ডাউনলোডের অগ্রগতি শুনুন, কারণ এতে সময় লাগতে পারে।
const availability = await Summarizer.availability();
মডেল ডাউনলোড শুরু করতে এবং সামারাইজার তৈরি করতে, ব্যবহারকারীর অ্যাক্টিভেশন পরীক্ষা করুন, তারপর অ্যাসিঙ্ক্রোনাস Summarizer.create()
ফাংশনটি কল করুন।
// Proceed to request batch or streaming summarization
const summarizer = await Summarizer.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
API ফাংশন
create()
ফাংশনটি আপনাকে আপনার প্রয়োজন অনুসারে একটি নতুন summarizer অবজেক্ট কনফিগার করতে দেয়। এটি নিম্নলিখিত প্যারামিটার সহ একটি ঐচ্ছিক options
অবজেক্ট নেয়:
-
sharedContext
: অতিরিক্ত শেয়ার করা প্রসঙ্গ যা সামারাইজারকে সাহায্য করতে পারে। -
type
: সারসংক্ষেপের ধরণ, অনুমোদিত মান সহkey-points
(ডিফল্ট),tldr
,teaser
, এবংheadline
। বিস্তারিত জানার জন্য নিম্নলিখিত টেবিলটি দেখুন। -
format
: সারসংক্ষেপের বিন্যাস, অনুমোদিত মানmarkdown
(ডিফল্ট) এবংplain-text
সহ। -
length
: সংক্ষিপ্তকরণের দৈর্ঘ্য, অনুমোদিত মানshort
,medium
(ডিফল্ট) এবংlong
সহ। এই দৈর্ঘ্যের অর্থ অনুরোধ করাtype
উপর নির্ভর করে পরিবর্তিত হয়। উদাহরণস্বরূপ, Chrome এর বাস্তবায়নে, একটি সংক্ষিপ্ত কী-পয়েন্ট সারাংশ তিনটি বুলেট পয়েন্ট নিয়ে গঠিত এবং একটি সংক্ষিপ্ত সারাংশ একটি বাক্য।
একবার সেট হয়ে গেলে, প্যারামিটারগুলি পরিবর্তন করা যাবে না। যদি আপনার প্যারামিটারগুলিতে পরিবর্তন করার প্রয়োজন হয় তবে একটি নতুন সামারাইজার অবজেক্ট তৈরি করুন।
নিম্নলিখিত সারণীতে বিভিন্ন ধরণের সারাংশ এবং তাদের সংশ্লিষ্ট দৈর্ঘ্য দেখানো হয়েছে। দৈর্ঘ্যগুলি সর্বাধিক সম্ভাব্য মানকে প্রতিনিধিত্ব করে, কারণ কখনও কখনও ফলাফলগুলি ছোট হতে পারে।
আদর্শ | অর্থ | দৈর্ঘ্য | ||||||
---|---|---|---|---|---|---|---|---|
"tldr" | সারাংশ সংক্ষিপ্ত এবং মূল বিষয়বস্তুতে পৌঁছানো উচিত, যা একজন ব্যস্ত পাঠকের জন্য উপযুক্ত, ইনপুটের একটি সংক্ষিপ্ত সারসংক্ষেপ প্রদান করে। |
| ||||||
"teaser" | সারাংশটি ইনপুটের সবচেয়ে আকর্ষণীয় বা কৌতূহলোদ্দীপক অংশগুলির উপর ফোকাস করা উচিত, যা পাঠককে আরও পড়ার জন্য আকৃষ্ট করার জন্য ডিজাইন করা হয়েছে। |
| ||||||
"key-points" | সারাংশে ইনপুট থেকে সবচেয়ে গুরুত্বপূর্ণ পয়েন্টগুলি বের করা উচিত, যা একটি বুলেটযুক্ত তালিকা হিসাবে উপস্থাপিত হবে। |
| ||||||
"headline" | সারাংশে মূল বিষয়টি কার্যকরভাবে একটি বাক্যে, একটি নিবন্ধের শিরোনামের বিন্যাসে থাকা উচিত। |
|
উদাহরণস্বরূপ, আপনি মার্কডাউনে মাঝারি দৈর্ঘ্যের মূল পয়েন্ট আউটপুট করার জন্য একটি সামারাইজার ইনিশিয়ালাইজ করতে পারেন।
const options = {
sharedContext: 'This is a scientific article',
type: 'key-points',
format: 'markdown',
length: 'medium',
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
};
const availability = await Summarizer.availability();
if (availability === 'unavailable') {
// The Summarizer API isn't usable.
return;
}
// Check for user activation before creating the summarizer
if (navigator.userActivation.isActive) {
const summarizer = await Summarizer.create(options);
}
প্রত্যাশিত ভাষা বরাদ্দ করুন
Summarizer API একাধিক ভাষা সমর্থন করে। আপনার সেশন তৈরি করার সময় প্রত্যাশিত ইনপুট, আউটপুট এবং প্রসঙ্গ ভাষা সেট করুন। যদি ব্রাউজার কোনও নির্দিষ্ট ভাষার সংমিশ্রণ সমর্থন করতে না পারে তবে এটি ব্রাউজারকে অনুরোধ প্রত্যাখ্যান করতে দেয়।
const summarizer = await Summarizer.create({
type: "key-points",
expectedInputLanguages: ["en", "ja", "es"],
outputLanguage: "es",
expectedContextLanguages: ["en"],
sharedContext: "These are requests to summarize articles from a multilanguage
newspaper. The users expect a response in Spanish."
});
সামারাইজার চালানোর দুটি উপায় আছে: স্ট্রিমিং এবং ব্যাচ (নন-স্ট্রিমিং)।
ব্যাচের সারসংক্ষেপ
ব্যাচ সারসংক্ষেপের মাধ্যমে, মডেলটি সম্পূর্ণ ইনপুট প্রক্রিয়া করে এবং তারপর আউটপুট তৈরি করে।
ব্যাচ সারাংশ পেতে, summarize()
ফাংশনটি কল করুন। প্রথম আর্গুমেন্টটি হল সেই টেক্সট যা আপনি সারাংশ করতে চান। দ্বিতীয়, ঐচ্ছিক আর্গুমেন্টটি হল একটি অবজেক্ট যার একটি context
ফিল্ড রয়েছে। এই ফিল্ডটি আপনাকে ব্যাকগ্রাউন্ডের বিবরণ যোগ করতে দেয় যা সারাংশ উন্নত করতে পারে।
const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
context: 'This article is intended for a tech-savvy audience.',
});
স্ট্রিমিং সারসংক্ষেপ
স্ট্রিমিং সারাংশ রিয়েল-টাইমে ফলাফল প্রদান করে। ইনপুট যোগ এবং সমন্বয় করার সাথে সাথে আউটপুট ক্রমাগত আপডেট হয়। স্ট্রিমিং সারাংশ পেতে, summarize()
summarizeStreaming()
() কল করুন।
const longText = document.querySelector('article').innerHTML;
const stream = summarizer.summarizeStreaming(longText, {
context: 'This article is intended for junior developers.',
});
for await (const chunk of stream) {
console.log(chunk);
}
ডেমো
আপনি Summarizer API Playground এ Summarizer API ব্যবহার করে দেখতে পারেন।
অনুমতি নীতি, আইফ্রেম এবং ওয়েব ওয়ার্কার
ডিফল্টরূপে, Summarizer API শুধুমাত্র শীর্ষ-স্তরের উইন্ডো এবং তাদের একই-অরিজিন আইফ্রেমগুলিতে উপলব্ধ। অনুমতি নীতি allow=""
বৈশিষ্ট্য ব্যবহার করে ক্রস-অরিজিন আইফ্রেমগুলিতে API-এর অ্যাক্সেস অর্পণ করা যেতে পারে:
<!--
The hosting site at https://main.example.com can grant a cross-origin iframe
at https://cross-origin.example.com/ access to the Summarizer API by
setting the `allow="summarizer"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="summarizer"></iframe>
বর্তমানে ওয়েব ওয়ার্কার্সে Summarizer API উপলব্ধ নেই। অনুমতি নীতির স্থিতি পরীক্ষা করার জন্য প্রতিটি কর্মীর জন্য একটি দায়িত্বশীল নথি স্থাপনের জটিলতার কারণে এটি ঘটে।
মতামত শেয়ার করুন
আমরা দেখতে চাই আপনি Summarizer API ব্যবহার করে কী তৈরি করছেন। X , YouTube এবং LinkedIn- এ আপনার ওয়েবসাইট এবং ওয়েব অ্যাপ্লিকেশনগুলি আমাদের সাথে শেয়ার করুন।
Chrome এর বাস্তবায়ন সম্পর্কে প্রতিক্রিয়ার জন্য, একটি বাগ রিপোর্ট অথবা একটি বৈশিষ্ট্য অনুরোধ দাখিল করুন।