Evalúa las opiniones sobre productos con IA

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

Fecha de publicación: 16 de mayo de 2024

Cuando compras en línea, puede ser abrumador ver el volumen de opiniones sobre los productos y el volumen de productos disponibles. ¿Cómo podemos ordenar todo este ruido para encontrar el producto que realmente satisfaga nuestras necesidades específicas?

Por ejemplo, supongamos que queremos comprar una mochila para el trabajo. Las mochilas deben tener un equilibrio en función, estética y practicidad. La cantidad de opiniones hace que sea casi imposible saber si encontraste el bolso perfecto. ¿Y si pudiéramos usar la IA para examinar el ruido y encontrar el producto perfecto?

Lo que sería útil es un resumen de todas las opiniones, junto con una lista de las ventajas y desventajas más comunes.

Ejemplo de opinión de un usuario con aspectos positivos y negativos destacados.
Ejemplo de opinión de un usuario con una calificación por estrellas y una lista de ventajas y desventajas.

Para compilarlo, usamos IA generativa del servidor. La inferencia se produce en un servidor.

En este documento, puedes seguir un instructivo sobre la API de Gemini con Node.js y usar el SDK de Google AI JavaScript para resumir los datos de muchas opiniones. Nos enfocamos en la parte de IA generativa de este trabajo. No explicaremos cómo almacenar resultados ni crear una cola de trabajo.

En la práctica, puedes usar cualquier API de LLM con cualquier SDK. Sin embargo, es posible que se deba adaptar la instrucción sugerida para que cumpla con el modelo que elijas.

Requisitos previos

  1. Crea una clave para la API de Gemini y defínela en tu archivo de entorno.

  2. Instala el SDK de Google AI para JavaScript, por ejemplo, con npm: npm install @google/generative-ai

Compila una aplicación para generar resúmenes de opiniones

  1. Inicializa un objeto de IA generativa.
  2. Crea una función para generar resúmenes de opiniones.
    1. Selecciona el modelo de IA generativa. Para nuestro caso de uso, usaremos Gemini Pro. Usa un modelo que sea específico para tu caso de uso (por ejemplo, gemini-pro-vision es para entrada multimodal).
    2. Agrega una instrucción.
    3. Llama a generateContent para pasar la instrucción como argumento.
    4. Genera y muestra la respuesta.
const { GoogleGenerativeAI } = require("@google/generative-ai");

// Access the API key env
const genAI = new GoogleGenerativeAI(process.env.API_KEY_GEMINI);

async function generateReviewSummary(reviews) {
  // Use gemini-pro model for text-only input
  const model = genAI.getGenerativeModel({ model: "gemini-pro" });
  // Shortened for legibility. See "Write an effective prompt" for
  // writing an actual production-ready prompt.
  const prompt = `Summarize the following product reviews:\n\n${reviews}`;
  const result = await model.generateContent(prompt);
  const response = await result.response;
  const summary = response.text();
  return summary;
}

Escribe una instrucción efectiva

La mejor manera de tener éxito con la IA generativa es crear una instrucción detallada. En este ejemplo, usamos la técnica de instrucciones únicas para obtener resultados coherentes.

Las instrucciones únicas se representan con el resultado de ejemplo para que Gemini las modele.

const prompt =
`I will give you user reviews for a product. Generate a short summary of the
reviews, with focus on the common positive and negative aspects across all of
the reviews. Use the exact same output format as in the example (list of
positive highlights, list of negative aspects, summary). In the summary,
address the potential buyer with second person ("you", "be aware").

Input (list of reviews):
// ... example

Output (summary of reviews):
// ... example

**Positive highlights**
// ... example
**Negative aspects**
// ... example
**Summary**
// ... example

Input (list of reviews):
${reviews}

Output (summary of all input reviews):`;

Este es un ejemplo de resultado de esta instrucción, que incluye un resumen de todas las opiniones, junto con una lista de ventajas y desventajas comunes.

## Summary of Reviews:

**Positive highlights:**

* **Style:** Several reviewers appreciate the backpack's color and design.
* **Organization:** Some users love the compartments and find them useful for
  organization.
* **Travel & School:** The backpack seems suitable for both travel and school
  use, being lightweight and able to hold necessary items.

**Negative aspects:**

* **Durability:** Concerns regarding the zipper breaking and water bottle holder
  ripping raise questions about the backpack's overall durability.
* **Size:** A few reviewers found the backpack smaller than expected.
* **Material:** One user felt the material was cheap and expressed concern about
  its longevity.

**Summary:**

This backpack seems to be stylish and appreciated for its organization and
suitability for travel and school. However, you should be aware of potential
durability issues with the zippers and water bottle holder. Some users also
found the backpack smaller than anticipated and expressed concerns about the
material's quality.

Límites de tokens

Muchas opiniones pueden alcanzar el límite de tokens del modelo. Los tokens no siempre son iguales a una sola palabra; pueden ser partes de una palabra o varias palabras juntas. Por ejemplo, Gemini Pro tiene un límite de 30,720 tokens. Esto significa que la instrucción puede incluir, como máximo, 600 opiniones promedio de 30 palabras en inglés, menos el resto de las instrucciones de la instrucción.

Usa countTokens() para verificar la cantidad de tokens y reducir la entrada si la instrucción es más grande de lo permitido.

const MAX_INPUT_TOKENS = 30720
const { totalTokens } = await model.countTokens(prompt);
if (totalTokens > MAX_INPUT_TOKENS) {
    // Shorten the prompt.
}

Cómo crear contenido para empresas

Si eres usuario de Google Cloud o necesitas asistencia empresarial, puedes acceder a Gemini Pro y a más modelos, como los modelos Claude de Anthropic, con Vertex AI. Te recomendamos que uses Model Garden para determinar qué modelo se ajusta mejor a tu caso de uso específico.

Próximos pasos

La aplicación que creamos se basa en gran medida en las opiniones de calidad para brindar los resúmenes más efectivos. Para recopilar esas opiniones de calidad, lee el siguiente artículo de esta serie: Ayuda a los usuarios a escribir opiniones de productos útiles con la IA web integrada en el dispositivo.

Nos gustaría conocer tu opinión acerca de este enfoque. Cuéntanos qué casos de uso te resultan más interesantes. Puedes compartir tus comentarios y unirte al programa de versión preliminar anticipada para probar esta tecnología con prototipos locales.

Tu contribución puede ayudarnos a hacer de la IA una herramienta poderosa, pero práctica, para todos.

Siguiente: Ayuda a los usuarios a escribir opiniones sobre productos útiles