সামারাইজার এপিআই ব্রাইট সাইট এবং টেরাকে আকর্ষক নিবন্ধের সারাংশ তৈরি করতে সাহায্য করে, সারমারাইজার এপিআই ব্রাইট সাইট এবং টেরাকে আকর্ষক নিবন্ধের সারাংশ তৈরি করতে সাহায্য করে, সারমাইজার এপিআই ব্রাইট সাইট এবং টেরাকে আকর্ষক নিবন্ধ সারাংশ তৈরি করতে সাহায্য করে, সারমারাইজার এপিআই ব্রাইট সাইট এবং টেরাকে আকর্ষণীয় নিবন্ধ সারাংশ তৈরি করতে সহায়তা করে

মারি ভিয়ানা
Mari Viana

প্রকাশিত: ১৫ মে, ২০২৫

জনসাধারণ স্থানীয়, জাতীয় এবং আন্তর্জাতিক ঘটনাবলী সম্পর্কে অবহিত হতে এবং তাদের সুচিন্তিত মতামত জানতে সংবাদ প্রকাশকদের উপর নির্ভর করে। আজকের এই দ্রুত পরিবর্তনশীল পরিবেশে, জটিল তথ্যকে সহজবোধ্য সংক্ষিপ্ত অংশে সংক্ষেপিত করার জন্য নিবন্ধের সারাংশ একটি প্রধান কৌশল, যা পাঠকদের আরও অনুসন্ধানে উৎসাহিত করে। ব্রাইট সাইটস এবং টেরা কীভাবে সামারাইজার এপিআই (Summarizer API) ব্যবহার করে এই কৌশলটি প্রয়োগ করে, তা জানুন।

ব্যাখ্যাকারী ওয়েব এক্সটেনশন ক্রোম স্ট্যাটাস উদ্দেশ্য
এমডিএন ক্রোম ১৩৮ ক্রোম ১৩৮ দেখুন জাহাজীকরণের অভিপ্রায়

সামারাইজার এপিআই আপনাকে বিভিন্ন দৈর্ঘ্য ও বিন্যাসে নানা ধরনের সারাংশ তৈরি করতে দেয়, যেমন বাক্য, অনুচ্ছেদ, বুলেট পয়েন্ট তালিকা এবং আরও অনেক কিছু। এই এপিআই, অনেক বিল্ট-ইন এআই এপিআই- এর মতোই, ইনফারেন্স সম্পাদনের জন্য বৃহৎ ল্যাঙ্গুয়েজ মডেল ব্যবহার করে।

ব্রাইট সাইটস ‘দ্য স্ট্যান্ডার্ড’-এ ব্যক্তিগতকৃত নিবন্ধের সারাংশ যুক্ত করেছে।

ব্রাইট সাইটস-এর প্রধান সংবাদ প্রকাশনা প্ল্যাটফর্ম, ফ্লো , ১৫০টিরও বেশি প্রকাশনাকে শক্তি জোগায়। এর এআই-চালিত সিএমএস-এ সামারাইজার এপিআই সংহত করার মাধ্যমে, ব্রাইট সাইটস লন্ডনের আইকনিক সংবাদ ব্র্যান্ড ‘দ্য স্ট্যান্ডার্ড’ -কে তার পাঠকদের কাছে নিবন্ধের ব্যক্তিগতকৃত সারাংশ সরবরাহ করতে সক্ষম করে। এটি ব্যবহারকারীদের নিবন্ধগুলোর সাথে যুক্ত হতে এবং ‘দ্য স্ট্যান্ডার্ড’-এর অন্যান্য নিবন্ধে পুনরায় শেয়ার করতে উৎসাহিত করে।

