প্রকাশিত: 11 নভেম্বর, 2024, সর্বশেষ আপডেট: মে 20, 2025
ব্যাখ্যাকারী | ওয়েব | এক্সটেনশন | ক্রোম স্ট্যাটাস | অভিপ্রায় |
---|---|---|---|---|
MDN | দেখুন | জাহাজের অভিপ্রায় |
আপনি আপনার ব্যবহারকারীদের দীর্ঘ নিবন্ধ, জটিল নথি, বা এমনকি প্রাণবন্ত চ্যাট কথোপকথনগুলিকে সংক্ষিপ্ত এবং অন্তর্দৃষ্টিপূর্ণ সারসংক্ষেপে ডিস্টিল করার ক্ষমতা দিতে পারেন।
Summarizer API বিভিন্ন দৈর্ঘ্য এবং বিন্যাসে বিভিন্ন ধরনের সারাংশ তৈরি করতে ব্যবহার করা যেতে পারে, যেমন বাক্য, অনুচ্ছেদ, বুলেট পয়েন্ট তালিকা এবং আরও অনেক কিছু। আমরা বিশ্বাস করি যে এই API নিম্নলিখিত পরিস্থিতিতে দরকারী:
- একটি নিবন্ধ বা একটি চ্যাট কথোপকথন মূল পয়েন্ট সারসংক্ষেপ.
- নিবন্ধের জন্য শিরোনাম এবং শিরোনাম প্রস্তাব করা।
- একটি দীর্ঘ পাঠ্যের একটি সংক্ষিপ্ত এবং তথ্যপূর্ণ সারাংশ তৈরি করা।
- একটি বই পর্যালোচনার উপর ভিত্তি করে একটি বইয়ের জন্য একটি টিজার তৈরি করা হচ্ছে৷
শুরু করুন
সামারিজার API Chrome 138 স্থিতিশীল থেকে উপলব্ধ।
ব্রাউজারটি সামারিজার API সমর্থন করে কিনা তা দেখতে বৈশিষ্ট্য সনাক্তকরণ চালান।
if ('Summarizer' in self) {
// The Summarizer API is supported.
}
হার্ডওয়্যার প্রয়োজনীয়তা পর্যালোচনা করুন
ল্যাঙ্গুয়েজ ডিটেক্টর এবং ট্রান্সলেটর এপিআই শুধুমাত্র ক্রোমে ডেস্কটপে কাজ করে।
প্রম্পট API, Summarizer API, Writer API, এবং Rewriter API Chrome-এ কাজ করে যখন নিম্নলিখিত শর্তগুলি পূরণ হয়:
- অপারেটিং সিস্টেম : উইন্ডোজ 10 বা 11; macOS 13+ (ভেন্টুরা এবং তার পরে); বা লিনাক্স। Android, iOS এবং ChromeOS-এর জন্য Chrome এখনও জেমিনি ন্যানো দ্বারা সমর্থিত আমাদের APIগুলি দ্বারা সমর্থিত নয়৷
- সঞ্চয়স্থান : আপনার Chrome প্রোফাইলে থাকা ভলিউমে কমপক্ষে 22 GB।
- GPU : কঠোরভাবে 4 GB এর বেশি VRAM।
- নেটওয়ার্ক : সীমাহীন ডেটা বা একটি আনমিটার সংযোগ।
এই প্রয়োজনীয়তাগুলি আপনার বিকাশের প্রক্রিয়াতে এবং আপনার ব্যবহারকারীদের জন্য বিদ্যমান যারা আপনার তৈরি করা বৈশিষ্ট্যগুলির সাথে কাজ করে৷
মডেল ডাউনলোড
Summarizer API উচ্চ-মানের সারাংশ তৈরি করতে প্রশিক্ষিত একটি মডেল ব্যবহার করে। এপিআইটি ক্রোমের মধ্যে তৈরি করা হয়েছে এবং জেমিনি ন্যানো মডেলটি প্রথমবার ডাউনলোড করা হয়েছে যখন কোনো ওয়েবসাইট এই API ব্যবহার করে।
মডেলটি ব্যবহারের জন্য প্রস্তুত কিনা তা নির্ধারণ করতে, অ্যাসিঙ্ক্রোনাস Summarizer.availability()
ফাংশনটি কল করুন। এটি নিম্নলিখিত মানগুলির সাথে একটি প্রতিশ্রুতি প্রদান করে।
-
"unavailable"
মানে হল যে বাস্তবায়ন অনুরোধ করা বিকল্পগুলিকে সমর্থন করে না। -
"downloadable"
মানে হল যে বাস্তবায়ন অনুরোধ করা বিকল্পগুলিকে সমর্থন করে, কিন্তু প্রথমে, ব্রাউজারকে কিছু ডাউনলোড করতে হবে, যেমন একটি মডেল (ক্রোমের ক্ষেত্রে, জেমিনি ন্যানো) বা মডেলের জন্য ফাইন-টিউনিং। -
"downloading"
এর অর্থ হল যে বাস্তবায়ন অনুরোধ করা বিকল্পগুলিকে সমর্থন করে, তবে এটি এগিয়ে যাওয়ার আগে একটি চলমান ডাউনলোড শেষ করতে হবে। -
"available"
এর মানে হল যে বাস্তবায়ন অনুরোধ করা বিকল্পগুলিকে সমর্থন করে এবং সারাংশকারী এগিয়ে যেতে পারে।
মডেল ডাউনলোড ট্রিগার করতে এবং সারাংশ তৈরি করতে, অ্যাসিঙ্ক্রোনাস Summarizer.create()
ফাংশনটি কল করুন। যদি availability()
এর প্রতিক্রিয়া downloadable
বা downloading
হয়, তাহলে ডাউনলোডের অগ্রগতি শোনার জন্য এটি সর্বোত্তম অনুশীলন। এইভাবে, আপনি ব্যবহারকারীকে জানাতে পারেন এবং সংক্ষিপ্তকরণ ঘটতে পারে তার আগে ডাউনলোড সম্পূর্ণ হতে সময় লাগতে পারে তা নির্দেশ করতে পারেন।
const summarizer = await Summarizer.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
API ফাংশন
create()
ফাংশন আপনাকে আপনার প্রয়োজন অনুযায়ী একটি নতুন সারসংক্ষেপ বস্তু কনফিগার করতে দেয়। এটি নিম্নলিখিত পরামিতিগুলির সাথে একটি ঐচ্ছিক 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',
};
const availability = await Summarizer.availability();
let summarizer;
if (availability === 'unavailable') {
// The Summarizer API isn't usable.
return;
}
if (availability === 'available') {
// The Summarizer API can be used immediately .
summarizer = await Summarizer.create(options);
} else {
// The Summarizer API can be used after the model is downloaded.
summarizer = await Summarizer.create(options);
summarizer.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
await summarizer.ready;
}
সামারাইজার চালান
সামারাইজার চালানোর দুটি উপায় রয়েছে: স্ট্রিমিং এবং ব্যাচ (নন-স্ট্রিমিং)।
ব্যাচ সারসংক্ষেপ
ব্যাচ সংক্ষিপ্তকরণের সাথে, মডেলটি সম্পূর্ণরূপে ইনপুট প্রক্রিয়া করে এবং তারপর আউটপুট তৈরি করে।
একটি ব্যাচ সারাংশ পেতে, 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()
summarize()
এ কল করুন।
const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarizeStreaming(longText, {
context: 'This article is intended for junior developers.',
});
ডেমো
আপনি Summarizer API প্লেগ্রাউন্ডে Summarizer API ব্যবহার করে দেখতে পারেন।
প্রমিতকরণ প্রচেষ্টা
আমরা ক্রস-ব্রাউজার সামঞ্জস্য নিশ্চিত করতে, সামারিজার API-কে মানসম্মত করার জন্য কাজ করছি।
আমাদের API প্রস্তাবটি সম্প্রদায়ের সমর্থন পেয়েছে এবং আরও আলোচনার জন্য W3C ওয়েব ইনকিউবেটর কমিউনিটি গ্রুপে চলে গেছে। ক্রোম টিম W3C টেকনিক্যাল আর্কিটেকচার গ্রুপ থেকে প্রতিক্রিয়ার অনুরোধ করেছে এবং Mozilla এবং WebKit-কে তাদের স্ট্যান্ডার্ড অবস্থানের জন্য জিজ্ঞাসা করেছে।
ওয়েব ইনকিউবেটর কমিউনিটি গ্রুপে যোগদানের মাধ্যমে মানক প্রচেষ্টায় অংশগ্রহণ করুন।
মতামত শেয়ার করুন
সামারিজার API দিয়ে আপনি কী তৈরি করছেন তা আমরা দেখতে চাই। X , YouTube , এবং LinkedIn- এ আমাদের সাথে আপনার ওয়েবসাইট এবং ওয়েব অ্যাপ্লিকেশন শেয়ার করুন।
Chrome এর বাস্তবায়ন সম্পর্কে প্রতিক্রিয়ার জন্য, একটি বাগ রিপোর্ট বা একটি বৈশিষ্ট্য অনুরোধ ফাইল করুন৷