Die Summarizer API hilft redBus und Miravia, hilfreiche Zusammenfassungen von Nutzerrezensionen zu erstellen

Cecilia Cong
Cecilia Cong
Hadyan Andika
Hadyan Andika

Veröffentlicht: 15. Mai 2025

Websites mit Nutzerrezensionen, z. B. E-Commerce- oder Reisewebsites, enthalten oft eine enorme Menge an Informationen. Das kann es für Nutzer zeitaufwendig machen, viele Rezensionen zu lesen, um sich für einen Kauf zu entscheiden. Wenn Sie Rezensionszusammenfassungen bereitstellen, können Nutzer das Feedback besser nachvollziehen und Zeit sparen. Hier erfahren Sie, wie redBus und Miravia die Summarizer API nutzen, um die Entscheidungsfindung und den Kaufprozess zu verbessern.

Erklärvideo Web Erweiterungen Chrome-Status Absicht
MDN  Chrome 138  Chrome 138 Ansicht Versandabsicht

Mit der Summarizer API können Sie verschiedene Arten von Zusammenfassungen in unterschiedlichen Längen und Formaten generieren, z. B. Sätze, Absätze, Aufzählungslisten und mehr. Wie viele unserer eingebauten KI-APIs verwendet diese API Large Language Models für die Inferenz. In Chrome verwenden wir das Modell Gemini Nano.

redBus hilft Kunden bei der Entscheidung für die beste Busoption

redBus ist der größte Busanbieter in Indien mit mehr als 30 Millionen Kunden. Das Unternehmen bietet Busverbindungen in etwa 10.000 Städten und Gemeinden an, die landesweit miteinander verbunden sind. Anhand von Daten und Feedback erkannte redBus, dass von Nutzern erstellte Rezensionen einen wichtigen Beitrag dazu leisten, Kunden bei der Entscheidung zu unterstützen, welche Route und welcher Bus am besten zu ihren Reiseanforderungen passt. redBus erhält eine große Anzahl von Rezensionen, die sich jeweils auf die genauen Ankunfts- und Abfahrtsorte und -zeiten beziehen.

Um Kunden einen allgemeinen Überblick über bestimmte Städte oder Routen zu geben, werden mit der Summarizer API wichtige Informationen aus relevanten Rezensionen präsentiert.

Ein Kunde sucht nach einer Route von Bangalore nach Mangaluru. Der Zusammenfassungsdienst prüft die verfügbaren Rezensionen und erstellt eine nützliche Übersicht, damit Kunden den besten Bus für ihre Fahrt finden können.

„Mit der Summarizer API konnten wir aus einer großen Anzahl von Rezensionen und Suchanfragen qualitativ hochwertige Zusammenfassungen erstellen. Diese clientseitige Funktion beseitigte die technischen Komplexitäten und zusätzlichen Geschäftskosten, die bei einer serverseitigen Alternative angefallen wären. Das ist für uns wichtig, da dieser Anwendungsfall Teil des Conversion-Trichters ist.“

– Amit Kumar, Senior Engineering Manager, redBus

Die Detailgenauigkeit der Rezensionen, die im Backend von redBus gespeichert sind, in Kombination mit der enormen Anzahl möglicher Permutationen in Suchanfragen von Nutzern – mit Variablen wie Abfahrts- und Ankunftszeiten, einem bestimmten Einstiegspunkt in der Stadt und verschiedenen Busunternehmen – erschwert es, bestimmte Erkenntnisse aus den Rezensionen hervorzuheben. Bei diesem Datenvolumen wäre eine serverseitige Zusammenfassung für jede Suchanfrage kostenintensiv.

Um effektive Zusammenfassungen zu generieren, stellt redBus der Summarizer API zusätzlich zu den Kundenrezensionen den folgenden Kontext zur Verfügung:

//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.';

Die Zusammenfassungen verbessern die Entscheidungsfindung der Kunden, ohne zusätzliche Geschäftskosten und technische Komplexität. Außerdem kann redBus die Zusammenfassung für angemeldete Nutzer personalisieren, z. B. mit Informationen zum Sitzkomfort oder zur Verfügbarkeit von WLAN. Die Inferenz erfolgt clientseitig. Das bedeutet, dass diese Suche und Zusammenfassung für den Nutzer privat bleibt.

Hier sehen Sie ein kurzes Codebeispiel, in dem die Verfügbarkeit des Summarizers geprüft, Kontext bereitgestellt und Rezensionen basierend auf der Suchanfrage des Nutzers abgerufen werden.

// 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
  }
}

Bei der Beispielsuche von Bangalore nach Mangaluru sieht die Ausgabe des Zusammenfassungstools so aus:

<Bus Provider X> erhielt im Allgemeinen positive Bewertungen für Komfort, Sauberkeit und Mitarbeiterservice. Einige Teilnehmer haben kleinere Probleme festgestellt, z. B. Verspätungen, unhöfliches Verhalten des Fahrers, fehlende Annehmlichkeiten (Live-Tracking, Decken) und Unannehmlichkeiten (Sitzgröße, schlechte Stoßdämpfer).

Diese Rezension erfüllt die angeforderten Anforderungen. Die positiven und negativen Aspekte werden in einem kurzen Absatz zusammengefasst, was viel leichter zu lesen ist als die 308 verfügbaren einzelnen Rezensionen.

Miravia hat E-Commerce-Rezensionen zusammengefasst

