Veröffentlicht: 16. Mai 2024
Beim Onlineshopping kann es überwältigend sein, die Menge an Produktrezensionen und die Menge an verfügbaren Produkten zu sehen. Wie können wir uns durch all diesen „Rausch“ hindurcharbeiten, um das Produkt zu finden, das tatsächlich unseren spezifischen Anforderungen entspricht?
Angenommen, Sie suchen einen Arbeitsrucksack. Rucksäcke müssen eine Balance zwischen Funktionalität, Ästhetik und Zweckmäßigkeit bieten. Aufgrund der großen Anzahl an Rezensionen ist es fast unmöglich zu erkennen, ob Sie die perfekte Tasche gefunden haben. Was wäre, wenn wir mithilfe von KI das Durcheinander aussortieren und das perfekte Produkt finden könnten?
Hilfreich wäre eine Zusammenfassung aller Rezensionen sowie eine Liste der häufigsten Vor- und Nachteile.
Dazu verwenden wir serverseitige generative KI. Die Inferenz erfolgt auf einem Server.
In diesem Dokument finden Sie eine Anleitung für die Gemini API mit Node.js, in der das Google AI JavaScript SDK verwendet wird, um Daten aus vielen Rezensionen zusammenzufassen. Wir konzentrieren uns auf den Teil dieser Arbeit, der sich mit generativer KI befasst. Wir gehen nicht darauf ein, wie Ergebnisse gespeichert oder eine Jobwarteschlange erstellt wird.
In der Praxis können Sie jede LLM API mit jedem SDK verwenden. Der vorgeschlagene Prompt muss jedoch möglicherweise an das ausgewählte Modell angepasst werden.
Vorbereitung
Erstellen Sie einen Schlüssel für die Gemini API und definieren Sie ihn in Ihrer Umgebungsdatei.
Installieren Sie das Google AI JavaScript SDK, z. B. mit npm:
npm install @google/generative-ai
Anwendung zum Zusammenfassen von Rezensionen erstellen
- Initialisieren Sie ein generatives KI-Objekt.
- Funktion zum Generieren von Rezensionszusammenfassungen erstellen
- Wählen Sie das generative KI-Modell aus. Für unseren Anwendungsfall verwenden wir Gemini Pro. Verwenden Sie ein Modell, das für Ihren Anwendungsfall spezifisch ist (z. B.
gemini-pro-vision
für eine multimodale Eingabe). - Prompt hinzufügen.
- Rufen Sie
generateContent
auf, um den Prompt als Argument zu übergeben. - Generieren Sie die Antwort und geben Sie sie zurück.
- Wählen Sie das generative KI-Modell aus. Für unseren Anwendungsfall verwenden wir Gemini Pro. Verwenden Sie ein Modell, das für Ihren Anwendungsfall spezifisch ist (z. B.
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;
}
Einen effektiven Prompt schreiben
Der beste Weg, mit generativer KI erfolgreich zu sein, besteht darin, einen umfassenden Prompt zu erstellen. In diesem Beispiel haben wir das One-Shot-Prompting verwendet, um konsistente Ergebnisse zu erzielen.
Das One-Shot-Prompting wird durch die Beispielausgabe dargestellt, die Gemini modellieren soll.
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 ist eine Beispielausgabe für diesen Prompt, die eine Zusammenfassung aller Rezensionen sowie eine Liste der häufigsten Vor- und Nachteile enthält.
## 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.
Token limits
Bei vielen Rezensionen kann das Tokenlimit des Modells erreicht werden. Tokens entsprechen nicht immer einem einzelnen Wort. Ein Token kann aus Teilen eines Wortes oder aus mehreren Wörtern bestehen. Gemini Pro hat beispielsweise ein Tokenlimit von 30.720. Das bedeutet, dass der Prompt maximal 600 Rezensionen in englischer Sprache mit durchschnittlich 30 Wörtern enthalten kann, abzüglich der restlichen Promptanweisungen.
Verwenden Sie countTokens()
, um die Anzahl der Tokens zu prüfen und die Eingabe zu reduzieren, wenn der Prompt größer als zulässig ist.
const MAX_INPUT_TOKENS = 30720
const { totalTokens } = await model.countTokens(prompt);
if (totalTokens > MAX_INPUT_TOKENS) {
// Shorten the prompt.
}
Für Unternehmen entwickeln
Wenn Sie Google Cloud-Nutzer sind oder anderweitig Unternehmenssupport benötigen, können Sie mit Vertex AI auf Gemini Pro und weitere Modelle wie die Claude-Modelle von Anthropic zugreifen. Mit Model Garden können Sie ermitteln, welches Modell am besten zu Ihrem Anwendungsfall passt.
Nächste Schritte
Die von uns entwickelte Anwendung basiert stark auf Qualitätsprüfungen, um möglichst effektive Zusammenfassungen zu erstellen. Wie Sie diese hochwertigen Rezensionen erfassen, erfahren Sie im nächsten Artikel dieser Reihe: Nutzer mit On-Device-Web-KI dabei unterstützen, nützliche Produktrezensionen zu verfassen.
Wir würden gerne Ihre Meinung zu diesem Ansatz hören. Teilen Sie uns mit, welche Anwendungsfälle Sie am meisten interessieren. Sie können Ihr Feedback geben und am Early Access-Programm teilnehmen, um diese Technologie mit lokalen Prototypen zu testen.
Mit Ihrem Beitrag können wir KI zu einem leistungsstarken, aber praktischen Tool für alle machen.
Nächster Schritt: Nutzern helfen, nützliche Produktrezensionen zu verfassen