Dipublikasikan: 15 Mei 2025
Situs dengan ulasan pengguna, seperti situs e-commerce atau perjalanan, sering kali memiliki volume informasi yang sangat besar. Hal ini dapat membuat pengguna menghabiskan banyak waktu untuk memilah banyak ulasan guna memutuskan pembelian. Memberikan ringkasan ulasan dapat membantu pengguna memahami masukan dan menghemat waktu. Pelajari cara redBus dan Miravia menggunakan Summarizer API untuk meningkatkan pengalaman pembelian dan pengambilan keputusan.
Penjelasan | Web | Ekstensi | Status Chrome | Intent |
---|---|---|---|---|
MDN | View | Intent to Ship |
Summarizer API memungkinkan Anda membuat berbagai jenis ringkasan dalam berbagai panjang dan format, seperti kalimat, paragraf, daftar poin, dan lainnya. API ini, seperti banyak API AI bawaan kami, menggunakan model bahasa besar untuk melakukan inferensi. Di Chrome, model kami adalah Gemini Nano.
redBus membantu pelanggan menentukan opsi bus terbaik
redBus adalah penyedia bus terbesar di India, dengan lebih dari 30 juta pelanggan, yang menyediakan layanan bus di sekitar 10.000 kota dan kota kecil, yang terhubung di seluruh negeri. Melalui data dan masukan, redBus menyadari bahwa ulasan buatan pengguna memainkan peran penting dalam membantu pelanggan menentukan rute dan bus mana yang paling sesuai untuk kebutuhan perjalanan mereka. redBus menerima banyak ulasan, dan setiap ulasan spesifik untuk titik dan waktu kedatangan serta keberangkatan yang tepat.
Untuk membantu pelanggan memahami secara umum untuk kota atau rute tertentu, mereka menggunakan Summarizer API untuk menyajikan insight utama dari ulasan yang relevan.
"Summarizer API dapat membuat ringkasan berkualitas dari sejumlah besar ulasan dan permutasi kueri penelusuran pengguna. Fitur sisi klien ini menghilangkan kompleksitas teknis dan biaya bisnis tambahan yang akan ada untuk alternatif sisi server. Hal ini penting bagi kami karena kasus penggunaan ini adalah bagian dari funnel konversi."
— Amit Kumar, Senior Engineering Manager, redBus
Tingkat perincian ulasan yang disimpan di backend redBus, dikombinasikan dengan jumlah permutasi yang sangat besar dalam kueri penelusuran pengguna—dengan variabel seperti waktu keberangkatan dan kedatangan, titik keberangkatan tertentu di kota, dan operator bus yang berbeda—membuat sulit untuk menyoroti insight tertentu dari ulasan. Dengan volume data tersebut, ringkasan sisi server untuk setiap kueri penelusuran akan menjadi mahal.
Untuk membuat ringkasan yang efektif, redBus menyediakan konteks berikut ke Summarizer API, selain ulasan pelanggan:
//Context to provide a useful summary
const promptContext =
'Summarize the following reviews in 30 words or less.' +
'Focus on key positives and negatives, such as comfort, maintenance,' +
'pricing, and cleanliness. Reviews are separated by {end}.' +
'Give the summary in just one paragraph.';
Ringkasan ini meningkatkan pengambilan keputusan pelanggan, tanpa biaya bisnis tambahan dan kompleksitas teknis. Selain itu, redBus dapat mempersonalisasi ringkasan untuk preferensi perjalanan pengguna yang login, seperti kenyamanan kursi atau ketersediaan Wi-Fi. Sisi klien inferensi, yang berarti penelusuran dan ringkasan ini tetap bersifat pribadi bagi pengguna.
Lihat contoh kode singkat yang memeriksa ketersediaan Ringkasan, memberikan konteks, dan mengambil ulasan berdasarkan kueri penelusuran pengguna.
// The Summarizer API is available
if ('Summarizer' in self) {
try {
const available = await Summarizer.availability();
let summarizer;
if (available === 'unavailable') {
return null;
}
if (available === 'available') {
//model is already available, use immediately
summarizer = await Summarizer.create();
} else {
//trigger model download and wait
summarizer = await Summarizer.create();
}
// Context to provide a useful summary
const promptContext =
'Summarize the following reviews in 30 words or less.' +
'Focus on key positives and negatives, such as comfort, maintenance,' +
'pricing, and cleanliness. Reviews are separated by {end}.' +
'Give the summary in just one paragraph.';
// Retrieve the reviews to be summarized based on user's search query
let reviews = getIndividualBusReviews();
if (reviews) {
const reviewSummary = await summarizer.summarize(reviews, {
context: promptContext
});
}
} catch (e) {
console.error("SUMMARIZER_API_ERROR: ", e);
return null
}
}
Dengan contoh penelusuran Bangalore ke Mangaluru, output peringkas adalah sebagai berikut:
<Bus Provider X>
umumnya menerima ulasan positif untuk kenyamanan, kebersihan, dan layanan staf. Beberapa mengalami masalah kecil seperti keterlambatan, perilaku pengemudi (kasar), kurangnya fasilitas (pelacakan langsung, selimut), dan ketidaknyamanan (ukuran kursi, peredam kejut yang buruk).
Ulasan ini memenuhi persyaratan yang diminta, dengan poin positif dan negatif dalam satu paragraf singkat, yang jauh lebih mudah dibaca daripada 308 ulasan individual yang tersedia.
Ringkasan ulasan e-commerce Miravia
Miravia adalah platform e-commerce terkemuka di Spanyol, dengan jutaan pengguna aktif bulanan. Setiap kali pengguna memfilter ulasan (misalnya, berdasarkan rating produk), ringkasan baru akan dibuat. Laporan ini memberikan ringkasan ringkas tentang umpan balik pelanggan, yang menyoroti masalah dan rekomendasi.
"Sebelumnya, untuk memahami kelebihan dan kekurangan utama dalam ulasan produk, pengguna harus membaca banyak komentar individual di halaman detail. Untuk membantu pengguna memahami sentimen pelanggan secara keseluruhan dengan cepat, kami telah memperkenalkan Summarizer API. Ringkasan ini diperbarui secara dinamis setiap kali pengguna memfilter ulasan (misalnya, berdasarkan rating bintang atau kriteria lainnya), sehingga memberikan ringkasan yang cepat dan komprehensif tentang masukan pembeli yang relevan."
— Ziyi Liang, Senior Software Engineer, Miravia
Awalnya, fitur ringkasan ulasan pengguna Miravia mengandalkan layanan AI sisi server. Mereka mendapati bahwa Gemini Nano yang menjalankan AI sisi klien dapat memberikan hasil yang sebanding, dengan pengurangan biaya pemeliharaan. Keuntungan ini terutama jelas untuk item populer yang cepat terjual, yang ulasannya selalu diperbarui.
Meskipun penerapan Miravia memerlukan pengambilan dan ringkasan ulasan secara real time, baik inferensi terjadi di server maupun di browser, AI sisi klien secara signifikan lebih efisien seiring frekuensi yang meningkat. Mereka puas dengan performanya secara keseluruhan.
Pertama, Miravia memeriksa kompatibilitas fitur dan perangkat.
// Compatibility check for device with built-in AI
export const deviceCheck = async () => {
// Query the browser's AI capabilities
const availability = await Summarizer.availability();
// Case 1: Device doesn't support AI summarization
if (availability === 'unavailable') {
return {
summarizationAvailable: false,
message:
'AI summarization tools are not supported on this device, or the appropriate permissions have not be set.',
};
}
// Case 2: Device supports AI but requires model download
if (availability === 'downloadable') {
// Try to trigger an installation
Summarizer.create();
return {
summarizationAvailable: false,
message: 'Installing in the background. This may take a few minutes...',
};
}
// Case 3: Device supports AI summarization
return {
summarizationAvailable: true,
message: 'Ready for use.',
};
};
Kemudian, Miravia akan meringkas ulasan yang tersedia. Ulasan digabungkan dengan titik tambahan, agar input lebih koheren.
/**
* Summarizes a list of reviews using Chrome's Built-in AI
* @param {Array<string>} reviewContentList - Array of review texts to summarize
* @returns {Promise<string>} The generated summary text
* @throws {Error} If summarization is not available or fails
*/
export const reviewSummarize = async (reviewContentList) => {
// Validate input
if (!Array.isArray(reviewContentList) || !reviewContentList.length) {
throw new Error('Please provide a non-empty array of reviews to summarize');
}
// Check device compatibility
const { summarizationAvailable, message } = await deviceCheck();
if (summarizationAvailable) {
try {
// Configure and create the summarizer with appropriate parameters
const summarizer = await Summarizer.create({
type: 'tl;dr',
length: 'short',
sharedContext:
'Summarize the given user reviews. Maintain a polite and formal tone.',
});
// Generate the summary from the joined review texts
const summary = await summarizer.summarize(reviewContentList.join('. '));
// Return the generated summary
return summary;
} catch (error) {
// Handle any errors during summarization
throw new Error(`Summarization failed: ${error.message}`);
}
} else {
// If summarization is not available, throw an error with the message from deviceCheck
throw new Error(
message ||
'AI summarization tools are not supported on this device or browser.'
);
}
};
Praktik terbaik
Jika input ulasan melebihi batas token, ikuti mitigasi berikut:
- Gunakan sampel yang lebih kecil (seperti 4 ulasan terbaru) ke API. Hal ini membantu menghasilkan hasil yang lebih cepat. Lihat panduan kami tentang menskalakan ringkasan sisi klien.
QuotaExceededError
memberikan informasi selengkapnya tentang token yang diminta dalam input. Objeksummarizer
memiliki propertiinputQuota
yang menunjukkan batas token API. Hal ini memungkinkan masukan real-time dan menonaktifkan fungsi jika input melebihi batas.
Sebaiknya pertimbangkan pendekatan campuran, untuk memastikan pengalaman yang lancar bagi semua pengguna. Saat pertama kali AI API bawaan dipanggil, browser harus mendownload model.
- Miravia menggunakan model sisi server untuk memberikan ringkasan awal, saat model didownload. Setelah model bawaan siap, situs beralih untuk melakukan inferensi sisi klien.
Anda harus selalu berusaha membuat antarmuka yang mudah digunakan dan komunikatif:
- Terapkan status progres untuk download model dan mitigasi keterlambatan respons.
- Pertimbangkan transparansi tentang download model. Bright Sites memberi tahu pengguna tentang download model untuk memungkinkan transparansi dan izin penggunaan resource. Dengan demikian, pengguna dapat menyetujui atau menolak sebelum melanjutkan.
Kesimpulan dan rekomendasi
Contoh dunia nyata dari redBus dan Miravia ini menunjukkan bagaimana Summarizer API membantu pengguna membuat keputusan yang tepat dengan cepat dengan memberikan ringkasan ulasan pengguna yang ringkas dan relevan. Kemampuan API untuk berfungsi di sisi klien, tanpa biaya bisnis tambahan dan kompleksitas teknis yang rendah, menjadikannya opsi yang viable untuk kasus penggunaan serupa yang memerlukan ringkasan informasi. Semua API AI bawaan memungkinkan kasus penggunaan AI sisi klien yang praktis.
Ingin tahu cara Summarizer API dapat membantu kasus penggunaan lainnya? Kami juga telah membagikan cara Summarizer API membantu meningkatkan engagement artikel.
Apakah Anda membuat sesuatu yang baru dengan API ini? Bagikan kepada kami di @ChromiumDev di X atau Chromium for Developers di LinkedIn.
Resource
- Pelajari Summarizer API lebih lanjut.
- Mulai menggunakan API Bawaan di Chrome.
- Baca studi kasus Prompt API tentang memberdayakan blogger.
- Baca studi kasus Penerjemahan dan Deteksi Bahasa.
- Baca cara Summarizer API membantu Bright Sites dan Terra membuat ringkasan artikel yang menarik
Ucapan terima kasih
Terima kasih kepada Makakhov Andrey dan Ziyi Liang dari Miravia (Alibaba Group), Amit Kumar dari redBus, Swetha Gopalakrishnan, Alexandra Klepper, Thomas Steiner dan Kenji Baheux karena telah membantu menulis dan meninjau dokumen ini.