ক্রোমে জেমিনির অত্যাধুনিক মডেলগুলোর সাথে কাজ করার মাধ্যমে, ‘দ্য স্ট্যান্ডার্ড’-এর ১৯৮ বছরের ঐতিহ্য—যা আমাদের পাঠকদের অবগত রাখে—তা নতুন প্রযুক্তিগত উদ্ভাবনের সাথে মিলিত হচ্ছে। এটি আমাদের সেইসব ব্যস্ত পাঠকদের জন্য, যারা হাতের মুঠোয় আমাদের বিশ্বস্ত সাংবাদিকতাকে পেতে ভালোবাসেন। পাঠকদের নিজেদের ডিভাইসে তৈরি সারাংশ ব্যবহার করে দ্রুত খবর দেখে নেওয়ার সুযোগ করে দেওয়াটা হলো সেইসব উপায়গুলোর মধ্যে একটি, যার মাধ্যমে আমরা ‘দ্য স্ট্যান্ডার্ড’-কে নতুন করে কল্পনা করছি এবং তাদের ডিজিটাল অভ্যাসের ওপর ভিত্তি করে নতুন পাঠক-কেন্দ্রিক পণ্য তৈরি করছি।

জ্যাক রাইলি , চিফ ডিজিটাল অফিসার, দ্য স্ট্যান্ডার্ড

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

প্রথমে তারা মডেল এবং এপিআই-এর সমর্থন ও প্রাপ্যতা যাচাই করে।

// Check if the device supports built-in AI
// Trigger the model download if not yet available, on capable devices
export const deviceCheck = async () => {
  const availability = await Summarizer.availability();
  if (!availability || availability === 'unavailable') {
    return {
      summarizationAvailable: false,
      message:
        "AI summarization tools are not supported on this device" +
        "or the appropriate permissions are not set.",
    }
  }
  if (availability === 'downloadable') {
    const shouldDownload = window.confirm(
      `This page contains an AI summary, using an AI model provided by your
      browser. Downloading the model, which could be multiple gigabytes in size,
      is required to view the summary. Would you like to download the model?`);

    if (!shouldDownload) {
      return {
        summarizationAvailable: false,
        message: "User declined installation.",
      }
    }

    // Trigger an installation
    Summarizer.create();
    return {
      summarizationAvailable: false,
      message: "Installing in the background. This may take a few minutes...",
    }
  }

  if (availability === 'available') {
    return {
      summarizationAvailable: true,
      message: "Ready for use.",
    }
  }
}

নিম্নলিখিত ফাংশনটি একটি জেনেরিক সামারাইজার সংজ্ঞায়িত করে যা ভবিষ্যতে অন্য কোনো অন-ডিভাইস মডেল বা সার্ভার-সাইড মডেল ব্যবহার করতে পারে।

/**
* Define the summarizer.
**/
export const aiSummarize = async (textToSummarize, options) => {
  const availableSummarizationTools = getAvailableAiSummarizationTools()

  if (availableSummarizationTools.has('builtInAi') && options?.builtInAI) {
    // Generate the built-in AI summarizer and abort signal
    const summarizer = await createBuiltInAISummarizer(options.builtInAi.options)
    return await summarizer.summarize(textToSummarize, {
      signal: options.builtInAi.signal,
    })
  }
  throw new Error(
    'AI summarization tools are not supported on this device or browser.',
  )
}

ব্যক্তিগতকৃত সারাংশ প্রদানের জন্য স্ট্যান্ডার্ডটি পাঠকদের সারাংশ সংক্রান্ত পছন্দ IndexedDB-তে সংরক্ষণ করে।

/**
* Log preferences in IndexDB for personalization
**/
abortController.current = new AbortController()
const preferencesDB = new PreferencesDB()
const summarization = await aiSummarize(articleContent, {
 clientSideAI: {
   options: await preferencesDB.getCreatesummarizerPreferences(),
   signal: abortController.current.signal,
 },
})

টেরা সাংবাদিকদের পর্তুগিজ ভাষার নিবন্ধের জন্য একটি সম্পাদনাযোগ্য সারাংশ প্রদান করে।