Miravia ist eine führende E-Commerce-Plattform in Spanien mit Millionen von monatlich aktiven Nutzern. Jedes Mal, wenn Nutzer Rezensionen filtern (z. B. nach Produktbewertung), wird eine neue Zusammenfassung generiert. Hier erhalten Sie einen kurzen Überblick über das Kundenfeedback, wobei Bedenken und Empfehlungen hervorgehoben werden.

Nutzer können Zusammenfassungen von Produktrezensionen für verschiedene Bewertungen generieren.

„Bisher mussten Nutzer zahlreiche einzelne Kommentare auf der Detailseite lesen, um die wichtigsten Vor- und Nachteile in Produktrezensionen zu erfahren. Mit der Summarizer API können Nutzer schnell einen Überblick über die allgemeine Stimmung der Kunden gewinnen. Diese Zusammenfassung wird dynamisch aktualisiert, wenn ein Nutzer die Rezensionen filtert (z. B. nach Sternbewertung oder anderen Kriterien). So erhalten Sie einen schnellen und umfassenden Überblick über relevantes Käuferfeedback.“

– Ziyi Liang, Senior Software Engineer, Miravia

Ursprünglich nutzte die Funktion zur Zusammenfassung von Nutzerrezensionen von Miravia einen serverseitigen KI-Dienst. Sie stellte fest, dass Gemini Nano mit clientseitiger KI vergleichbare Ergebnisse erzielen kann und dabei die Wartungskosten reduziert. Dieser Vorteil ist besonders bei beliebten, schnell verkauften Artikeln deutlich, deren Rezensionen ständig aktualisiert werden.

Die Implementierung von Miravia erfordert das Abrufen und Zusammenfassen von Rezensionen in Echtzeit, unabhängig davon, ob die Inferenz auf dem Server oder im Browser erfolgt. Clientseitige KI ist jedoch deutlich effizienter, wenn die Häufigkeit zunimmt. Sie ist mit der Gesamtleistung zufrieden.

Zuerst prüft Miravia die Funktions- und Gerätekompatibilität.

// 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.',
  };
};

Anschließend fasst Miravia die verfügbaren Rezensionen zusammen. Rezensionen werden durch einen zusätzlichen Punkt verbunden, um die Eingabe einheitlich zu gestalten.

/**
 * 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.'
    );
  }
};

Best Practices

Wenn die Eingabe für die Rezension das Tokenlimit überschreitet, gehen Sie so vor:

  • Verwenden Sie für die API eine kleinere Stichprobe, z. B. die letzten vier Rezensionen. So lassen sich schneller Ergebnisse erzielen. Weitere Informationen finden Sie in unserer Anleitung zum Skalieren der clientseitigen Zusammenfassung.
  • Die QuotaExceededError enthält weitere Informationen zu den angeforderten Tokens in der Eingabe. Das summarizer-Objekt hat die Eigenschaft inputQuota, die das Tokenlimit der API angibt. So erhalten Sie Echtzeitfeedback und können die Funktion deaktivieren, wenn die Eingabe das Limit überschreitet.

Sie können einen hybriden Ansatz in Betracht ziehen, um allen Nutzern eine nahtlose Nutzung zu ermöglichen. Wenn eine integrierte KI-API zum ersten Mal aufgerufen wird, muss der Browser das Modell herunterladen.

  • Miravia verwendete ein serverseitiges Modell, um eine erste Zusammenfassung bereitzustellen, während das Modell heruntergeladen wurde. Sobald das integrierte Modell bereit war, wurde auf der Website die clientseitige Inferenz verwendet.

Sie sollten immer eine freundliche und kommunikative Benutzeroberfläche schaffen:

  • Implementieren Sie eine Fortschrittsanzeige für den Modelldownload, um Antwortverzögerungen zu vermeiden.
  • Sorgen Sie für Transparenz beim Modelldownload. Bright Sites hat Nutzer über den Modelldownload informiert, um für Transparenz und Einwilligung bei der Ressourcennutzung zu sorgen. So können Nutzer die Einwilligung akzeptieren oder ablehnen, bevor sie fortfahren.

Schlussfolgerungen und Empfehlungen

Diese Praxisbeispiele von redBus und Miravia zeigen, wie die Summarizer API Nutzern durch prägnante, relevante Zusammenfassungen von Nutzerrezensionen dabei geholfen hat, schnell fundierte Entscheidungen zu treffen. Da die API clientseitig funktioniert, ohne zusätzliche Geschäftskosten zu verursachen und eine geringe technische Komplexität aufweist, ist sie eine gute Option für ähnliche Anwendungsfälle, in denen Informationen zusammengefasst werden müssen. Alle integrierten KI-APIs ermöglichen praktische clientseitige KI-Anwendungsfälle.

Sie möchten wissen, wie die Summarizer API bei anderen Anwendungsfällen helfen kann? Außerdem haben wir gezeigt, wie die Summarizer API dazu beiträgt, das Engagement bei Artikeln zu steigern.

Entwickeln Sie mit diesen APIs etwas Neues? Teilen Sie sie uns unter @ChromiumDev auf X oder Chromium für Entwickler auf LinkedIn mit.

Ressourcen

Danksagungen

Vielen Dank an Makakhov Andrey und Ziyi Liang von Miravia (Alibaba Group), Amit Kumar von redBus, Swetha Gopalakrishnan, Alexandra Klepper, Thomas Steiner und Kenji Baheux für ihre Unterstützung beim Erstellen und Überprüfen dieses Dokuments.