게시일: 2025년 5월 15일, 최종 업데이트: 2026년 5월 27일
전자상거래 또는 여행 사이트와 같이 사용자 리뷰가 있는 웹사이트에는 보통 많은 양의 정보가 있습니다. 따라서 사용자가 구매를 결정하기 위해 많은 리뷰를 살펴봐야 하므로 시간이 오래 걸릴 수 있습니다. 리뷰 요약을 제공하면 사용자가 의견을 이해하고 시간을 절약하는 데 도움이 됩니다.
redBus와 Miravia 가 Summarizer API를 사용하여 의사 결정 및 구매 환경을 개선하는 방법을 알아보세요. Miravia에서 리뷰 요약을 추가한 후 제품 페이지와 사이트 전반에서 전환율이 개선되었습니다.
| 설명하듯이 | 웹 | 확장 프로그램 | Chrome 상태 | 의도 |
|---|---|---|---|---|
| MDN | View | 배송 의도 |
Summarizer API를 사용하면 다양한 길이와 형식으로 여러 유형 의 요약을 생성할 수 있습니다(예: 문장, 단락, 글머리 기호 목록 등). 이 API는 Google의 여러 내장 AI API와 마찬가지로 대규모 언어 모델을 사용하여 추론을 실행합니다. Chrome에서 모델은 Gemini Nano입니다.
redBus는 고객이 최적의 버스 옵션을 결정하는 데 도움을 줍니다
redBus는 인도 최대의 버스 제공업체로, 3,000만 명이 넘는 고객에게 전국적으로 연결된 약 10,000개의 도시와 마을에서 버스 서비스를 제공합니다. redBus는 데이터와 의견을 통해 사용자 생성 리뷰가 고객이 여행 요구사항에 가장 적합한 경로와 버스를 결정하는 데 중요한 역할을 한다는 것을 알게 되었습니다. redBus는 많은 리뷰를 받으며 각 리뷰는 정확한 도착 및 출발 지점과 시간에 관한 것입니다.
고객이 특정 도시 또는 경로를 대략적으로 이해할 수 있도록 Summarizer API를 사용하여 관련 리뷰의 주요 분석 정보를 제공합니다.
"Summarizer API는 많은 리뷰와 사용자 검색어 순열에서 고품질 요약을 생성할 수 있었습니다. 이 클라이언트 측 기능은 서버 측 대안에 있을 기술적 복잡성과 추가 비즈니스 비용을 삭제했습니다. 이 사용 사례는 전환 유입경로의 일부이므로 Google에 중요합니다."
— Amit Kumar, redBus 선임 엔지니어링 관리자
redBus의 백엔드에 저장된 리뷰의 세분화는 출발 및 도착 시간, 도시의 특정 탑승 지점, 다양한 버스 운영업체와 같은 변수가 있는 사용자 검색어의 가능한 순열의 엄청난 수와 결합되어 리뷰에서 특정 분석 정보를 강조하기 어렵습니다. 이러한 데이터 양으로 인해 각 검색어의 서버 측 요약은 비용이 많이 들 것입니다.
효과적인 요약을 생성하기 위해 redBus는 고객 리뷰 외에도 Summarizer API에 다음 컨텍스트를 제공합니다.
//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.';
요약은 추가 비즈니스 비용과 기술적 복잡성 없이 고객 의사 결정을 개선합니다. 또한 redBus는 로그인한 사용자의 좌석 편안함 또는 Wi-Fi 사용 가능 여부와 같은 여행 환경설정에 맞게 요약을 맞춤설정할 수 있습니다. 추론 클라이언트 측, 즉 이 검색 및 요약은 사용자에게 비공개로 유지됩니다.
Summarizer 사용 가능 여부를 확인하고 컨텍스트를 제공하며 사용자의 검색어를 기반으로 리뷰를 가져오는 짧은 코드 샘플을 살펴보세요.
// 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
}
}
방갈로에서 망갈루루까지의 검색 예시에서 요약 도구의 출력은 다음과 같습니다.
<Bus Provider X>는 일반적으로 편안함, 청결도, 직원 서비스에 대해 긍정적인 리뷰를 받았습니다. 일부에서는 지연, 운전사 행동 (무례함), 편의시설 부족 (실시간 추적, 담요), 불편함 (좌석 크기, 충격 흡수 장치 불량)과 같은 사소한 문제가 있었습니다.
이 리뷰는 요청된 요구사항을 충족하며, 긍정적인 측면과 부정적인 측면이 짧은 단락으로 되어 있어 308개의 개별 리뷰보다 훨씬 읽기 쉽습니다.
Miravia는 이커머스 리뷰를 요약했습니다
Miravia는 스페인의 주요 전자상거래 플랫폼으로, 월간 활성 사용자 수가 수백만 명에 달합니다. 사용자가 리뷰를 필터링할 때마다 (예: 제품 평점별) 새 요약이 생성됩니다. 이렇게 하면 고객 의견에 대한 간결한 개요가 제공되어 우려사항과 권장사항이 강조됩니다.
"이전에는 제품 리뷰 내에서 주요 장단점을 파악하려면 사용자가 세부정보 페이지에서 수많은 개별 의견을 읽어야 했습니다. 사용자가 전반적인 고객 분위기를 빠르게 파악할 수 있도록 Summarizer API를 도입했습니다. 이 요약은 사용자가 리뷰를 필터링할 때마다 (예: 별표 평점 또는 기타 기준) 동적으로 업데이트되어 관련 구매자 의견에 대한 빠르고 포괄적인 개요를 제공합니다."
— Ziyi Liang, Miravia 선임 소프트웨어 엔지니어
처음에 Miravia의 사용자 리뷰 요약 기능은 서버 측 AI 서비스를 사용했습니다. Miravia는 클라이언트 측 AI를 실행하는 Gemini Nano가 유지보수 비용을 절감하면서 비슷한 결과를 제공할 수 있다는 것을 발견했습니다. 이러한 이점은 리뷰가 지속적으로 업데이트되는 인기 있고 빠르게 판매되는 상품에서 특히 분명합니다.
Miravia의 구현에는 실시간 리뷰 가져오기 및 요약이 필요하지만, 추론이 서버에서 발생하는지 브라우저에서 발생하는지에 관계없이 클라이언트 측 AI는 빈도가 증가함에 따라 훨씬 더 효율적입니다. 전반적인 성능에 만족합니다.
먼저 Miravia는 기능 및 기기 호환성을 확인합니다.
// 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.',
};
};
그런 다음 Miravia는 사용 가능한 리뷰를 요약합니다. 입력을 더 일관성 있게 만들기 위해 리뷰에 추가 기간이 결합됩니다.
/**
* 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 unavailable, throw an error with the message from deviceCheck
throw new Error(
message ||
'AI summarization tools are not supported on this device or browser.'
);
}
};
전환율 개선
Summarizer API가 프로덕션에서 제공된 이후 Miravia는 요약으로 인해 다음과 같은 결과가 발생한다는 것을 발견했습니다.
- 제품 페이지에서 전환율이 12.4% 증가했습니다.
- 웹사이트 전체에서 전환율이 3.3% 증가했습니다.
권장사항
리뷰 입력이 토큰 한도를 초과하면 다음 완화 조치를 따르세요.
- 더 작은 샘플 (예: 최근 4개의 리뷰)을 API에 사용합니다. 이렇게 하면 더 빠른 결과를 생성하는 데 도움이 됩니다. 클라이언트 측 요약 확장 가이드 를 참고하세요.
QuotaExceededError는 입력에서 요청된 토큰에 관한 자세한 정보를 제공합니다.summarizer객체에는 API의 토큰 한도를 나타내는inputQuota속성이 있습니다. 이렇게 하면 입력이 한도를 초과하는 경우 실시간 의견과 기능 사용 중지를 허용할 수 있습니다.
모든 사용자에게 원활한 환경을 제공하기 위해 하이브리드 접근 방식을 고려해 보세요. 내장 AI API가 처음 호출될 때 브라우저는 모델을 다운로드해야 합니다.
- Miravia는 모델이 다운로드되는 동안 서버 측 모델을 사용하여 초기 요약을 제공했습니다. 내장 모델이 준비되면 사이트는 클라이언트 측에서 추론을 실행하도록 전환했습니다.
항상 친근하고 커뮤니케이션이 가능한 인터페이스를 만들기 위해 노력해야 합니다.
- 모델 다운로드에 진행률 표시줄을 구현하고 응답 지연을 완화합니다.
- 모델 다운로드에 관한 투명성을 고려합니다. Bright Sites는 리소스 사용의 투명성과 동의를 허용하기 위해 모델 다운로드에 관해 사용자에게 알렸습니다. 이렇게 하면 사용자가 계속 진행하기 전에 수락하거나 거부할 수 있습니다.
결론 및 권장사항
redBus와 Miravia의 실제 사례는 Summarizer API가 사용자 리뷰의 간결하고 관련성 높은 요약을 제공하여 사용자가 정보에 기반한 결정을 신속하게 내리는 데 어떻게 도움이 되었는지 보여줍니다. API는 추가 비즈니스 비용과 낮은 기술적 복잡성 없이 클라이언트 측에서 작동할 수 있으므로 정보를 요약해야 하는 유사한 사용 사례에 적합한 옵션입니다. 모든 내장 AI API는 실용적인 클라이언트 측 AI 사용 사례를 지원합니다.
Summarizer API가 다른 사용 사례에 어떻게 도움이 되는지 궁금하신가요? Summarizer API가 기사 참여도를 높이는 방법도 공유했습니다.
이러한 API로 새로운 것을 빌드하고 있나요? X의 @ChromiumDev 또는 LinkedIn의 Chromium for Developers에서 공유해 주세요.
리소스
- Summarizer API에 대해 자세히 알아보기.
- Chrome에서 내장 API 사용 시작하기.
- 블로거 역량 강화에 관한 프롬프트 API 우수사례 읽어보기
- 번역 및 언어 감지기 우수사례 읽어보기
- Summarizer API가 Bright Sites 및 Terra에서 참여도를 높이는 기사 요약을 만드는 데 어떻게 도움이 되는지 알아보기
감사의 말씀
이 문서를 작성하고 검토하는 데 도움을 주신 Miravia(Alibaba Group)의 Makakhov Andrey 및 Ziyi Liang, Amit Kumar (redBus), Swetha Gopalakrishnan, Alexandra Klepper, Thomas Steiner 및 Kenji Baheux께 감사드립니다.