Опубликовано: 15 мая 2025 г.
Общественность рассчитывает на то, что новостные издатели будут информировать ее о местных, национальных и международных событиях, а также делиться своими вдумчивыми взглядами. В сегодняшней быстро меняющейся среде резюме статей являются ключевой стратегией для сжатия сложной информации в доступные фрагменты, побуждая читателей к дальнейшему изучению. Узнайте, как Bright Sites и Terra подходят к этой стратегии с помощью API Summarizer.
Объяснитель | Веб | Расширения | Статус Хрома | Намерение |
---|---|---|---|---|
МДН | Вид | Намерение отправить |
API Summarizer позволяет вам генерировать различные типы резюме разной длины и формата, такие как предложения, абзацы, списки маркеров и т. д. Этот API, как и многие встроенные API AI , использует большие языковые модели для выполнения вывода. В Chrome наша модель — Gemini Nano.
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 Summarizer и API Translator в свою систему управления контентом (CMS), чтобы помочь журналистам мгновенно резюмировать новостные сюжеты на португальском языке. Затем журналисты могут внести несколько правок для стилистических или точных целей и опубликовать совместно созданное резюме, сделав его легкодоступным для всех читателей.
В то время как CMS Terra уже использует LLM на стороне сервера, команда исследовала клиентский ИИ как отдельный подход с потенциальными новыми преимуществами. Они обнаружили, что API Summarizer и Gemini Nano в 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 использовала summaryer в сочетании с Translator API для перевода заголовка, подзаголовка и основного текста оригинальной португальской статьи на английский язык. Эта переведенная версия обрабатывается Summarizer 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 AI в Terra демонстрирует значительный потенциал клиентского AI для улучшения рабочих процессов управления контентом. Благодаря API Summarizer и Translator Terra расширила возможности своих журналистов, повысила эффективность и заняла выгодные позиции для предоставления улучшенного пользовательского опыта на всех платформах.
Лучшие практики
Если количество просмотренных данных превышает лимит токенов, воспользуйтесь следующими мерами:
- Используйте меньшую выборку (например, последние 4 отзыва) для API. Это помогает быстрее получать результаты. Ознакомьтесь с нашим руководством по масштабированию клиентского резюмирования .
-
QuotaExceededError
предоставляет больше информации о запрошенных токенах во входных данных. Объектsummarizer
имеет свойствоinputQuota
, которое указывает предел токенов API. Это позволяет получать обратную связь в реальном времени и отключать функциональность, если входные данные превышают предел.
Вы можете рассмотреть гибридный подход, чтобы обеспечить бесперебойный опыт для всех пользователей. При первом вызове встроенного API AI браузер должен загрузить модель.
- Miravia использовала серверную модель для предоставления первоначального резюме, пока модель загружалась. После того, как встроенная модель была готова, сайт переключился на выполнение вывода на стороне клиента.
Всегда следует стремиться к созданию дружелюбного и коммуникативного интерфейса:
- Реализуйте индикатор выполнения загрузки моделей и сократите задержки ответов.
- Рассмотрите прозрачность загрузки модели. Bright Sites уведомил пользователей о загрузке модели, чтобы обеспечить прозрачность и согласие на использование ресурсов. Таким образом, пользователи могли принять или отклонить, прежде чем продолжить.
Выводы и рекомендации
Примеры Bright Sites и Terra демонстрируют ценность API Summarizer для улучшения доступности контента и вовлеченности читателей. Используя этот клиентский API, эти платформы улучшили опыт чтения и персонализацию без дополнительных бизнес-затрат и с упрощенным управлением данными. Как и API Summarizer, все встроенные API ИИ обеспечивают практический клиентский ИИ.
Хотите узнать, как API Summarizer может помочь в других вариантах использования? Мы также рассказали, как API Summarizer помогает redBus и Miravia создавать полезные сводки отзывов пользователей .
Вы создаете что-то новое с помощью этих API? Поделитесь этим с нами на @ChromiumDev on X или Chromium for Developers на LinkedIn .
Ресурсы
- Узнайте больше о API Summarizer .
- Начните использовать встроенные API в Chrome .
- Ознакомьтесь с практическим примером использования API Prompt для расширения возможностей блогеров .
- Ознакомьтесь с практическим примером использования инструмента «Определитель перевода и языка» .
- Узнайте, как API Summarizer помогает redBus и Miravia создавать полезные сводки отзывов пользователей .
Благодарности
Выражаем благодарность Гильерме Мозеру и Фернандо Фишеру из Terra, Элин Соузе из CWI, Брайану Элфорду , Кевалу Пателю , Джеку Райли и инженерной команде Brightsites, Свете Гопалакришнан , Александре Клеппер , Томасу Штайнеру и Кенджи Бахе за помощь в написании и рецензировании этого документа.