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

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

Browser Support

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

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

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

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

Начать

API для создания кратких обзоров доступен начиная со стабильной версии Chrome 138 .

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

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

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

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

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

API для определения языка и перевода работают в Chrome на настольных компьютерах. На мобильных устройствах эти API не работают.

API-интерфейсы Prompt , Summarizer , Writer , Rewriter и Proofreader работают в Chrome при соблюдении следующих условий:

  • Операционная система : Windows 10 или 11; macOS 13+ (Ventura и более поздние версии); Linux; или ChromeOS (начиная с платформы 16389.0.0 и далее) на устройствах Chromebook Plus . Chrome для Android, iOS и ChromeOS на устройствах, отличных от Chromebook Plus, пока не поддерживаются API, использующими Gemini Nano.
  • Место на диске : не менее 22 ГБ свободного места на томе, где находится ваш профиль Chrome.
  • GPU или CPU : Встроенные модели могут работать как с GPU, так и с CPU.
    • Графический процессор : строго более 4 ГБ видеопамяти.
    • Процессор : 16 ГБ оперативной памяти или больше и 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);
}

Назначьте ожидаемые языки

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

const summarizer = await Summarizer.create({
  type: 'key-points',
  expectedInputLanguages: ['en', 'ja', 'es'],
  outputLanguage: 'es',
  expectedContextLanguages: ['en'],
  sharedContext: 'These are requests to summarize articles from a multilanguage newspaper. The users expect a response in Spanish.',
});

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

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

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

Для получения сводки по пакету вызовите функцию 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 .

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

По умолчанию 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 сумматора пока недоступен в веб-воркерах. Это связано со сложностью создания ответственного документа для каждого воркера, необходимого для проверки статуса политики разрешений.

Поделитесь своим мнением

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

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