La API de Summarizer ayuda a redBus y Miravia a crear resúmenes útiles de las opiniones de los usuarios.

Cecilia Cong
Cecilia Cong
Hadyan Andika
Hadyan Andika

Fecha de publicación: 15 de mayo de 2025

Los sitios web con opiniones de los usuarios, como los sitios de comercio electrónico o de viajes, suelen tener un gran volumen de información. Esto puede hacer que los usuarios demoren mucho tiempo en analizar muchas opiniones para decidir si realizar una compra. Proporcionar resúmenes de opiniones puede ayudar a los usuarios a comprender los comentarios y ahorrar tiempo. Descubre cómo redBus y Miravia usan la API de Summarizer para mejorar la toma de decisiones y la experiencia de compra.

Explicación Web Extensiones Estado de Chrome Intent
GitHub Detrás de una bandera Prueba de Origin Detrás de una bandera Prueba de Origin Ver Intención de envío

La API de Summarizer te permite generar diferentes tipos de resúmenes en diferentes formatos y longitudes, como oraciones, párrafos, listas de viñetas y mucho más. Esta API, como muchas de nuestras APIs de IA integradas, usa Gemini Nano para realizar inferencias.

redBus ayuda a los clientes a decidir la mejor opción de autobús

redBus es el proveedor de autobuses más grande de la India, con más de 30 millones de clientes, que brinda servicios de autobuses en aproximadamente 10,000 ciudades y pueblos, conectados a nivel nacional. A través de los datos y los comentarios, redBus se dio cuenta de que las opiniones generadas por los usuarios juegan un papel importante para ayudar a los clientes a determinar qué ruta y qué autobús es mejor para sus necesidades de viaje. redBus recibe un gran volumen de opiniones, y cada una es específica de los puntos y la hora de llegada y salida exactos.

Para ayudar a los clientes a comprender a un nivel alto ciertas ciudades o rutas, usan la API de Summarizer para presentar estadísticas clave de las opiniones relevantes.

Un cliente busca una ruta de Bangalore a Mangaluru. El resumidor analiza las opiniones disponibles y captura una descripción general útil para ayudar a los clientes a encontrar el mejor autobús para su viaje.

"La API de Summarizer pudo crear resúmenes de calidad a partir de nuestra gran cantidad de opiniones y permutaciones de búsquedas de los usuarios. Esta función del cliente quitó la complejidad técnica y el costo comercial adicional que habría en una alternativa del servidor. Esto es importante para nosotros porque este caso de uso forma parte del embudo de conversión".

— Amit Kumar, gerente sénior de Ingeniería, redBus

El nivel de detalle de las opiniones que se almacenan en el backend de redBus, combinado con la gran cantidad de permutaciones posibles en las búsquedas de los usuarios (con variables como los horarios de salida y llegada, el punto de embarque específico en la ciudad y los diferentes operadores de autobuses), dificulta destacar estadísticas específicas de las opiniones. Con ese volumen de datos, un resumen del servidor para cada consulta de búsqueda sería prohibitivo en términos de costos.

Para generar resúmenes eficaces, redBus proporciona el siguiente contexto a la API de Summarizer, además de las opiniones de los clientes:

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

Los resúmenes mejoran la toma de decisiones de los clientes, sin costos comerciales ni complejidad técnica adicionales. Además, redBus puede personalizar el resumen para las preferencias de viaje de los usuarios que accedieron, como la comodidad de los asientos o la disponibilidad de Wi-Fi. Inferencia del cliente, lo que significa que esta búsqueda y este resumen permanecen privados para el usuario.

Consulta un ejemplo de código breve que verifica la disponibilidad del Resumen, proporciona contexto y recupera opiniones en función de la búsqueda del usuario.

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

Con la búsqueda de ejemplo de Bangalore a Mangaluru, el resultado del resumidor es el siguiente:

<Bus Provider X> recibió opiniones positivas en general por su comodidad, limpieza y servicio del personal. Algunos experimentaron problemas menores, como demoras, comportamiento del conductor (grosero), falta de comodidades (seguimiento en vivo, mantas) y molestias (tamaño de los asientos, amortiguadores deficientes).

Esta opinión cumple con los requisitos solicitados, con aspectos positivos y negativos en un párrafo breve, que es mucho más fácil de leer que las 308 opiniones individuales disponibles.

Miravia resumió las opiniones sobre comercio electrónico

