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

Опубликовано: 11 ноября 2024 г., Последнее обновление: 20 мая 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() . Она возвращает обещание со следующими значениями.

  • "unavailable" означает, что реализация не поддерживает запрошенные параметры.
  • "downloadable" означает, что реализация поддерживает запрошенные параметры, но сначала браузер должен что-то загрузить, например, модель (в случае Chrome — Gemini Nano) или тонкую настройку модели.
  • "downloading" означает, что реализация поддерживает запрошенные параметры, но перед продолжением работы необходимо завершить текущую загрузку.
  • "available" означает, что реализация поддерживает запрошенные параметры и резюматор может продолжить работу.

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

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 слова

В следующем примере показано, как инициализировать сумматор.

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;
}
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 получило поддержку сообщества и было передано в группу сообщества W3C Web Incubator для дальнейшего обсуждения. Команда Chrome запросила обратную связь от группы технической архитектуры W3C и обратилась к Mozilla и WebKit с просьбой высказать свою позицию по стандартам.

Примите участие в работе над стандартами, присоединившись к группе сообщества Web Incubator .

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

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

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