Ocenianie opinii o produktach za pomocą AI

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

Data publikacji: 16 maja 2024 r.

Robiąc zakupy online, można być przytłoczonym liczbą opinii o produktach i dostępnych produktów. Jak możemy odsiać ziarno od plewu i znaleźć produkt, który rzeczywiście spełni nasze potrzeby?

Załóżmy, że szukamy plecaka do pracy. Plecaki muszą spełniać równowagę pod względem funkcjonalności, estetyki i praktyki. Liczba opinii sprawia, że trudno jest stwierdzić, czy znalazłeś idealną torbę. A gdybyśmy mogli użyć sztucznej inteligencji, aby przeszukać szum i znaleźć idealny produkt?

Przydatne byłoby podsumowanie wszystkich opinii wraz z listą najczęstszych zalet i wad.

Przykładowa opinia użytkownika z pozytywnymi i negatywnymi informacjami.
Przykładowa opinia z gwiazdkami i listą zalet i wad.

Aby to zrobić, używamy generatywnej AI po stronie serwera. Wnioskowanie odbywa się na serwerze.

W tym dokumencie znajdziesz samouczek dotyczący korzystania z interfejsu Gemini API w Node.js, w którym do podsumowania danych z wielu opinii wykorzystasz pakiet Google AI JavaScript SDK. W tym artykule skupiamy się na generatywnej AI. Nie opisujemy sposobów przechowywania wyników ani tworzenia kolejki zadań.

W praktyce możesz używać dowolnego interfejsu LLM API z dowolnym pakietem SDK. Może jednak być konieczne dostosowanie sugerowanego promptu do wybranego modelu.

Wymagania wstępne

  1. Utwórz klucz interfejsu Gemini API i zdefiniuj go w pliku środowiska.

  2. Zainstaluj pakiet SDK Google AI JavaScript, np. za pomocą npm:npm install @google/generative-ai

Tworzenie aplikacji do streszczenia opinii

  1. Inicjowanie obiektu generatywnej AI.
  2. Utwórz funkcję generującą podsumowania opinii.
    1. Wybierz model generatywnej AI. W naszym przypadku użyjemy Gemini Pro. Użyj modelu odpowiedniego do Twojego przypadku użycia (np. gemini-pro-vision służy do danych multimodalnych).
    2. Dodaj prompt.
    3. Zadzwoń do generateContent, aby przekazać prompt jako argument.
    4. wygenerować i zwrócić odpowiedź,
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;
}

Tworzenie skutecznych promptów

Najlepszym sposobem na skuteczne wykorzystanie generatywnej AI jest utworzenie dokładnego prompta. W tym przykładzie użyliśmy techniki promptów typu „one-shot”, aby uzyskać spójne wyniki.

Prompt jednorazowy jest reprezentowany przez przykładowe dane wyjściowe do modelowania przez Gemini.

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

Oto przykładowy wynik działania tego prompta, który zawiera podsumowanie wszystkich opinii oraz listę typowych zalet i wad.

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

Limity tokenów

Wiele opinii może osiągnąć limit tokenów modelu. Tokeny nie zawsze odpowiadają pojedynczemu słowu. Mogą to być części słowa lub wiele słów razem. Na przykład Gemini Pro ma limit 30 720 tokenów. Oznacza to, że prompt może zawierać maksymalnie 600 opinii składających się z 30 słów w języku angielskim, z wyłączeniem pozostałych instrukcji.

Użyj funkcji countTokens(), aby sprawdzić liczbę tokenów i zredukować dane wejściowe, jeśli prompt jest większy niż dozwolona wartość.

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

Tworzenie aplikacji dla firm

Jeśli jesteś użytkownikiem Google Cloud lub potrzebujesz pomocy dla firm, możesz uzyskać dostęp do Gemini Pro i większej liczby modeli, takich jak modele Claude firmy Anthropic, za pomocą Vertex AI. Możesz użyć bazy modeli, aby określić, który model najlepiej pasuje do Twojego konkretnego przypadku użycia.

Dalsze kroki

Aplikacja, którą stworzyliśmy, opiera się w dużej mierze na opiniach o wysokiej jakości, aby zapewnić najbardziej skuteczne podsumowania. Aby dowiedzieć się, jak zbierać wysokiej jakości opinie, przeczytaj kolejny artykuł z tej serii: Pomagamy użytkownikom pisać przydatne opinie o produktach za pomocą AI na urządzeniu.

Chętnie poznamy Twoją opinię na temat tego podejścia. Powiedz nam, które przypadki użycia najbardziej Cię interesują. Możesz podzielić się opinią i dołączyć do programu wczesnej wersji przedpremierowej, aby testować tę technologię na lokalnych prototypach.

Publikowane przez Ciebie treści pomogą nam uczynić AI potężnym, a zarazem praktycznym narzędziem dla wszystkich.

Dalej: pomaganie użytkownikom w pisaniu przydatnych opinii o produktach