Data di pubblicazione: 16 maggio 2024
Quando si fanno acquisti online, può essere difficile orientarsi tra la quantità di recensioni e di prodotti disponibili. Come possiamo fare ordine in tutto questo rumore per trovare il prodotto che soddisfi effettivamente le nostre esigenze specifiche?
Ad esempio, supponiamo di voler acquistare uno zaino da lavoro. Gli zaini devono soddisfare un equilibrio tra funzionalità, estetica e praticità. Il numero di recensioni rende quasi impossibile sapere se hai trovato la borsa perfetta. E se potessimo utilizzare l'AI per filtrare il rumore e trovare il prodotto perfetto?
Sarebbe utile un riepilogo di tutte le recensioni, insieme a un elenco dei pro e dei contro più comuni.
Per creare questo, utilizziamo l'AI generativa lato server. L'inferenza avviene su un server.
In questo documento, puoi seguire un tutorial per l' API Gemini con Node.js, utilizzando l'SDK JavaScript Google AI per riepilogare i dati di molte recensioni. Ci concentriamo sulla parte di AI generativa di questo lavoro; non spiegheremo come archiviare i risultati o creare una coda di job.
In pratica, puoi utilizzare qualsiasi API LLM con qualsiasi SDK. Tuttavia, il prompt suggerito potrebbe dover essere adattato al modello scelto.
Prerequisiti
Crea una chiave per l'API Gemini, e definiscila nel file di ambiente.
Installa l'SDK JavaScript Google AI, ad esempio con npm:
npm install @google/generative-ai
Creare un'applicazione di riepilogo delle recensioni
- Inizializza un oggetto di AI generativa.
- Crea una funzione per generare riepiloghi delle recensioni.
- Seleziona il modello di AI generativa. Per il nostro caso d'uso, utilizzeremo Gemini Pro. Utilizza un modello specifico per il tuo caso d'uso (ad esempio,
gemini-pro-visionè per l'input multimodale). - Aggiungi un prompt.
- Chiama
generateContentper passare il prompt come argomento. - Genera e restituisci la risposta.
- Seleziona il modello di AI generativa. Per il nostro caso d'uso, utilizzeremo Gemini Pro. Utilizza un modello specifico per il tuo caso d'uso (ad esempio,
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;
}
Scrivere un prompt efficace
Il modo migliore per avere successo con l'AI generativa è creare un prompt completo. In questo esempio, abbiamo utilizzato la tecnica di prompting one-shot per ottenere output coerenti.
Il prompting one-shot è rappresentato dall'output di esempio per il modello 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):`;
Ecco un output di esempio di questo prompt, che include un riepilogo di tutte le recensioni, insieme a un elenco di pro e contro comuni.
## 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.
Limiti di token
Molte recensioni possono raggiungere il limite di token del modello. I token non sono sempre uguali a una singola parola; un token può essere costituito da parti di una parola o da più parole insieme. Ad esempio, Gemini Pro ha un limite di 30.720 token. Ciò significa che il prompt può includere, al massimo, 600 recensioni medie di 30 parole in inglese, meno il resto delle istruzioni del prompt.
Utilizza countTokens()
per controllare il numero di token e ridurre l'input se il prompt è più grande di
quanto consentito.
const MAX_INPUT_TOKENS = 30720
const { totalTokens } = await model.countTokens(prompt);
if (totalTokens > MAX_INPUT_TOKENS) {
// Shorten the prompt.
}
Creare per le aziende
Se sei un utente di Google Cloud o hai bisogno di assistenza per le aziende, puoi accedere a Gemini Pro e ad altri modelli, come i modelli Claude di Anthropic, con Vertex AI. Potresti voler utilizzare Model Garden per determinare il modello più adatto al tuo caso d'uso specifico.
Passaggi successivi
L'applicazione che abbiamo creato si basa in gran parte su recensioni di qualità per fornire i riepiloghi più efficaci. Per raccogliere queste recensioni di qualità, leggi il prossimo articolo di questa serie: Aiutare gli utenti a scrivere recensioni prodotto utili con l'AI web on-device.
Vogliamo conoscere la tua opinione su questo approccio. Indicaci i casi d'uso che ti interessano di più. Puoi condividere il tuo feedback e partecipare al Programma Anteprima per testare questa tecnologia con prototipi locali.
Il tuo contributo può aiutarci a rendere l'AI uno strumento potente, ma pratico, per tutti.
Passaggio successivo: aiutare gli utenti a scrivere recensioni prodotto utili