প্রকাশিত: ১৫ মে, ২০২৫, সর্বশেষ হালনাগাদ: ২৭ মে, ২০২৬
ই-কমার্স বা ভ্রমণ সাইটের মতো ব্যবহারকারী পর্যালোচনাযুক্ত ওয়েবসাইটগুলিতে প্রায়শই বিপুল পরিমাণ তথ্য থাকে। এর ফলে, কোনো কিছু কেনার সিদ্ধান্ত নেওয়ার জন্য ব্যবহারকারীদের পক্ষে অসংখ্য পর্যালোচনার মধ্যে থেকে বেছে নেওয়া সময়সাপেক্ষ হয়ে পড়ে। পর্যালোচনার সারাংশ প্রদান করা হলে তা ব্যবহারকারীদের মতামত বুঝতে এবং সময় বাঁচাতে সাহায্য করতে পারে।
জানুন কিভাবে redBus এবং Miravia , সিদ্ধান্ত গ্রহণ ও ক্রয়ের অভিজ্ঞতা উন্নত করতে Summarizer API ব্যবহার করে। Miravia-তে রিভিউ সারাংশ যুক্ত করার ফলে প্রোডাক্ট পেজ এবং পুরো সাইট জুড়ে কনভার্সন রেট উন্নত হয়েছে ।
| ব্যাখ্যাকারী | ওয়েব | এক্সটেনশন | ক্রোম স্ট্যাটাস | উদ্দেশ্য |
|---|---|---|---|---|
| এমডিএন | দেখুন | জাহাজীকরণের অভিপ্রায় |
সামারাইজার এপিআই আপনাকে বিভিন্ন দৈর্ঘ্য ও ফরম্যাটে নানা ধরনের সারাংশ তৈরি করতে দেয়, যেমন বাক্য, অনুচ্ছেদ, বুলেট পয়েন্ট তালিকা এবং আরও অনেক কিছু। আমাদের অনেক বিল্ট-ইন এআই এপিআই- এর মতো এই এপিআই-টিও ইনফারেন্স সম্পাদনের জন্য বৃহৎ ল্যাঙ্গুয়েজ মডেল ব্যবহার করে। ক্রোমে, এই মডেলটি হলো জেমিনি ন্যানো।
redBus গ্রাহকদের জন্য সেরা বাস বিকল্পটি বেছে নিতে সাহায্য করে।
রেডবাস ভারতের বৃহত্তম বাস পরিষেবা প্রদানকারী সংস্থা, যার ৩০ মিলিয়নেরও বেশি গ্রাহক রয়েছে এবং এটি দেশব্যাপী সংযুক্ত প্রায় ১০,০০০ শহর ও নগরে বাস পরিষেবা প্রদান করে। ডেটা এবং ফিডব্যাকের মাধ্যমে রেডবাস উপলব্ধি করেছে যে, গ্রাহকদের ভ্রমণের প্রয়োজনের জন্য কোন রুট এবং কোন বাসটি সবচেয়ে ভালো হবে তা নির্ধারণ করতে ব্যবহারকারীদের দেওয়া রিভিউ একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। রেডবাস প্রচুর পরিমাণে রিভিউ পায় এবং প্রতিটি রিভিউ নির্দিষ্ট আগমন ও প্রস্থানের স্থান এবং সময়কে কেন্দ্র করে দেওয়া হয়।
গ্রাহকদের নির্দিষ্ট শহর বা রুট সম্পর্কে একটি সামগ্রিক ধারণা দিতে, তারা প্রাসঙ্গিক রিভিউ থেকে মূল তথ্যগুলো উপস্থাপন করার জন্য সামারাইজার এপিআই (Summarizer API) ব্যবহার করে।
সামারাইজার এপিআই আমাদের বিপুল সংখ্যক রিভিউ এবং ব্যবহারকারীদের সার্চ কোয়েরির বিভিন্ন বিন্যাস থেকে উন্নত মানের সারাংশ তৈরি করতে সক্ষম হয়েছে। এই ক্লায়েন্ট-সাইড ফিচারটি সেই প্রযুক্তিগত জটিলতা এবং অতিরিক্ত ব্যবসায়িক খরচ দূর করেছে, যা একটি সার্ভার-সাইড বিকল্পের ক্ষেত্রে বিদ্যমান থাকত। এটি আমাদের জন্য গুরুত্বপূর্ণ, কারণ এই ব্যবহারের ক্ষেত্রটি কনভার্সন ফানেলের একটি অংশ।
— অমিত কুমার, সিনিয়র ইঞ্জিনিয়ারিং ম্যানেজার, রেডবাস
redBus-এর ব্যাকএন্ডে সংরক্ষিত রিভিউগুলোর সূক্ষ্মতা এবং ব্যবহারকারীর সার্চ কোয়েরির বিপুল সংখ্যক সম্ভাব্য বিন্যাস—যেখানে যাত্রা শুরুর ও পৌঁছানোর সময়, শহরের নির্দিষ্ট বোর্ডিং পয়েন্ট এবং বিভিন্ন বাস অপারেটরের মতো বিষয়গুলো জড়িত থাকে—রিভিউগুলো থেকে নির্দিষ্ট কোনো তথ্য তুলে ধরা কঠিন করে তোলে। ডেটার এই বিশাল পরিমাণের জন্য, প্রতিটি সার্চ কোয়েরির সার্ভার-সাইড সারাংশ তৈরি করা অত্যন্ত ব্যয়বহুল হবে।
কার্যকরী সারাংশ তৈরি করার জন্য, redBus গ্রাহক পর্যালোচনার পাশাপাশি Summarizer API-তে নিম্নলিখিত প্রাসঙ্গিক তথ্য সরবরাহ করে:
//Context to provide a useful summary
const promptContext =
'Summarize the following reviews in 30 words or less.' +
'Focus on key positives and negatives, such as comfort, maintenance,' +
'pricing, and cleanliness. Reviews are separated by {end}.' +
'Give the summary in just one paragraph.';
এই সারাংশগুলো অতিরিক্ত ব্যবসায়িক খরচ এবং প্রযুক্তিগত জটিলতা ছাড়াই গ্রাহকদের সিদ্ধান্ত গ্রহণে সহায়তা করে। এছাড়াও, redBus লগ-ইন করা ব্যবহারকারীদের ভ্রমণের পছন্দ, যেমন আসনের আরাম বা ওয়াই-ফাই প্রাপ্যতা অনুযায়ী সারাংশটিকে ব্যক্তিগতকৃত করতে পারে। এটি ক্লায়েন্ট-সাইডে কাজ করে, যার অর্থ হলো এই অনুসন্ধান এবং সারাংশ ব্যবহারকারীর কাছে গোপন থাকে।
একটি ছোট কোড নমুনা দেখুন যা ব্যবহারকারীর সার্চ কোয়েরির উপর ভিত্তি করে সামারাইজারের প্রাপ্যতা পরীক্ষা করে, প্রাসঙ্গিক তথ্য দেয় এবং রিভিউ সংগ্রহ করে।
// The Summarizer API is available
if ('Summarizer' in self) {
try {
const available = await Summarizer.availability();
let summarizer;
if (available === 'unavailable') {
return null;
}
if (available === 'available') {
//model is already available, use immediately
summarizer = await Summarizer.create();
} else {
//trigger model download and wait
summarizer = await Summarizer.create();
}
// Context to provide a useful summary
const promptContext =
'Summarize the following reviews in 30 words or less.' +
'Focus on key positives and negatives, such as comfort, maintenance,' +
'pricing, and cleanliness. Reviews are separated by {end}.' +
'Give the summary in just one paragraph.';
// Retrieve the reviews to be summarized based on user's search query
let reviews = getIndividualBusReviews();
if (reviews) {
const reviewSummary = await summarizer.summarize(reviews, {
context: promptContext
});
}
} catch (e) {
console.error("SUMMARIZER_API_ERROR: ", e);
return null
}
}
ব্যাঙ্গালোর থেকে ম্যাঙ্গালুরু পর্যন্ত উদাহরণ অনুসন্ধানের ক্ষেত্রে, সামারাইজারের আউটপুটটি নিম্নরূপ:
<Bus Provider X> সাধারণত আরাম, পরিচ্ছন্নতা এবং কর্মীদের পরিষেবার জন্য ইতিবাচক পর্যালোচনা পেয়েছে। কিছু গ্রাহক বিলম্ব, চালকের অভদ্র আচরণ, সুযোগ-সুবিধার অভাব (লাইভ ট্র্যাকিং, কম্বল) এবং অস্বস্তি (আসনটির আকার, দুর্বল শক অ্যাবজর্বার)-এর মতো ছোটখাটো সমস্যার সম্মুখীন হয়েছেন।
এই পর্যালোচনাটি প্রয়োজনীয় শর্তগুলো পূরণ করে, যেখানে একটি সংক্ষিপ্ত অনুচ্ছেদে এর ভালো-মন্দ দিকগুলো তুলে ধরা হয়েছে, যা ৩০৮টি পৃথক পর্যালোচনার চেয়ে পড়া অনেক সহজ।
মিরাভিয়া ইকমার্স পর্যালোচনার সারসংক্ষেপ করেছে
মিরাভিয়া স্পেনের একটি শীর্ষস্থানীয় ইকমার্স প্ল্যাটফর্ম, যার লক্ষ লক্ষ মাসিক সক্রিয় ব্যবহারকারী রয়েছে। যখনই ব্যবহারকারীরা রিভিউ ফিল্টার করেন (উদাহরণস্বরূপ, পণ্যের রেটিং অনুসারে), একটি নতুন সারাংশ তৈরি হয়। এটি গ্রাহকদের মতামতের একটি সংক্ষিপ্ত বিবরণ প্রদান করে, যেখানে উদ্বেগ এবং সুপারিশগুলো তুলে ধরা হয়।
পূর্বে, পণ্যের রিভিউগুলোর মূল সুবিধা ও অসুবিধাগুলো বোঝার জন্য ব্যবহারকারীদের ডিটেইল পেজে থাকা অসংখ্য আলাদা মন্তব্য পড়তে হতো। ব্যবহারকারীদের সামগ্রিক গ্রাহক মনোভাব দ্রুত বুঝতে সাহায্য করার জন্য, আমরা সামারাইজার এপিআই (Summarizer API) চালু করেছি। যখনই কোনো ব্যবহারকারী রিভিউগুলো ফিল্টার করেন (যেমন, স্টার রেটিং বা অন্য কোনো মানদণ্ড অনুযায়ী), এই সারসংক্ষেপটি স্বয়ংক্রিয়ভাবে আপডেট হয়, যা প্রাসঙ্গিক ক্রেতা প্রতিক্রিয়ার একটি দ্রুত ও বিস্তারিত চিত্র প্রদান করে।
— জিয়া লিয়াং, সিনিয়র সফটওয়্যার ইঞ্জিনিয়ার, মিরাভিয়া
প্রাথমিকভাবে, মিরাভিয়ার ব্যবহারকারীর রিভিউ সারসংক্ষেপ করার ফিচারটি একটি সার্ভার-সাইড এআই সার্ভিসের উপর নির্ভরশীল ছিল। তারা দেখেছে যে, ক্লায়েন্ট-সাইড এআই চালিত জেমিনি ন্যানো তুলনামূলক ভালো ফলাফল দিতে পারে এবং এতে রক্ষণাবেক্ষণ খরচও কমে আসে। এই সুবিধাটি বিশেষ করে জনপ্রিয় ও দ্রুত বিক্রি হওয়া পণ্যগুলোর ক্ষেত্রে বিশেষভাবে লক্ষণীয়, যেগুলোর রিভিউ ক্রমাগত আপডেট হতে থাকে।
মিরাভিয়ার বাস্তবায়নের জন্য রিয়েল-টাইমে রিভিউ সংগ্রহ এবং সারসংক্ষেপ করার প্রয়োজন হলেও, ইনফারেন্স সার্ভারে হোক বা ব্রাউজারে, এর ফ্রিকোয়েন্সি বাড়ার সাথে সাথে ক্লায়েন্ট-সাইড এআই উল্লেখযোগ্যভাবে বেশি কার্যকর হয়ে ওঠে। তারা এর সামগ্রিক পারফরম্যান্সে সন্তুষ্ট।
প্রথমে, মিরাভিয়া ফিচার এবং ডিভাইসের সামঞ্জস্যতা যাচাই করে।
// Compatibility check for device with built-in AI
export const deviceCheck = async () => {
// Query the browser's AI capabilities
const availability = await Summarizer.availability();
// Case 1: Device doesn't support AI summarization
if (availability === 'unavailable') {
return {
summarizationAvailable: false,
message:
'AI summarization tools are not supported on this device, or the appropriate permissions have not be set.',
};
}
// Case 2: Device supports AI but requires model download
if (availability === 'downloadable') {
// Try to trigger an installation
Summarizer.create();
return {
summarizationAvailable: false,
message: 'Installing in the background. This may take a few minutes...',
};
}
// Case 3: Device supports AI summarization
return {
summarizationAvailable: true,
message: 'Ready for use.',
};
};
এরপর, মিরাভিয়া উপলব্ধ রিভিউগুলোর সারসংক্ষেপ করে। বক্তব্যকে আরও সুসংহত করার জন্য, রিভিউগুলোর সাথে একটি অতিরিক্ত ডট (ফুলস্টপ) জুড়ে দেওয়া হয়।
/**
* Summarizes a list of reviews using Chrome's Built-in AI
* @param {Array<string>} reviewContentList - Array of review texts to summarize
* @returns {Promise<string>} The generated summary text
* @throws {Error} If summarization is not available or fails
*/
export const reviewSummarize = async (reviewContentList) => {
// Validate input
if (!Array.isArray(reviewContentList) || !reviewContentList.length) {
throw new Error('Please provide a non-empty array of reviews to summarize');
}
// Check device compatibility
const { summarizationAvailable, message } = await deviceCheck();
if (summarizationAvailable) {
try {
// Configure and create the summarizer with appropriate parameters
const summarizer = await Summarizer.create({
type: 'tl;dr',
length: 'short',
sharedContext:
'Summarize the given user reviews. Maintain a polite and formal tone.',
});
// Generate the summary from the joined review texts
const summary = await summarizer.summarize(reviewContentList.join('. '));
// Return the generated summary
return summary;
} catch (error) {
// Handle any errors during summarization
throw new Error(`Summarization failed: ${error.message}`);
}
} else {
// If unavailable, throw an error with the message from deviceCheck
throw new Error(
message ||
'AI summarization tools are not supported on this device or browser.'
);
}
};
উন্নত রূপান্তর
সামারাইজার এপিআই প্রোডাকশনে উপলব্ধ হওয়ার পর থেকে মিরাভিয়া দেখেছে যে, এই সামারিগুলোর ফলে নিম্নলিখিত বিষয়গুলো ঘটে:
- প্রোডাক্ট পেজগুলিতে ১২.৪% বেশি কনভার্সন।
- ওয়েবসাইট জুড়ে ৩.৩% বেশি কনভার্সন।
সর্বোত্তম অনুশীলন
পর্যালোচনার জন্য দেওয়া ইনপুট টোকেন সীমা অতিক্রম করলে, নিম্নলিখিত প্রতিকারমূলক ব্যবস্থাগুলো অনুসরণ করুন:
- এপিআই-তে একটি ছোট নমুনা (যেমন সাম্প্রতিকতম ৪টি রিভিউ) ব্যবহার করুন। এটি দ্রুত ফলাফল তৈরি করতে সাহায্য করে। ক্লায়েন্ট-সাইড সামারাইজেশন স্কেলিং করার বিষয়ে আমাদের নির্দেশিকা দেখুন।
-
QuotaExceededErrorইনপুটে অনুরোধ করা টোকেনগুলো সম্পর্কে আরও তথ্য প্রদান করে।summarizerঅবজেক্টের একটিinputQuotaপ্রপার্টি আছে যা API-এর টোকেন সীমা নির্দেশ করে। এর ফলে, ইনপুট সীমা অতিক্রম করলে রিয়েল-টাইম ফিডব্যাক এবং কার্যকারিতা নিষ্ক্রিয় করার সুযোগ পাওয়া যায়।
সকল ব্যবহারকারীর জন্য একটি নির্বিঘ্ন অভিজ্ঞতা নিশ্চিত করতে, আপনি একটি হাইব্রিড পদ্ধতি বিবেচনা করতে পারেন। প্রথমবার যখন কোনো বিল্ট-ইন এআই এপিআই কল করা হয়, তখন ব্রাউজারকে অবশ্যই মডেলটি ডাউনলোড করতে হবে।
- মডেলটি ডাউনলোড হওয়ার সময়, মিরাভিয়া একটি প্রাথমিক সারসংক্ষেপ প্রদানের জন্য সার্ভার-সাইড মডেল ব্যবহার করত। বিল্ট-ইন মডেলটি প্রস্তুত হয়ে গেলে, সাইটটি ক্লায়েন্ট-সাইডে ইনফারেন্স সম্পাদন করা শুরু করত।
আপনার সর্বদা একটি বন্ধুত্বপূর্ণ এবং যোগাযোগমূলক ইন্টারফেস তৈরি করার চেষ্টা করা উচিত:
- মডেল ডাউনলোডের জন্য একটি অগ্রগতি বার চালু করুন এবং প্রতিক্রিয়ার বিলম্ব হ্রাস করুন।
- মডেল ডাউনলোডের বিষয়ে স্বচ্ছতার বিষয়টি বিবেচনা করুন। স্বচ্ছতা এবং রিসোর্স ব্যবহারের সম্মতি নিশ্চিত করার জন্য ব্রাইট সাইটস ব্যবহারকারীদের মডেল ডাউনলোড সম্পর্কে অবহিত করেছিল। এর ফলে, ব্যবহারকারীরা কাজটি শুরু করার আগে সম্মতি বা অসম্মতি জানাতে পারতেন।
উপসংহার এবং সুপারিশসমূহ
redBus এবং Miravia-র এই বাস্তব-জগতের উদাহরণগুলো দেখায় যে, কীভাবে Summarizer API ব্যবহারকারীদের পর্যালোচনার সংক্ষিপ্ত ও প্রাসঙ্গিক সারাংশ প্রদানের মাধ্যমে তাদের দ্রুত সুচিন্তিত সিদ্ধান্ত নিতে সাহায্য করেছে। অতিরিক্ত ব্যবসায়িক খরচ ছাড়াই ক্লায়েন্ট-সাইডে কাজ করার ক্ষমতা এবং কম প্রযুক্তিগত জটিলতা এটিকে এমন সব ক্ষেত্রে একটি কার্যকর বিকল্প করে তোলে, যেখানে তথ্যের সারসংক্ষেপ করার প্রয়োজন হয়। সমস্ত বিল্ট-ইন AI API-গুলোই ক্লায়েন্ট-সাইডে AI-এর বাস্তবসম্মত ব্যবহার সম্ভব করে তোলে।
ভাবছেন সামারাইজার এপিআই অন্যান্য ক্ষেত্রে কীভাবে সাহায্য করতে পারে? সামারাইজার এপিআই কীভাবে আর্টিকেলের এনগেজমেন্ট বাড়ায়, তাও আমরা শেয়ার করেছি।
আপনি কি এই API-গুলো ব্যবহার করে নতুন কিছু তৈরি করছেন? তাহলে X-এ @ChromiumDev অথবা LinkedIn-এ Chromium for Developers-এ আমাদের সাথে শেয়ার করুন।
সম্পদ
- সামারাইজার এপিআই সম্পর্কে আরও জানুন ।
- ক্রোমে বিল্ট-ইন এপিআই ব্যবহার করা শুরু করুন ।
- ব্লগারদের ক্ষমতায়ন বিষয়ে প্রম্পট এপিআই-এর কেস স্টাডিটি পড়ুন।
- অনুবাদ ও ভাষা শনাক্তকারী কেস স্টাডিটি পড়ুন।
- সামারাইজার এপিআই কীভাবে ব্রাইট সাইটস এবং টেরা-কে আকর্ষণীয় আর্টিকেল সারাংশ তৈরি করতে সাহায্য করে তা পড়ুন।
কৃতজ্ঞতা স্বীকার
এই নথিটি লিখতে ও পর্যালোচনা করতে সাহায্য করার জন্য মিরাভিয়া (আলিবাবা গ্রুপ) থেকে মাকাখভ আন্দ্রে ও জিয়ি লিয়াং, রেডবাস থেকে অমিত কুমার , শ্বেতা গোপালকৃষ্ণন , আলেকজান্দ্রা ক্লেপার , টমাস স্টেইনার এবং কেনজি বাহেউক্সকে ধন্যবাদ।