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

ماری ویانا
Mari Viana

منتشر شده: ۱۵ مه ۲۰۲۵

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

توضیح دهنده وب افزونه‌ها وضعیت کروم قصد
ام دی ان کروم ۱۳۸ کروم ۱۳۸ مشاهده قصد ارسال

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

سایت‌های روشن خلاصه‌های مقالات شخصی‌سازی‌شده را به استاندارد اضافه می‌کنند

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

«کار با مدل‌های پیشرفته‌ی جمینی در کروم، میراث ۱۹۸ ساله استاندارد در آگاه نگه‌داشتن خوانندگانمان را با نوآوری‌های فنی جدید برای مخاطبان پرمشغله‌ای که برای روزنامه‌نگاری قابل اعتماد ما در دسترس خود ارزش قائلند، گرد هم می‌آورد. فراهم کردن امکان بررسی سریع اخبار توسط خوانندگان با استفاده از خلاصه‌های ساخته شده روی دستگاه‌های خودشان، تنها یکی از راه‌هایی است که ما استاندارد را از نو تصور می‌کنیم و محصولات جدید متمرکز بر خواننده را حول عادات دیجیتال آنها می‌سازیم.»

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

ارائه خلاصه‌سازی هوش مصنوعی سمت کلاینت، 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 خلاصه‌ای قابل ویرایش برای مقالات به زبان پرتغالی در اختیار روزنامه‌نگاران قرار می‌دهد.

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

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

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

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

نمونه زیر نشان می‌دهد که چگونه Terra رابط برنامه‌نویسی 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 از خلاصه‌ساز به همراه Translator 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')

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

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

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

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

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

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

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

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

نتیجه‌گیری و توصیه‌ها

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

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

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

منابع

تقدیرنامه‌ها

با تشکر از گیلرمه موزر و فرناندو فیشر از Terra، آلین سوزا از CWI، برایان آلفورد ، کیوال پاتل ، جک رایلی و تیم مهندسی Brightsites، سوئتا گوپالاکریشنان ، الکساندرا کلپر ، توماس اشتاینر و کنجی باهوکس برای کمک به نوشتن و بررسی این سند.