টেরা ব্রাজিলের অন্যতম বৃহত্তম কন্টেন্ট পোর্টাল, যা প্রতি মাসে ৫০ মিলিয়নেরও বেশি স্বতন্ত্র ভিজিটরের মাধ্যমে বিনোদন, সংবাদ এবং খেলাধুলা পরিবেশন করে। সাংবাদিকদের পর্তুগিজ ভাষায় তাৎক্ষণিকভাবে সংবাদের সারসংক্ষেপ তৈরিতে সাহায্য করার জন্য টেরা তাদের কন্টেন্ট ম্যানেজমেন্ট সিস্টেমে (CMS) সামারাইজার এপিআই (Summarizer API) এবং ট্রান্সলেটর এপিআই (Translator API) যুক্ত করেছে। এরপর সাংবাদিকরা শৈলীগত বা নির্ভুলতার জন্য কিছু সম্পাদনা করে যৌথভাবে তৈরি করা সারসংক্ষেপটি প্রকাশ করতে পারেন, যা সকল পাঠকের জন্য সহজলভ্য হয়ে যায়।

যদিও টেরার সিএমএস ইতিমধ্যেই একটি সার্ভার-সাইড এলএলএম ব্যবহার করে, দলটি সম্ভাব্য নতুন সুবিধাসহ একটি স্বতন্ত্র পদ্ধতি হিসেবে ক্লায়েন্ট-সাইড এআই নিয়ে অনুসন্ধান করে। তারা দেখেছে যে ক্রোমের সামারাইজার এপিআই তাদের সার্ভার-সাইড বাস্তবায়নের সমতুল্য মান প্রদান করে। ট্রান্সলেটর এপিআই-এর সাথে একত্রে ব্যবহার করা হলে ক্লায়েন্ট-সাইড সমাধানটি ইতিবাচক ফলাফল দিয়েছে।

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

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

নিম্নলিখিত নমুনাটি দেখায় কিভাবে টেরা সামারাইজার এপিআই (Summarizer API) আহ্বান করে এবং এটি অনুপলব্ধ হলে ব্যবহারকারীদের সতর্ক করে।

async function summarizerByBuiltInAI(text) {
  if (!(Summarizer)) {
    //Alert users in Portuguese that "Summarizer API is not available"
    cms_alert(ALERT_TYPE_ERROR, "Summarizer API não está disponível.")
    return null
  }

  try {
    const availability = await Summarizer.availability();
    if (availability !== 'available') {
      cms_alert(ALERT_TYPE_ERROR, "Summarizer API não está disponível.")
      return null 
    }

    const summaryContext = "Avoid jargon, use correct grammar, focus on clarity," +
    "and ensure the user can grasp the articles purpose," +
    "without needing to open the original content.";

    const options = {
      sharedContext: summaryContext,
      type: 'teaser',
      format: 'plain-text',
      length: 'long',
    }

    if (availability === 'available') {
      const summarizer = await Summarizer.create(options);
      return await summarizer.summarize(text, {
        context: summaryContext
      })
    }
    // return the download of the Summarizer Model
    if(availability === 'downloadable'){
      return await Summarizer.create();
    }
  } catch (error) {
    //EN: "Error using the Summarizer API"
    cms_alert(ALERT_TYPE_ERROR, "Erro ao usar o Summarizer API.");
    console.error("Erro ao usar o Summarizer API:", error);
    return null
  }
}

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

async function translateTextByBuiltInAI(text, sourceLanguage, targetLanguage) {
  if (!('translation' in self && 'createTranslator' in self.translation)) {
    return null
  }

  try {
    const translator = await Translator.create({
      sourceLanguage,
      targetLanguage,
    })
    return await translator.translate(text)
  } catch (error) {
    throw error
  }
}
const text = `Title: ${contentTitle};\n\n Sub-title: ${contentSubtitle};\n\n Article content: ${plainText}.`;

const canTranslate = await Translator.availability({
  sourceLanguage: 'pt',
  targetLanguage: 'en',
})

if (canTranslate !== 'available') {
  if (canTranslate === 'downloadable') {
    try {
      await Translator.create({
        sourceLanguage: 'pt',
        targetLanguage: 'en',
      })
      //EN: "Language download completed successfully."
      cms_alert(ALERT_TYPE_OK, "Download do idioma concluído com sucesso.");
    } catch (downloadError) {
      //EN: "Error downloading the language required for translation."
      cms_alert(ALERT_TYPE_ERROR, "Erro ao realizar download do idioma necessário para tradução.");
      return
    }
  } else {
    //EN: "Translation is not available or not ready."
    cms_alert(ALERT_TYPE_ERROR, "A tradução não está disponível ou não está pronta.");
    return
  }
}

