תאריך פרסום: 16 במאי 2024
כשקונים באינטרנט, יכול להיות שיהיה קשה להתמודד עם נפח הביקורות על המוצרים והנפח של המוצרים הזמינים. איך אפשר להתגבר על כל הרעש הזה ולמצוא את המוצר שיענה על הצרכים הספציפיים שלנו?
לדוגמה, נניח שאנחנו מחפשים תיק גב לעבודה. תרמיקים צריכים לשלב בין פונקציונליות, אסתטיקה ומעשיות. מספר הביקורות הוא כה גדול, שבקושי אפשר לדעת אם מצאת את התיק המושלם. מה אם היינו יכולים להשתמש ב-AI כדי לסנן את הרעש ולמצוא את המוצר המושלם?
כדאי לראות סיכום של כל הביקורות, לצד רשימה של היתרונות והחסרונות הנפוצים ביותר.
כדי ליצור את התכונה הזו, אנחנו משתמשים ב-AI גנרטיבי בצד השרת. ההסקה מתבצעת בשרת.
במסמך הזה מופיע מדריך ל-Gemini API עם Node.js, שבו נעשה שימוש ב-Google AI JavaScript SDK כדי לסכם נתונים ממספר רב של ביקורות. אנחנו מתמקדים בחלק של ה-AI הגנרטיבי בעבודה הזו, ולא נסביר איך לאחסן תוצאות או ליצור תור משימות.
בפועל, אפשר להשתמש בכל ממשק LLM API עם כל SDK. עם זאת, יכול להיות שתצטרכו להתאים את ההנחיה המוצעת כך שתתאים למודל שבחרתם.
דרישות מוקדמות
יוצרים מפתח ל-Gemini API ומגדירים אותו בקובץ הסביבה.
מתקינים את Google AI JavaScript SDK, למשל באמצעות npm:
npm install @google/generative-ai
פיתוח אפליקציה לסיכום ביקורות
- איך מפעילים אובייקט של AI גנרטיבי
- יצירת פונקציה ליצירת סיכומי ביקורות.
- בוחרים את מודל הבינה המלאכותית הגנרטיבית. בדוגמה שלנו, נשתמש ב-Gemini Pro. כדאי להשתמש במודל ספציפי לתרחיש לדוגמה שלכם (לדוגמה,
gemini-pro-vision
מיועד לקלט מרובה מצבים). - מוסיפים הנחיה.
- קוראים ל-
generateContent
כדי להעביר את ההנחיה כארגומנט. - יוצרים את התשובה ומחזירים אותה.
- בוחרים את מודל הבינה המלאכותית הגנרטיבית. בדוגמה שלנו, נשתמש ב-Gemini Pro. כדאי להשתמש במודל ספציפי לתרחיש לדוגמה שלכם (לדוגמה,
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;
}
כתיבת הנחיה יעילה
הדרך הכי טובה להצליח עם בינה מלאכותית גנרטיבית היא לנסח הנחיה יסודית. בדוגמה הזו השתמשנו בשיטת יצירת הנחיות מדוגמה אחת כדי לקבל פלט עקבי.
הנחיה מדוגמה אחת מיוצגת על ידי הפלט לדוגמה ש-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):`;
זו דוגמה לפלט מההנחיה הזו, שכוללת סיכום של כל הביקורות, ורשימה של יתרונות וחסרונות נפוצים.
## 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.
מגבלות על אסימונים
ביקורות רבות עלולות להגיע למגבלת האסימונים של המודל. אסימונים לא תמיד שווים למילה אחת. אסימון יכול להיות חלק ממילה או כמה מילים יחד. לדוגמה, ב-Gemini Pro יש מגבלה של 30,720 טוקנים. המשמעות היא שההנחיה יכולה לכלול עד 600 ביקורות ממוצעות באורך 30 מילים באנגלית, בניכוי שאר ההוראות בהנחיה.
משתמשים ב-countTokens()
כדי לבדוק את מספר האסימונים ולצמצם את הקלט אם ההנחיה גדולה מהגודל המרבי.
const MAX_INPUT_TOKENS = 30720
const { totalTokens } = await model.countTokens(prompt);
if (totalTokens > MAX_INPUT_TOKENS) {
// Shorten the prompt.
}
פיתוח לארגונים
משתמשי Google Cloud או משתמשים שזקוקים לתמיכה ארגונית יכולים לגשת ל-Gemini Pro ולמודלים נוספים, כמו המודלים של Claude מבית Anthropic, באמצעות Vertex AI. מומלץ להשתמש ב-Model Garden כדי לקבוע איזה מודל מתאים ביותר לתרחיש לדוגמה הספציפי שלכם.
השלבים הבאים
האפליקציה שפיתחנו מסתמכת במידה רבה על ביקורות איכותיות כדי לספק את הסיכומים היעילים ביותר. כדי לאסוף את הביקורות האיכותיות האלה, כדאי לקרוא את המאמר הבא בסדרה: איך עוזרים למשתמשים לכתוב ביקורות מועילות על מוצרים באמצעות AI לאינטרנט במכשיר.
נשמח לשמוע ממך על הגישה הזו. ספרו לנו מהם התרחישים לדוגמה שהכי מעניינים אתכם. אתם יכולים לשתף את המשוב שלכם ולהצטרף לתוכנית התצוגה המקדימה המוקדמת כדי לבדוק את הטכנולוגיה הזו באמצעות אב טיפוס מקומי.
התרומה שלכם תעזור לנו להפוך את ה-AI לכלי חזק ומעשי לכולם.