Evalueer productrecensies met AI

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux

Wanneer u online winkelt, kan het overweldigend zijn om het aantal productrecensies en het aantal beschikbare producten te zien. Hoe kunnen we al deze ruis doorzoeken om het product te vinden dat daadwerkelijk aan onze specifieke behoeften voldoet?

Stel dat we bijvoorbeeld een werkrugzak kopen. Rugzakken moeten een evenwicht vinden in functionaliteit, esthetiek en bruikbaarheid. Door het aantal reviews is het bijna onmogelijk om te weten of jij de perfecte tas hebt gevonden. Wat als we AI zouden kunnen gebruiken om de ruis te doorzoeken en het perfecte product te vinden?

Wat nuttig zou zijn, is een samenvatting van alle beoordelingen, naast een lijst met de meest voorkomende voor- en nadelen.

Voorbeeld gebruikersrecensie met positieve en negatieve hoogtepunten.
Een voorbeeld van een gebruikersrecensie met een sterbeoordeling en een lijst met voor- en nadelen.

Om dit te bouwen, gebruiken we generatieve AI aan de serverzijde. Inferentie vindt plaats op een server.

In dit document kunt u een tutorial volgen voor de Gemini API met Node.js , waarbij u de Google AI JavaScript SDK gebruikt om gegevens uit veel recensies samen te vatten. We concentreren ons op het generatieve AI-gedeelte van dit werk; we gaan niet in op het opslaan van resultaten of het maken van een taakwachtrij.

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

Vereisten

  1. Maak een sleutel 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

Bouw een toepassing voor het samenvatten van recensies

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

De beste manier om succesvol te zijn met generatieve AI is door een grondige prompt te creëren. In dit voorbeeld hebben we de one-shot prompting- techniek gebruikt om consistente uitvoer te krijgen.

Eenmalige prompts worden weergegeven door de voorbeelduitvoer die Gemini kan 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 voorbeelduitvoer van deze prompt, die een samenvatting van alle beoordelingen bevat, naast een lijst met 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 beoordelingen kunnen de tokenlimiet van het model bereiken. Tokens zijn niet altijd gelijk aan een enkel woord; een token kan uit delen van een woord bestaan, of uit meerdere woorden samen. Gemini Pro heeft bijvoorbeeld een limiet van 30.720 tokens. Dit betekent dat de prompt maximaal 600 recensies van gemiddeld 30 woorden in het Engels kan bevatten, minus de rest van de promptinstructies.

Gebruik countTokens() om het aantal tokens te controleren en de invoer te verminderen 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.
}

Bouw voor ondernemingen

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

Volgende stappen

De applicatie die we hebben gebouwd is sterk afhankelijk van kwaliteitsbeoordelingen om de meest effectieve samenvattingen te geven. Om deze kwaliteitsrecensies te verzamelen, leest u het volgende artikel in deze serie: Help gebruikers nuttige productrecensies te schrijven met web-AI op het apparaat .

Wij horen graag van u over deze aanpak. Vertel ons welke gebruiksscenario's u het meest interesseren. U kunt uw feedback delen en deelnemen aan het vroege preview-programma om deze technologie te testen met lokale prototypes.

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

Volgende: Help gebruikers nuttige productrecensies te schrijven