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

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

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

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

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. Chrome для Android, iOS и ChromeOS пока не поддерживаются 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 для обеспечения кроссбраузерной совместимости.

API Summarizer и другие API для помощи в написании текстов были приняты рабочей группой W3C WebML. Мы запросили у Mozilla и WebKit информацию об их позициях в отношении стандартов.

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

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

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