Miravia es una plataforma de comercio electrónico líder en España, con millones de usuarios activos mensuales. Cada vez que los usuarios filtran las opiniones (por ejemplo, por calificación del producto), se genera un resumen nuevo. Esto proporciona una descripción general concisa de los comentarios de los clientes, en la que se destacan las inquietudes y las recomendaciones.

Los usuarios pueden generar resúmenes de opiniones de productos para diferentes calificaciones.

"Anteriormente, para comprender las ventajas y desventajas clave de las opiniones sobre productos, los usuarios debían leer numerosos comentarios individuales en la página de detalles. Para ayudar a los usuarios a comprender rápidamente la opinión general de los clientes, presentamos la API de Summarizer. Este resumen se actualiza de forma dinámica cada vez que un usuario filtra las opiniones (por ejemplo, por calificación por estrellas o por otros criterios), lo que proporciona una descripción general rápida y completa de los comentarios relevantes de los compradores".

— Ziyi Liang, ingeniero sénior de software, Miravia

Inicialmente, la función de resumen de opiniones de los usuarios de Miravia se basaba en un servicio de IA del servidor. Descubrieron que Gemini Nano ejecutando IA del cliente puede generar resultados comparables, con una reducción en los costos de mantenimiento. Esta ventaja es particolarmente clara para los artículos populares y de venta rápida, cuyas opiniones se actualizan constantemente.

Si bien la implementación de Miravia requiere la recuperación y el resumen de opiniones en tiempo real, ya sea que la inferencia se produzca en el servidor o en el navegador, la IA del cliente es notablemente más eficiente a medida que aumenta la frecuencia. y están satisfechos con su rendimiento general.

Primero, Miravia verifica la compatibilidad de las funciones y los dispositivos.

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

Luego, Miravia resume las opiniones disponibles. Las opiniones se unen con un punto adicional para que la entrada sea más coherente.

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

Prácticas recomendadas

Si la entrada de revisión supera el límite de tokens, sigue estas mitigaciones:

  • Usa una muestra más pequeña (como las 4 opiniones más recientes) en la API. Esto ayuda a generar resultados más rápido. Consulta nuestra guía sobre cómo escalar el resumen del cliente.
  • QuotaExceededError proporciona más información sobre los tokens solicitados en la entrada. El objeto summarizer tiene una propiedad inputQuota que indica el límite de tokens de la API. Esto permite obtener comentarios en tiempo real y inhabilitar la funcionalidad si la entrada supera el límite.

Te recomendamos que consideres un enfoque híbrido para garantizar una experiencia fluida para todos los usuarios. La primera vez que se llama a una API de IA integrada, el navegador debe descargar el modelo.

  • Miravia usó un modelo del servidor para proporcionar un resumen inicial mientras se descargaba el modelo. Una vez que el modelo integrado estuvo listo, el sitio comenzó a realizar la inferencia del cliente.

Siempre debes esforzarte por crear una interfaz amigable y comunicativa:

  • Implementa una barra de progreso para las descargas de modelos y mitiga las demoras en las respuestas.
  • Considera la transparencia sobre la descarga del modelo. Bright Sites notificó a los usuarios sobre la descarga del modelo para permitir la transparencia y el consentimiento del uso de los recursos. De esta manera, los usuarios pueden aceptar o rechazar la solicitud antes de continuar.

Conclusiones y recomendaciones

Estos ejemplos reales de redBus y Miravia demuestran cómo la API de Summarizer ayudó a los usuarios a tomar decisiones fundamentadas con rapidez, ya que proporciona resúmenes concisos y relevantes de las opiniones de los usuarios. La capacidad de la API para funcionar del lado del cliente, sin costo empresarial adicional y baja complejidad técnica, la convierte en una opción viable para casos de uso similares en los que se debe resumir la información. Todas las APIs de IA integradas habilitan casos de uso prácticos de IA del cliente.

¿Te preguntas cómo la API de Summarizer puede ayudar con otros casos de uso? También compartimos cómo la API de Summarizer ayuda a aumentar la participación en los artículos.

¿Estás compilando algo nuevo con estas APIs? Compártelo con nosotros en @ChromiumDev en X o en Chromium para desarrolladores en LinkedIn.

Recursos

Agradecimientos

Gracias a Makakhov Andrey y Ziyi Liang de Miravia (Alibaba Group), Amit Kumar de redBus, Swetha Gopalakrishnan, Alexandra Klepper, Thomas Steiner y Kenji Baheux por ayudar a escribir y revisar este documento.