const translatedText = await translateTextByBuiltInAI(text, 'pt', 'en') 
const summarizedText = await summarizerByBuiltInAI(translatedText) 
const translatedBackText = await translateTextByBuiltInAI(summarizedText, 'en', 'pt')

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

সর্বোত্তম অনুশীলন

পর্যালোচনার জন্য দেওয়া ইনপুট টোকেন সীমা অতিক্রম করলে, নিম্নলিখিত প্রতিকারমূলক ব্যবস্থাগুলো অনুসরণ করুন:

  • এপিআই-তে একটি ছোট নমুনা (যেমন সাম্প্রতিকতম ৪টি রিভিউ) ব্যবহার করুন। এটি দ্রুত ফলাফল তৈরি করতে সাহায্য করে। ক্লায়েন্ট-সাইড সামারাইজেশন স্কেলিং করার বিষয়ে আমাদের নির্দেশিকা দেখুন।
  • QuotaExceededError ইনপুটে অনুরোধ করা টোকেনগুলো সম্পর্কে আরও তথ্য প্রদান করে। summarizer অবজেক্টের একটি inputQuota প্রপার্টি আছে যা API-এর টোকেন সীমা নির্দেশ করে। এর ফলে, ইনপুট সীমা অতিক্রম করলে রিয়েল-টাইম ফিডব্যাক এবং কার্যকারিতা নিষ্ক্রিয় করার সুযোগ পাওয়া যায়।

সকল ব্যবহারকারীর জন্য একটি নির্বিঘ্ন অভিজ্ঞতা নিশ্চিত করতে, আপনি একটি হাইব্রিড পদ্ধতি বিবেচনা করতে পারেন। প্রথমবার যখন কোনো বিল্ট-ইন এআই এপিআই কল করা হয়, তখন ব্রাউজারকে অবশ্যই মডেলটি ডাউনলোড করতে হবে।

  • মডেলটি ডাউনলোড হওয়ার সময়, মিরাভিয়া একটি প্রাথমিক সারসংক্ষেপ প্রদানের জন্য সার্ভার-সাইড মডেল ব্যবহার করত। বিল্ট-ইন মডেলটি প্রস্তুত হয়ে গেলে, সাইটটি ক্লায়েন্ট-সাইডে ইনফারেন্স সম্পাদন করা শুরু করত।

আপনার সর্বদা একটি বন্ধুত্বপূর্ণ এবং যোগাযোগমূলক ইন্টারফেস তৈরি করার চেষ্টা করা উচিত:

  • মডেল ডাউনলোডের জন্য একটি অগ্রগতি বার চালু করুন এবং প্রতিক্রিয়ার বিলম্ব হ্রাস করুন।
  • মডেল ডাউনলোডের বিষয়ে স্বচ্ছতার বিষয়টি বিবেচনা করুন। স্বচ্ছতা এবং রিসোর্স ব্যবহারের সম্মতি নিশ্চিত করার জন্য ব্রাইট সাইটস ব্যবহারকারীদের মডেল ডাউনলোড সম্পর্কে অবহিত করেছিল। এর ফলে, ব্যবহারকারীরা কাজটি শুরু করার আগে সম্মতি বা অসম্মতি জানাতে পারতেন।

উপসংহার এবং সুপারিশসমূহ

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

ভাবছেন সামারাইজার এপিআই অন্যান্য ক্ষেত্রে কীভাবে সাহায্য করতে পারে? আমরা এও দেখিয়েছি যে, সামারাইজার এপিআই কীভাবে redBus এবং Miravia-কে সহায়ক ব্যবহারকারী পর্যালোচনার সারাংশ তৈরি করতে সাহায্য করে

আপনি কি এই API-গুলো ব্যবহার করে নতুন কিছু তৈরি করছেন? তাহলে X-এ @ChromiumDev অথবা LinkedIn-এ Chromium for Developers-এ আমাদের সাথে শেয়ার করুন।

সম্পদ

কৃতজ্ঞতা স্বীকার

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