Summarizer API به Bright Sites و Terra در ایجاد خلاصه مقالات جذاب کمک می کند، Summarizer API به Bright Sites و Terra کمک می کند خلاصه مقالات جذاب ایجاد کنند، Summarizer API به Bright Sites و Terra کمک می کند تا خلاصه مقالات جذاب ایجاد کنند، Summarizer API به Bright Sites و Terra در ایجاد خلاصه مقالات جذاب کمک می کند.

ماری ویانا
Mari Viana

تاریخ انتشار: 15 می 2025

مردم برای اطلاع رسانی از رویدادهای محلی، ملی و بین المللی و همچنین به اشتراک گذاشتن دیدگاه های متفکرانه خود به ناشران اخبار متکی هستند. در محیط پرشتاب امروزی، خلاصه مقالات یک استراتژی کلیدی برای فشرده کردن اطلاعات پیچیده به قطعات در دسترس است و خوانندگان را تشویق می‌کند تا بیشتر کاوش کنند. بیاموزید که چگونه Bright Sites و Terra با استفاده از Summarizer API به این استراتژی برخورد می کنند.

توضیح دهنده وب برنامه های افزودنی وضعیت کروم قصد
MDN کروم 138 کروم 138 مشاهده کنید قصد حمل

Summarizer API به شما امکان می دهد انواع مختلفی از خلاصه ها را در طول ها و قالب های مختلف مانند جملات، پاراگراف ها، لیست های نقطه گلوله و موارد دیگر تولید کنید. این API، مانند بسیاری از APIهای داخلی هوش مصنوعی ، از مدل‌های زبان بزرگ برای انجام استنتاج استفاده می‌کند. در کروم مدل ما Gemini Nano است.

Bright Sites خلاصه مقالات شخصی شده را به The Standard اضافه می کند

پلتفرم انتشار اخبار پیشرو Bright Sites ، Flow ، قدرت بیش از 150 نشریه را دارد. Bright Sites با ادغام Summarizer API در CMS مجهز به هوش مصنوعی، The Standard ، برند خبری نمادین لندن را قادر می‌سازد تا خلاصه‌های شخصی‌شده مقالات را به خوانندگان خود ارائه دهد. این کار کاربران را تشویق می کند تا با مقالات درگیر شوند و به مقالات دیگر در The Standard بازگردانند.

کار با مدل‌های پیشرفته Gemini در کروم، میراث 198 ساله The Standard را گرد هم می‌آورد که خوانندگان خود را با نوآوری‌های فنی جدید برای مخاطبان پرمشغله‌ای که برای داشتن روزنامه‌نگاری مورد اعتماد ما در نوک انگشتان خود ارزش دارند، گرد هم می‌آورد. این امکان را به خوانندگان می‌دهد که به سرعت اخبار را با استفاده از خلاصه‌های ساخته شده بر روی دستگاه‌های خود بررسی کنند. حول عادات دیجیتالی آنها."

- جک رایلی ، مدیر ارشد دیجیتال، استاندارد

ارائه خلاصه‌سازی هوش مصنوعی در سمت مشتری، استاندارد را قادر می‌سازد تا خلاصه‌های شخصی‌سازی شده را بدون متحمل شدن هزینه اضافی برای کسب‌وکار تولید کند. انجام این کار در سمت مشتری، با استفاده از نقاط داده مانند سبک خلاصه یا مکان، به کاربران امکان می دهد حتی زمانی که دسترسی به اینترنت را از دست می دهند به خواندن ادامه دهند. این یک اتفاق مکرر برای بسیاری از کاربرانی است که با لپ تاپ خود در متروی لندن سفر می کنند.

ابتدا، پشتیبانی و در دسترس بودن مدل و 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,
 },
})

Terra خلاصه ای قابل ویرایش برای مقالات به زبان پرتغالی در اختیار روزنامه نگاران قرار می دهد

Terra یکی از بزرگترین پورتال های محتوای برزیل است که سرگرمی، اخبار و ورزش را با بیش از 50 میلیون بازدیدکننده منحصر به فرد در ماه ارائه می دهد. Terra Summarizer API و Translator API را به سیستم مدیریت محتوای خود (CMS) اضافه کرد تا به روزنامه‌نگاران کمک کند فوراً اخبار را به زبان پرتغالی خلاصه کنند. سپس روزنامه‌نگاران می‌توانند چند ویرایش را برای اهداف سبکی یا دقت انجام دهند و خلاصه ایجاد شده را منتشر کنند و آن را به راحتی در دسترس همه خوانندگان قرار دهند.

در حالی که CMS Terra در حال حاضر از یک LLM سمت سرور استفاده می کند، این تیم هوش مصنوعی سمت مشتری را به عنوان یک رویکرد متمایز با مزایای بالقوه جدید بررسی کردند. آنها دریافتند Summarizer API و Gemini Nano در کروم کیفیت قابل مقایسه ای را با اجرای سمت سرور خود ارائه می دهند. راه حل سمت سرویس گیرنده هنگامی که همراه با مترجم API استفاده می شد نتایج مثبتی به همراه داشت.

Terra اجرای کروم از هوش مصنوعی داخلی را به دلیل مزایای کلیدی پذیرفت. هوش مصنوعی سمت مشتری باعث صرفه جویی در هزینه و مدیریت ساده داده می شود. در حالی که تیم با چالش‌هایی مواجه شد، به ویژه در مورد مدیریت محدودیت‌های پنجره محتوا با Summarizer API، آنها توانستند از طریق شیوه‌های پیاده‌سازی دقیق بر این چالش‌ها غلبه کنند.

