Évaluer des avis sur des produits avec l'IA

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

Lors d'un achat en ligne, il peut être difficile de voir la quantité de produits et le volume de produits disponibles. Comment pouvons-nous trier toutes ce bruit pour trouver le produit qui répondra réellement à nos besoins spécifiques ?

Par exemple, supposons que nous achetions un sac à dos de travail. Les sacs à dos doivent respecter équilibre entre la fonction, l'esthétique et l'aspect pratique. Le nombre d'avis fait il est presque impossible de savoir si vous avez trouvé le sac parfait. Et si nous pouvions utilisent l'IA pour faire le tri et trouver le produit idéal ?

Il serait utile d'avoir un résumé de tous les avis, ainsi qu'une liste des des avantages et des inconvénients courants.

<ph type="x-smartling-placeholder">
</ph> Exemple d&#39;avis d&#39;utilisateur avec des points forts et des points négatifs
Exemple d'avis d'utilisateur avec une note, ainsi que les avantages et les inconvénients

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

Dans ce document, vous pouvez suivre un didacticiel l'API Gemini avec Node.js, à l'aide du SDK JavaScript de l'IA de Google pour résumer les données de nombreux avis. Nous nous concentrons sur la partie de ce travail consacrée à l'IA générative, nous ne verrons pas comment stocker les résultats ou créer une file d'attente de jobs.

En pratique, vous pouvez utiliser n'importe quelle API LLM avec n'importe quel SDK. Toutefois, la requête suggérée devra peut-être être adaptée au modèle choisi.

Prérequis

  1. Créez une clé pour l'API Gemini. et la définir 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 synthèse 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. Dans notre cas d'utilisation, nous utiliserons Gemini Pro. Utilisez un modèle spécifique à votre cas d'utilisation (par exemple, gemini-pro-vision) est destiné à l'entrée multimodale).
    2. Ajoutez une requête.
    3. Appelez generateContent pour transmettre la requête 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;
}

Rédiger une requête efficace

La meilleure façon de réussir avec l'IA générative est de créer une requête détaillée. Dans cet exemple, nous avons utilisé la technique de requête one-shot pour obtenir des résultats cohérents.

La requête one-shot est représentée 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 cette requête, qui inclut un résumé de toutes d'évaluation, 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 constitué de parties d'un mot ou de plusieurs mots ensemble. Pour exemple, Gemini Pro une limite de 30 720 jetons. Cela signifie que la requête peut inclure au maximum 600 impressions en moyenne Avis de 30 mots en anglais, sans le reste des instructions dans la requête.

Utiliser countTokens() pour vérifier le nombre de jetons et réduire l'entrée si la requête est supérieure à autorisé.

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 utilisez Google Cloud ou si vous avez besoin de la formule d'assistance Enterprise, vous pouvez accédez à Gemini Pro et à d'autres modèles, comme ceux d'Anthropic Claude, avec Vertex AI. Vous voudrez peut-être utiliser Model Garden pour déterminer le modèle correspond le mieux à votre cas d'utilisation spécifique.

Étapes suivantes

L'application que nous avons développée s'appuie en grande partie sur des évaluations de la qualité pour offrir des résumés efficaces. Pour ce faire, lisez l'article suivant cette série est Aidez les utilisateurs à rédiger des avis utiles sur les produits grâce à l'IA Web sur l'appareil.

Votre avis nous intéresse. Indiquez-nous les cas d'utilisation les plus courants qui vous intéressent. Vous pouvez faites-nous part de vos commentaires et rejoignez le programme en accès anticipé pour tester cette technologie avec des prototypes locaux.

Votre contribution peut nous aider à faire de l'IA un outil à la fois puissant et pratique pour tout le monde.

Étape suivante: Aider les utilisateurs à rédiger des avis utiles sur les produits