API Summarizer помогает Bright Sites и Terra создавать привлекательные обзоры статей. API Summarizer помогает Bright Sites и Terra создавать привлекательные обзоры статей. API Summarizer помогает Bright Sites и Terra создавать привлекательные обзоры статей. API Summarizer помогает Bright Sites и Terra создавать привлекательные обзоры статей.

Мари Виана
Mari Viana

Опубликовано: 15 мая 2025 г.

Общественность полагается на новостные издания в вопросах информирования о местных, национальных и международных событиях, а также в обмене их содержательными мнениями. В современном быстро меняющемся мире краткие обзоры статей являются ключевой стратегией для сжатия сложной информации в доступные фрагменты, побуждая читателей к дальнейшему изучению материала. Узнайте, как Bright Sites и Terra используют API Summarizer для реализации этой стратегии.

Пояснительная записка Веб Расширения Статус Chrome Намерение
МДН Хром 138 Хром 138 Вид Намерение отправить

API Summarizer позволяет создавать различные типы резюме разной длины и формата, например, в виде предложений, абзацев, маркированных списков и многого другого. Этот API, как и многие встроенные API для ИИ , использует большие языковые модели для выполнения вывода.

Компания Bright Sites добавила персонализированные краткие обзоры статей в The Standard.

Ведущая платформа для публикации новостей Bright Sites , Flow , используется более чем в 150 изданиях. Интегрируя API Summarizer в свою CMS на базе искусственного интеллекта, Bright Sites позволяет The Standard , культовому лондонскому новостному изданию, предлагать своим читателям персонализированные краткие обзоры статей. Это побуждает пользователей взаимодействовать со статьями и переходить к другим статьям на сайте The Standard.

«Работа с передовыми моделями Gemini в Chrome объединяет 198-летнее наследие The Standard, направленное на информирование читателей, с новыми техническими инновациями для нашей занятой аудитории, которая ценит доступ к нашей достоверной журналистике. Возможность быстро проверять новости с помощью сводок, созданных на их собственных устройствах, — это лишь один из способов, с помощью которого мы переосмысливаем 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 предоставляет журналистам редактируемое резюме для статей на португальском языке.

Terra — один из крупнейших контент-порталов Бразилии, предлагающий развлекательный, новостной и спортивный контент, который ежемесячно посещают более 50 миллионов уникальных пользователей. Terra добавила API для создания кратких обзоров и API для перевода в свою систему управления контентом (CMS), чтобы помочь журналистам мгновенно создавать краткие обзоры новостей на португальском языке. Затем журналисты могут внести несколько правок для улучшения стиля или повышения точности и опубликовать созданный совместно обзор, сделав его доступным для всех читателей.

Хотя CMS Terra уже использует серверную LLM-систему, команда исследовала клиентскую ИИ-систему как отдельный подход с потенциальными новыми преимуществами. Они обнаружили, что API Summarizer в Chrome обеспечивает сопоставимое качество с их серверной реализацией. Клиентское решение дало положительные результаты при использовании в сочетании с API Translator .

Terra выбрала встроенную в Chrome реализацию ИИ из-за ключевых преимуществ. ИИ на стороне клиента обеспечил экономию средств и упростил управление данными. Хотя команда столкнулась с некоторыми трудностями, в частности, связанными с управлением ограничениями окна контента с помощью API Summarizer, ей удалось преодолеть их благодаря тщательно продуманным методам реализации.

Первоначально Terra столкнулась с трудностями в определении того, какие типы резюме и общий контекст лучше всего подходят для удовлетворения их потребностей. В ходе экспериментов они обнаружили, что четкие и полезные резюме на английском языке имеют решающее значение для получения аналогичного качественного результата на португальском языке с помощью 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 переводчика для перевода заголовка, подзаголовка и основного текста оригинальной португальской статьи на английский язык. Этот переведенный вариант обрабатывается 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 демонстрирует значительный потенциал клиентского ИИ для улучшения рабочих процессов управления контентом. Благодаря API-интерфейсам Summarizer и Translator, Terra расширила возможности своих журналистов, повысила эффективность и имеет все возможности для предоставления улучшенного пользовательского опыта на различных платформах.

Передовые методы

Если объем введенных данных для проверки превышает лимит токенов, выполните следующие действия:

  • Используйте меньшую выборку (например, 4 последних отзыва) для API. Это поможет получить результаты быстрее. Обратитесь к нашим рекомендациям по масштабированию суммирования на стороне клиента .
  • Ошибка QuotaExceededError предоставляет дополнительную информацию о запрошенных токенах во входных данных. Объект summarizer имеет свойство inputQuota , указывающее лимит токенов API. Это позволяет получать обратную связь в реальном времени и отключать функциональность, если входные данные превышают лимит.

Возможно, вам стоит рассмотреть гибридный подход, чтобы обеспечить бесперебойную работу для всех пользователей. При первом вызове встроенного API ИИ браузер должен загрузить модель.

  • Miravia использовала серверную модель для предоставления первоначального сводного отчета во время загрузки модели. Как только встроенная модель была готова, сайт переключился на выполнение вывода на стороне клиента.

Всегда следует стремиться к созданию дружелюбного и располагающего к общению интерфейса:

  • Внедрить индикатор выполнения для загрузки моделей и минимизировать задержки ответа.
  • Необходимо обеспечить прозрачность процесса загрузки модели. Компания Bright Sites уведомила пользователей о загрузке модели, чтобы обеспечить прозрачность и получить согласие на использование ресурсов. Таким образом, пользователи могли принять или отклонить загрузку перед продолжением.

Выводы и рекомендации

Примеры Bright Sites и Terra демонстрируют ценность API Summarizer для повышения доступности контента и вовлеченности читателей. Используя этот клиентский API, эти платформы улучшили качество чтения и персонализацию без дополнительных затрат для бизнеса и с упрощенным управлением данными. Как и API Summarizer, все встроенные API для ИИ позволяют применять ИИ на практическом уровне на стороне клиента.

Интересуетесь, как API Summarizer может помочь в других сценариях использования? Мы также рассказывали о том, как API Summarizer помогает redBus и Miravia создавать полезные сводки отзывов пользователей .

Вы разрабатываете что-то новое с использованием этих API? Поделитесь с нами в Twitter: @ChromiumDev на X или Chromium for Developers на LinkedIn .

Ресурсы

Благодарности

Благодарим Гильерме Мозера и Фернандо Фишера из Terra, Алину Соузу из CWI, Брайана Алфорда , Кевала Пателя , Джека Райли и инженерную команду Brightsites, Свету Гопалакришнан , Александру Клеппер , Томаса Штайнера и Кенджи Бахе за помощь в написании и рецензировании этого документа.