Подведение итогов с помощью встроенного искусственного интеллекта

Опубликовано: 11 ноября 2024 г., Последнее обновление: 30 июля 2025 г.

Browser Support

  • Хром: 138.
  • Край: за флагом.
  • Firefox: не поддерживается.
  • Safari: не поддерживается.

Вы можете предоставить своим пользователям возможность преобразовывать длинные статьи, сложные документы или даже оживленные беседы в краткие и содержательные резюме.

API Summarizer можно использовать для создания различных типов сводок различной длины и формата, таких как предложения, абзацы, маркированные списки и т. д. Мы считаем, что этот API будет полезен в следующих сценариях:

  • Подведение итогов основным моментам статьи или беседы в чате.
  • Предложение названий и заголовков для статей.
  • Создание краткого и информативного резюме длинного текста.
  • Создание тизера для книги на основе рецензии.

Начать

API Summarizer доступен в стабильной версии Chrome 138 .

Перед использованием этого API ознакомьтесь с Политикой Google в отношении запрещенного использования генеративного ИИ .

Запустите обнаружение функций, чтобы узнать, поддерживает ли браузер API Summarizer.

if ('Summarizer' in self) {
  // The Summarizer API is supported.
}

Ознакомьтесь с требованиями к оборудованию

Для разработчиков и пользователей, использующих эти API в Chrome, действуют следующие требования. Требования к работе других браузеров могут отличаться.

API определения языка и переводчика работают в Chrome на десктопе. Эти API не работают на мобильных устройствах. API Prompt, API Summarizer, API Writer и API Rewriter работают в Chrome при соблюдении следующих условий:

  • Операционная система : Windows 10 или 11; macOS 13+ (Ventura и выше); Linux; или ChromeOS (платформа 16389.0.0 и выше) на устройствах [Chromebook Plus](https://www.google.com/chromebook/chromebookplus/). Chrome для Android, iOS и ChromeOS на устройствах, отличных от Chromebook Plus, пока не поддерживаются API, использующими Gemini Nano.
  • Хранилище : не менее 22 ГБ свободного места на томе, содержащем ваш профиль Chrome.
  • Видеокарта : строго более 4 ГБ видеопамяти.
  • Сеть : Безлимитные данные или безлимитное соединение.

Точный размер Gemini Nano может меняться по мере обновления модели браузером. Чтобы узнать текущий размер, посетите chrome://on-device-internals и перейдите в раздел «Статус модели» . Откройте указанный путь к файлу , чтобы узнать размер модели.

Загрузка модели

API Summarizer использует модель, обученную для создания высококачественных сводок. API встроен в Chrome, а Gemini Nano — это модель, загружаемая при первом использовании API веб-сайтом.

Чтобы определить, готова ли модель к использованию, вызовите асинхронную функцию Summarizer.availability() . Если ответ на функцию availability()downloadable , ожидайте хода загрузки, чтобы информировать пользователя о ходе загрузки, так как это может занять некоторое время.

const availability = await Summarizer.availability();

Чтобы запустить загрузку модели и создать сумматор, проверьте активацию пользователя , а затем вызовите асинхронную функцию Summarizer.create() .

// Proceed to request batch or streaming summarization
const summarizer = await Summarizer.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  }
});

API-функции

Функция create() позволяет настроить новый объект-сумматор в соответствии с вашими потребностями. Она принимает необязательный объект options со следующими параметрами:

  • sharedContext : Дополнительный общий контекст, который может помочь составителю резюме.
  • type : тип реферирования с допустимыми значениями key-points (по умолчанию), tldr , teaser и headline . Подробности см. в следующей таблице.
  • format : Формат реферирования с допустимыми значениями markdown (по умолчанию) и plain-text .
  • length : длина реферата. Допустимые значения: short (короткая), medium (по умолчанию) и long . Значения этих значений варьируются в зависимости от запрошенного type . Например, в реализации Chrome краткое изложение ключевых моментов состоит из трёх пунктов, а краткое изложение — из одного предложения.

После установки параметры изменить нельзя. Создайте новый объект-результат, если вам нужно изменить параметры.

В следующей таблице представлены различные типы сводок и их длина. Длина соответствует максимально возможному значению, поскольку иногда результаты могут быть короче.

Тип Значение Длина
"tldr" Резюме должно быть кратким и по существу, обеспечивающим быстрый обзор введенной информации и подходящим для занятого читателя.
короткий 1 предложение
середина 3 предложения
длинный 5 предложений
"teaser" Резюме должно быть сосредоточено на самых интересных и интригующих частях текста, чтобы побудить читателя прочитать больше.
короткий 1 предложение
середина 3 предложения
длинный 5 предложений
"key-points" В резюме следует выделить наиболее важные моменты из представленной информации и представить их в виде маркированного списка.
короткий 3 пункта
середина 5 пунктов
длинный 7 пунктов
"headline" Резюме должно эффективно содержать основную мысль статьи в одном предложении в формате заголовка.
короткий 12 слов
середина 17 слов
длинный 22 слова

Например, можно инициализировать сумматор для вывода средней длины ключевых моментов в Markdown.

const options = {
  sharedContext: 'This is a scientific article',
  type: 'key-points',
  format: 'markdown',
  length: 'medium',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  }
};

const availability = await Summarizer.availability();
if (availability === 'unavailable') {
  // The Summarizer API isn't usable.
  return;
}

// Check for user activation before creating the summarizer
if (navigator.userActivation.isActive) {
  const summarizer = await Summarizer.create(options);
}

Существует два способа запуска сумматора: потоковый и пакетный (не потоковый).

Пакетное суммирование

При пакетном суммировании модель обрабатывает входные данные как единое целое, а затем выдает выходные данные.

Чтобы получить сводку по пакету, вызовите функцию summarize() . Первый аргумент — это текст, который нужно суммировать. Второй, необязательный аргумент — объект с полем context . Это поле позволяет добавить дополнительную информацию, которая может улучшить сводку.

const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
  context: 'This article is intended for a tech-savvy audience.',
});

Потоковое суммирование

Потоковое суммирование предоставляет результаты в режиме реального времени. Выходные данные обновляются непрерывно по мере добавления и корректировки входных данных. Чтобы получить потоковую сводку, вызовите функцию summarizeStreaming() вместо summarize() .

const longText = document.querySelector('article').innerHTML;
const stream = summarizer.summarizeStreaming(longText, {
  context: 'This article is intended for junior developers.',
});
for await (const chunk of stream) {
  console.log(chunk);
}

Демо

Вы можете попробовать API Summarizer в Summarizer API Playground .

Политика разрешений, фреймы и веб-работники

По умолчанию API Summarizer доступен только для окон верхнего уровня и для их iframe-ов с тем же источником. Доступ к API можно делегировать iframe-ам с другим источником с помощью атрибута политики разрешений allow="" :

<!--
  The hosting site at https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Summarizer API by
  setting the `allow="summarizer"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="summarizer"></iframe>

API Summarizer пока недоступен в Web Workers. Это связано со сложностью создания ответственного документа для каждого Worker, необходимого для проверки статуса политики разрешений.

Поделитесь отзывом

Мы хотим увидеть, что вы создаёте с помощью Summarizer API. Поделитесь с нами своими веб-сайтами и веб-приложениями на X , YouTube и LinkedIn .

Чтобы оставить отзыв о реализации Chrome, отправьте отчет об ошибке или запрос на новую функцию .