Data di pubblicazione: 16 maggio 2024
Quando fai acquisti online, può essere difficile gestire il volume di recensioni dei prodotti e il volume di prodotti disponibili. Come possiamo filtrare 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 garantire 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'IA 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 modello, utilizziamo l'IA 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 di Google AI per riepilogare i dati di molte recensioni. Ci concentriamo sulla parte dell'IA generativa di questo lavoro; non tratteremo come archiviare i risultati o creare una coda di job.
In pratica, potresti utilizzare qualsiasi API LLM con qualsiasi SDK. Tuttavia, il prompt suggerito potrebbe dover essere adattato in base al modello scelto.
Prerequisiti
Crea una chiave per l'API Gemini e definiscila nel file di ambiente.
Installa l'SDK JavaScript di Google AI, ad esempio con npm:
npm install @google/generative-ai
Creare un'applicazione di sintesi delle recensioni
- Inizializza un oggetto di IA generativa.
- Crea una funzione per generare riepiloghi delle recensioni.
- Seleziona il modello di IA 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 input multimodali). - Aggiungi un prompt.
- Richiama
generateContent
per passare il prompt come argomento. - Genera e restituisci la risposta.
- Seleziona il modello di IA 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;
}
Scrivi un prompt efficace
Il modo migliore per ottenere risultati con l'IA generativa è creare un prompt completo. In questo esempio abbiamo utilizzato la tecnica del prompt one-shot per ottenere output coerenti.
I prompt one-shot sono rappresentati dall'output di esempio che Gemini deve modellare.
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 esempio di output di questo prompt, che include un riepilogo di tutte le recensioni, oltre 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 revisioni possono raggiungere il limite di token del modello. I token non sono sempre uguali a una singola parola; un token può essere composto 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 in inglese di 30 parole, 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 app per le aziende
Se sei un utente Google Cloud o hai bisogno di assistenza aziendale, puoi accedere a Gemini Pro e ad altri modelli, come i modelli Claude di Anthropic, con Vertex AI. Puoi utilizzare Model Garden per determinare quale modello corrisponde meglio al tuo caso d'uso specifico.
Passaggi successivi
L'applicazione che abbiamo creato si basa in larga misura sulle revisioni della qualità per fornire i riepiloghi più efficaci. Per raccogliere queste recensioni di qualità, leggi l'articolo successivo di questa serie: Aiutare gli utenti a scrivere recensioni prodotto utili con l'AI web on-device.
Vogliamo conoscere la tua opinione in merito a questo approccio. Comunicaci i casi d'uso che ti interessano maggiormente. Puoi condividere il tuo feedback e partecipare al programma di anteprima per testare questa tecnologia con prototipi locali.
Il tuo contributo può aiutarci a rendere l'IA uno strumento potente e pratico per tutti.
Passaggio successivo: aiutare gli utenti a scrivere recensioni utili sui prodotti