Evalueer productrecensies met AI

Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

Gepubliceerd: 16 mei 2024

Bij online winkelen kan het overweldigend zijn om de enorme hoeveelheid productrecensies en het aanbod te zien. Hoe kunnen we door al die informatie heen filteren en het product vinden dat daadwerkelijk aan onze specifieke behoeften voldoet?

Stel, we zijn op zoek naar een rugtas voor op het werk. Rugtassen moeten een goede balans bieden tussen functionaliteit, esthetiek en gebruiksgemak. Door het enorme aantal reviews is het bijna onmogelijk om te weten of je de perfecte tas hebt gevonden. Wat als we AI zouden kunnen gebruiken om door al die reviews heen te filteren en het ideale product te vinden?

Een samenvatting van alle recensies, samen met een lijst van de meest voorkomende voor- en nadelen, zou erg nuttig zijn.

Een voorbeeld van een gebruikersrecensie met een sterrenwaardering en een lijst met voor- en nadelen.

Om dit te realiseren, gebruiken we server-side generatieve AI. De inferentie vindt plaats op een server.

In dit document kunt u een handleiding volgen voor de Gemini API met Node.js , waarbij de Google AI JavaScript SDK wordt gebruikt om gegevens uit meerdere recensies samen te vatten. We richten ons op het generatieve AI-gedeelte van dit werk; we behandelen niet hoe u resultaten opslaat of een taakwachtrij aanmaakt.

In de praktijk kunt u elke LLM API met elke SDK gebruiken. De voorgestelde prompt moet echter mogelijk worden aangepast aan het model dat u kiest.

Voorwaarden

  1. Maak een sleutel aan voor de Gemini API en definieer deze in uw omgevingsbestand.

  2. Installeer de Google AI JavaScript SDK, bijvoorbeeld met npm: npm install @google/generative-ai

Ontwikkel een applicatie voor het samenvatten van recensies.

  1. Initialiseer een generatief AI-object .
  2. Ontwikkel een functie om samenvattingen van recensies te genereren.
    1. Selecteer het generatieve AI-model. Voor ons voorbeeld gebruiken we Gemini Pro. Kies een model dat specifiek is voor uw toepassing (bijvoorbeeld gemini-pro-vision voor multimodale invoer).
    2. Voeg een prompt toe.
    3. Roep generateContent aan om de prompt als argument door te geven.
    4. Genereer en retourneer het antwoord.
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;
}

Schrijf een effectieve opdracht.

De beste manier om succesvol te zijn met generatieve AI is door een grondige prompt te creëren. In dit voorbeeld hebben we de eenmalige prompttechniek gebruikt om consistente resultaten te verkrijgen.

Eenmalige prompting wordt weergegeven door de voorbeeldoutput die Gemini gebruikt om te modelleren.

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

Hier is een voorbeeld van de uitvoer van deze prompt, met een samenvatting van alle beoordelingen, samen met een lijst van veelvoorkomende voor- en nadelen.

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

Tokenlimieten

Veel recensies kunnen de tokenlimiet van het model bereiken. Tokens zijn niet altijd gelijk aan één woord; een token kan bestaan ​​uit delen van een woord of uit meerdere woorden samen. Gemini Pro heeft bijvoorbeeld een tokenlimiet van 30.720. Dit betekent dat de prompt maximaal 600 recensies van gemiddeld 30 woorden in het Engels kan bevatten, exclusief de rest van de promptinstructies.

Gebruik countTokens() om het aantal tokens te controleren en de invoer te beperken als de prompt groter is dan toegestaan.

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

Ontwikkeld voor bedrijven

Als u een Google Cloud-gebruiker bent of anderszins zakelijke ondersteuning nodig hebt, kunt u via Vertex AI toegang krijgen tot Gemini Pro en meer modellen, zoals de Claude-modellen van Anthropic. U kunt Model Garden gebruiken om te bepalen welk model het beste bij uw specifieke gebruikssituatie past.

Volgende stappen

De applicatie die we hebben ontwikkeld, is sterk afhankelijk van kwalitatieve reviews om de meest effectieve samenvattingen te kunnen geven. Om deze kwalitatieve reviews te verzamelen, lees je het volgende artikel in deze reeks: Help gebruikers nuttige productreviews te schrijven met web-AI op hun apparaat .

We willen graag uw mening over deze aanpak horen. Vertel ons welke toepassingsscenario's u het meest interesseren. U kunt uw feedback delen en deelnemen aan het Early Preview Program om deze technologie met lokale prototypes te testen.

Jouw bijdrage kan ons helpen om van AI een krachtig, maar ook praktisch instrument voor iedereen te maken.

Volgende: Gebruikers helpen bij het schrijven van nuttige productrecensies