לפעמים קשה לראות את נפח המוצרים בקניות באינטרנט. ואת כמות המוצרים הזמינים. איך נוכל למיין את כל את הרעש כדי למצוא את המוצר שבאמת יענה על הצרכים הספציפיים שלנו?
לדוגמה, נניח שאנחנו קונים תיק גב לעבודה. תרמילים צריכים לעמוד איזון בתפקוד, אסתטיקה ומעשיות. מספר הביקורות כמעט בלתי אפשרי לדעת אם מצאת את התיק המושלם. מה אם היינו יכולים להשתמש ב‐AI כדי לסנן את הרעש ולמצוא את המוצר המושלם?
המידע שיהיה שימושי הוא סיכום של כל הביקורות, יחד עם רשימה של יתרונות וחסרונות נפוצים.
כדי לפתח את היכולות האלה, אנחנו משתמשים ב-AI גנרטיבי בצד השרת. ההסקה מתרחשת בשרת.
במסמך הזה תוכלו להיעזר במדריך על Gemini API עם Node.js, להשתמש ב-Google AI JavaScript SDK כדי לסכם נתונים מביקורות רבות. אנחנו מתמקדים בחלק של הבינה המלאכותית הגנרטיבית, לא נסביר איך לאחסן תוצאות או ליצור תור משימות.
בפועל, אפשר להשתמש בכל LLM API עם כל SDK. אבל, יכול להיות שתצטרכו להתאים את ההנחיה המוצעת למודל בהתאם למודל שבחרתם.
דרישות מוקדמות
יוצרים מפתח ל-Gemini API, ולהגדיר אותו בקובץ הסביבה.
מתקינים את SDK של Google AI JavaScript, לדוגמה באמצעות 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 ולמודלים נוספים, כמו המודלים של Anthropic's Claude, Vertex AI. מומלץ להשתמש Model Garden כדי לקבוע איזה מודל הכי מתאים לתרחיש הספציפי לדוגמה שלכם.
השלבים הבאים
היישום שפיתחנו מסתמך בעיקר על בדיקות איכות כדי להפיק את המרב וסיכומים יעילים. כדי לאסוף את הביקורות האיכותיות האלה, אפשר לקרוא את המאמר הבא בנושא הסדרה הזאת משתמשים ב-AI לאינטרנט במכשיר כדי לכתוב ביקורות מועילות על מוצרים.
חשוב לנו לשמוע מה דעתך על הגישה הזו. מהם התרחישים לדוגמה הנפוצים ביותר? מעניין אותך. אפשר לשתף משוב והצטרפות לתוכנית של טרום-השקה (Preview) כדי לבדוק את הטכנולוגיה הזו עם אבות טיפוס מקומיים.
התוכן שהוספת יכול לעזור לנו להפוך את ה-AI לכלי רב-עוצמה אך פרקטי, לכולם.