Évaluer des avis sur des produits avec l'IA

Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

Publié le 16 mai 2024

Lorsque vous faites des achats en ligne, il peut être difficile de s'y retrouver parmi le volume d'avis sur les produits et le nombre de produits disponibles. Comment faire le tri pour trouver le produit qui répondra réellement à vos besoins spécifiques ?

Supposons, par exemple, que vous recherchiez un sac à dos pour le travail. Il doit être à la fois fonctionnel, esthétique et pratique. Le nombre d'avis rend presque impossible de savoir si vous avez trouvé le sac idéal. Et si vous pouviez utiliser l'IA pour faire le tri et trouver le produit parfait ?

Un résumé de tous les avis, ainsi qu'une liste des avantages et des inconvénients les plus courants, seraient utiles.

Exemple d'avis d'utilisateur avec une note en étoiles et une liste des avantages et des inconvénients

Pour ce faire, nous utilisons l'IA générative côté serveur. L'inférence se produit sur un serveur.

Dans ce document, vous pouvez suivre un tutoriel sur l' API Gemini avec Node.js, en utilisant le SDK JavaScript de Google AI pour résumer les données de nombreux avis. Nous nous concentrons sur la partie IA générative de ce travail. Nous n'aborderons pas le stockage des résultats ni la création d'une file d'attente de tâches.

En pratique, vous pouvez utiliser n'importe quelle API LLM avec n'importe quel SDK. Toutefois, vous devrez peut-être adapter le prompt suggéré au modèle que vous choisissez.

Prérequis

  1. Créez une clé pour l'API Gemini, et définissez-la dans votre fichier d'environnement.

  2. Installez le SDK JavaScript de Google AI, par exemple avec npm : npm install @google/generative-ai

Créer une application de résumé d'avis

  1. Initialisez un objet d'IA générative.
  2. Créez une fonction pour générer des résumés d'avis.
    1. Sélectionnez le modèle d'IA générative. Pour notre cas d'utilisation, nous allons utiliser Gemini Pro. Utilisez un modèle spécifique à votre cas d'utilisation (par exemple, gemini-pro-vision pour une entrée multimodale).
    2. Ajoutez un prompt.
    3. Appelez generateContent pour transmettre le prompt en tant qu'argument.
    4. Générez et renvoyez la réponse.
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;
}

Écrire un prompt efficace

Pour réussir avec l'IA générative, vous devez créer un prompt complet. Dans cet exemple, nous avons utilisé la technique de prompt one-shot pour obtenir des résultats cohérents.

Le prompt one-shot est représenté par l'exemple de résultat que Gemini doit modéliser.

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):`;

Voici un exemple de résultat de ce prompt, qui inclut un résumé de tous les avis, ainsi qu'une liste des avantages et des inconvénients courants.

## 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.

Limites de jetons

De nombreux avis peuvent atteindre la limite de jetons du modèle. Les jetons ne sont pas toujours égaux à un seul mot. Un jeton peut être une partie d'un mot ou plusieurs mots ensemble. Par exemple, Gemini Pro a une limite de 30 720 jetons. Cela signifie que le prompt peut inclure au maximum 600 avis de 30 mots en anglais, moins le reste des instructions du prompt.

Utilisez countTokens() pour vérifier le nombre de jetons et réduire l'entrée si le prompt est plus grand que la limite autorisée.

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

Concevoir des applications pour les entreprises

Si vous êtes un utilisateur Google Cloud ou si vous avez besoin d'une assistance pour les entreprises, vous pouvez accéder à Gemini Pro et à d'autres modèles, tels que les modèles Claude d'Anthropic, avec Gemini Enterprise Agent Platform. Vous pouvez utiliser Model Garden pour déterminer le modèle le plus adapté à votre cas d'utilisation spécifique.

Étapes suivantes

L'application que nous avons créée repose fortement sur des avis de qualité pour fournir les résumés les plus efficaces. Pour collecter ces avis de qualité, consultez l'article suivant de cette série : Aider les utilisateurs à rédiger des avis utiles sur les produits avec l'IA Web sur l'appareil.

Nous aimerions connaître votre avis sur cette approche. Dites-nous quels cas d'utilisation vous intéressent le plus. Vous pouvez nous faire part de vos commentaires et rejoindre le programme Early Preview pour tester cette technologie avec des prototypes locaux.

Votre contribution peut nous aider à faire de l'IA un outil puissant, mais pratique, pour tous.

Suivant : Aider les utilisateurs à rédiger des avis utiles sur les produits