Opublikowano: 16 maja 2024 r.
Podczas zakupów online można się poczuć przytłoczonym liczbą opinii o produktach i dostępnych produktów. Jak odróżnić wartościowe informacje od szumu informacyjnego i znaleźć produkt, który spełni nasze konkretne potrzeby?
Załóżmy na przykład, że szukamy plecaka do pracy. Plecak musi łączyć w sobie funkcjonalność, estetykę i praktyczność. Liczba opinii sprawia, że niemal niemożliwe jest stwierdzenie, czy znalazłeś(-aś) idealną torbę. A gdybyśmy mogli użyć AI do przefiltrowania szumu i znalezienia idealnego produktu?
Przydatne byłoby podsumowanie wszystkich opinii wraz z listą najczęstszych zalet i wad.

Do tego celu używamy generatywnej AI po stronie serwera. Wnioskowanie odbywa się na serwerze.
W tym dokumencie znajdziesz samouczek dotyczący interfejsu Gemini API z Node.js, w którym za pomocą pakietu Google AI JavaScript SDK podsumujesz dane z wielu opinii. Skupimy się na części dotyczącej generatywnej AI. Nie będziemy omawiać przechowywania wyników ani tworzenia kolejki zadań.
W praktyce możesz używać dowolnego interfejsu API LLM z dowolnym pakietem SDK. Sugerowany prompt może jednak wymagać dostosowania do wybranego modelu.
Wymagania wstępne
Utwórz klucz interfejsu Gemini API i zdefiniuj go w pliku środowiska.
Zainstaluj pakiet Google AI JavaScript SDK, np. za pomocą npm:
npm install @google/generative-ai
Tworzenie aplikacji do podsumowywania opinii
- Inicjowanie obiektu generatywnej AI
- Utwórz funkcję generującą podsumowania opinii.
- Wybierz model generatywnej AI. W naszym przypadku użyjemy Gemini Pro. Użyj modelu, który jest dostosowany do Twojego przypadku użycia (np.
gemini-pro-vision
jest przeznaczony do danych wejściowych multimodalnych). - Dodaj prompt.
- Zadzwoń pod numer
generateContent
, aby przekazać prompt jako argument. - Wygeneruj i zwróć odpowiedź.
- Wybierz model generatywnej AI. W naszym przypadku użyjemy Gemini Pro. Użyj modelu, który jest dostosowany do Twojego przypadku użycia (np.
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;
}
Pisanie skutecznych promptów
Aby skutecznie korzystać z generatywnej AI, musisz utworzyć szczegółowy prompt. W tym przykładzie użyliśmy techniki promptów typu „one-shot”, aby uzyskać spójne wyniki.
Prompt z 1 przykładem jest reprezentowany przez przykładowe dane wyjściowe, które Gemini ma modelować.
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ładowe dane wyjściowe tego prompta, które zawierają podsumowanie wszystkich opinii oraz listę najczęstszych 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 są równe pojedynczemu słowu. Mogą to być części słowa lub kilka słów razem. Na przykład Gemini Pro ma limit 30 720 tokenów. Oznacza to, że prompt może zawierać maksymalnie 600 opinii o średniej długości 30 słów w języku angielskim, pomniejszonych o pozostałe instrukcje promptu.
Użyj countTokens()
, aby sprawdzić liczbę tokenów i zmniejszyć liczbę danych wejściowych, jeśli prompt jest większy niż dozwolony.
const MAX_INPUT_TOKENS = 30720
const { totalTokens } = await model.countTokens(prompt);
if (totalTokens > MAX_INPUT_TOKENS) {
// Shorten the prompt.
}
Tworzenie aplikacji dla dużych przedsiębiorstw
Jeśli korzystasz z Google Cloud lub potrzebujesz pomocy dla firm, możesz uzyskać dostęp do Gemini Pro i innych modeli, np. modeli Claude od Anthropic, za pomocą Vertex AI. Aby określić, który model najlepiej pasuje do Twojego konkretnego przypadku użycia, możesz skorzystać z bazy modeli.
Dalsze kroki
Stworzona przez nas aplikacja w dużej mierze opiera się na opiniach o wysokiej jakości, aby generować jak najskuteczniejsze podsumowania. Aby zbierać wysokiej jakości opinie, przeczytaj kolejny artykuł z tej serii: Pomaganie użytkownikom w pisaniu przydatnych opinii o produktach za pomocą sztucznej inteligencji w internecie na urządzeniu.
Chętnie poznamy Twoją opinię na ten temat. Powiedz nam, które przypadki użycia najbardziej Cię interesują. Możesz podzielić się swoją opinią i dołączyć do programu wczesnego dostępu, aby przetestować tę technologię na lokalnych prototypach.
Twój wkład pomoże nam uczynić AI potężnym, ale praktycznym narzędziem dla wszystkich.
Dalej: Pomagaj użytkownikom pisać przydatne opinie o produktach