Ocenianie opinii o produktach za pomocą AI

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux

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 plew wśród całego tego szumu informacyjnego, aby znaleźć produkt, który rzeczywiście spełni nasze potrzeby?

Załóżmy, że szukamy plecaka do pracy. Plecaki muszą łączyć funkcjonalność, estetykę i praktyczność. Liczba opinii sprawia, że trudno jest stwierdzić, czy znalazłeś idealną torbę. A co, jeśli moglibyśmy użyć AI, aby odsiać ziarno od plew i znaleźć idealny produkt?

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

Przykładowa opinia użytkownika z wyróżnionymi pozytywnymi i negatywnymi aspektami
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 omawiamy 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 podsumowywania opinii

  1. Inicjuje obiekt 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. Wygeneruj i zwróć 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 korzystanie z generatywnej AI jest tworzenie dokładnych promptów. 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 dla modelu 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 przekroczyć 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 po angielsku (średnio 30 słów na opinię) bez instrukcji promptu.

Użyj polecenia 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. Aby określić, który model najlepiej pasuje do Twojego przypadku użycia, możesz skorzystać z Model Garden.

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 następny 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 przekazać opinię i dołączyć do programu wczesnej wersji zapoznawczej, aby przetestować tę technologię z lokalnymi prototypami.

Dzięki Twojemu wsparciu AI może stać się potężnym, a jednocześnie praktycznym narzędziem dla wszystkich.

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