در ابتدا، Terra در تعیین اینکه چه نوع خلاصه و زمینه مشترک به بهترین وجه برای پاسخگویی به نیازهای آنها مجهز است، با چالش هایی مواجه شد. از طریق آزمایش، آنها دریافتند که خلاصه‌های واضح و مفید انگلیسی برای تولید خروجی با کیفیت مشابه به زبان پرتغالی با Translator API بسیار مهم است. زمین بازی هوش مصنوعی داخلی در پیمایش این چالش‌ها بسیار مفید بود، زیرا Terra می‌توانست به سرعت ایده‌های خود را بدون تغییر کد هر بار آزمایش کند.

نمونه زیر نشان می دهد که چگونه Terra API Summarizer را فراخوانی می کند و در صورت در دسترس نبودن آن به کاربران هشدار می دهد.

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
  }
}

علاوه بر این، Terra از خلاصه‌کننده در ارتباط با مترجم API برای ترجمه عنوان، زیرنویس و متن اصلی مقاله پرتغالی به انگلیسی استفاده کرد. این نسخه ترجمه شده توسط Summarizer API برای تولید خلاصه پردازش می شود و سپس به پرتغالی ترجمه می شود. این تضمین می کند که کاربر محتوای خلاصه شده را به زبان برنامه دریافت می کند.

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')

ادغام موفقیت آمیز Terra از APIهای هوش مصنوعی داخلی، پتانسیل قابل توجه هوش مصنوعی سمت مشتری را برای افزایش گردش کار مدیریت محتوا نشان می دهد. Terra با Summarizer و Translator APIها به خبرنگاران خود قدرت داده، کارایی را بهبود بخشیده و در موقعیت مناسبی قرار گرفته است تا تجربیات کاربر پیشرفته را در سراسر پلتفرم ها ارائه دهد.

بهترین شیوه ها

اگر ورودی بازبینی از حد مجاز بیشتر شد، اقدامات کاهشی زیر را دنبال کنید:

  • از یک نمونه کوچکتر (مانند 4 بررسی اخیر) برای API استفاده کنید. این به ایجاد نتایج سریعتر کمک می کند. به راهنمای ما در مورد مقیاس بندی خلاصه سمت مشتری مراجعه کنید.
  • QuotaExceededError اطلاعات بیشتری در مورد توکن های درخواستی در ورودی ارائه می دهد. شی summarizer دارای یک ویژگی inputQuota است که محدودیت توکن API را نشان می دهد. این امکان بازخورد بلادرنگ را فراهم می کند و در صورتی که ورودی از حد مجاز فراتر رفت، عملکرد را غیرفعال می کند.

ممکن است بخواهید یک رویکرد ترکیبی را در نظر بگیرید تا از تجربه یکپارچه برای همه کاربران اطمینان حاصل کنید. اولین باری که یک API داخلی AI فراخوانی می شود، مرورگر باید مدل را دانلود کند.

  • Miravia از یک مدل سمت سرور برای ارائه خلاصه اولیه استفاده کرد، در حالی که مدل در حال دانلود بود. هنگامی که مدل داخلی آماده شد، سایت به اجرای استنتاج سمت کلاینت تغییر مکان داد.

شما باید همیشه برای ایجاد یک رابط دوستانه و ارتباطی تلاش کنید:

  • یک نوار پیشرفت برای دانلودهای مدل اجرا کنید و تاخیرهای پاسخ را کاهش دهید.
  • شفافیت دانلود مدل را در نظر بگیرید. Bright Sites به کاربران درباره دانلود مدل اطلاع داد تا شفافیت و رضایت استفاده از منابع را فراهم کند. به این ترتیب، کاربران می توانند قبل از ادامه آن را بپذیرند یا رد کنند.

نتیجه گیری و پیشنهادات

مثال‌های Bright Sites و Terra ارزش Summarizer API را در افزایش دسترسی به محتوا و تعامل خواننده نشان می‌دهند. با استفاده از این API سمت کلاینت، این پلتفرم‌ها تجربه خواندن و شخصی‌سازی را بدون هزینه اضافی کسب‌وکار و با مدیریت ساده داده بهبود بخشیدند. درست مانند Summarizer API، همه APIهای داخلی هوش مصنوعی هوش مصنوعی سمت مشتری را فعال می‌کنند.

آیا نمی دانید که چگونه API Summarizer می تواند به سایر موارد استفاده کمک کند؟ ما همچنین به اشتراک گذاشتیم که چگونه API Summarizer به redBus و Miravia کمک می‌کند تا خلاصه‌های مفیدی برای بررسی کاربران ایجاد کنند .

آیا با این API ها چیز جدیدی می سازید؟ آن را با ما در ChromiumDev@ در X یا Chromium for Developers در LinkedIn به اشتراک بگذارید.

منابع

قدردانی ها

از Guilherme Moser و Fernando Fischer از Terra، Aline Souza از CWI، Brian Alford ، Keval Patel ، Jack Riley و تیم مهندسی Brightsites، Swetha Gopalakrishnan ، Alexandra Klepper ، Thomas Steiner و Kenji Baheux برای کمک به نوشتن و بررسی این سند سپاسگزاریم.