כששולחים קריאה ל-Gemini API מהאפליקציה באמצעות SDK של Vertex AI in Firebase, הבקשה מכילה מספר פרמטרים ששולטים בתשובות של AI גנרטיבי. בדרך כלל, הם כוללים את שם המודל, הגדרות היצירה של המודל (אסימונים מקסימליים, טמפרטורה וכו'), הגדרות הבטיחות, הוראות המערכת ונתוני ההנחיה.
ברוב המקרים, כדאי לשנות את ההגדרות האלה על פי דרישה או לפי הצורך במספר תרחישים:
- עדכון מודל ה-AI הגנרטיבי בלי להשיק אפליקציה חדשה. תוכלו לשדרג לגרסאות מודל חדשות ויציבות לפני שהגרסאות הקודמות יוצאו משימוש, לעבור למודלים עם עלות נמוכה יותר או ביצועים טובים יותר על סמך הצרכים והמאפיינים של המשתמשים, או לפרוס באופן מותנה את המודלים החדשים והמתקדמים ביותר לפלחים ספציפיים של משתמשים (כמו בודקי בטא).
- מגדירים את המיקום שממנו ניגשים למודל כך שיהיה קרוב יותר למשתמשים.
- כדאי לערוך בדיקות A/B של הוראות והנחיות שונות למערכת, ולאחר מכן להשיק בהדרגה את הערכים הזוכים מהניסוי למשתמשים.
- אתם יכולים להשתמש בדגלים של תכונות כדי לחשוף או להסתיר במהירות תכונות מבוססות-AI גנרטיבי באפליקציה.
Firebase Remote Config עושה את כל זה ועוד, ומאפשר לכם לעדכן את ערכי הפרמטרים לפי הצורך ובאופן מותנה עבור מכונות של אפליקציות שתואמות למאפיינים שהגדרתם במסוף Firebase, בלי לשחרר גרסה חדשה של האפליקציה.
במדריך הפתרונות הזה מפורטים תרחישים לדוגמה ספציפיים לשימוש ומתואר איך להוסיף את Remote Config לאפליקציית ה-AI הגנרטיבי.
למה כדאי להשתמש ב-Firebase Remote Config באפליקציה?
Firebase Remote Config מאפשרת לשנות באופן דינמי את התנהגות האפליקציה בלי צורך בעדכוני אפליקציה. האפשרות הזו שימושית במיוחד לאפליקציות שמשתמשות ב-AI גנרטיבי, שבהן חשוב מאוד לבצע חזרות מהירות ולשפר את התוצאות.
תרחישים לדוגמה לשימוש ב-Remote Config עם אפליקציות של AI גנרטיבי
מומלץ להשתמש ב-Remote Config עם Vertex AI in Firebase בתרחישי השימוש הבאים:
- שדרוג לגרסה האחרונה של המודל בלי עדכון האפליקציה: משתמשים בפרמטרים Remote Config כדי לשנות את שם המודל לפי הצורך, וכך אפשר לשדרג לגרסה האחרונה של מודל Gemini המועדף ברגע שהיא זמינה.
- עדכון ההוראות וההגדרות הבטיחותיות של המערכת בלי עדכון האפליקציה: כדאי לאחסן את ההוראות וההגדרות הבטיחותיות של המערכת בפרמטרים של Remote Config כדי לוודא שתוכלו לשנות אותן על פי דרישה אם תגלו בעיות אחרי הפריסה.
- צמצום הסיכונים ואכיפת הבטיחות של AI: אתם יכולים להשתמש בRemote Configהשקות כדי להשיק שינויים ב-AI הגנרטיבי למשתמשים ב-iOS וב-Android בצורה בטוחה ובהדרגה.
תרחישים מתקדמים ומומלצים לדוגמה ל-Remote Config עם אפליקציות של AI גנרטיבי
אחרי שמטמיעים את האפליקציה באמצעות Remote Config ו-Google Analytics, אפשר לבדוק תרחישים מתקדמים לדוגמה:
- הגדרת מיקום על סמך המיקום של הלקוח: משתמשים בתנאי Remote Config כדי להגדיר את המיקום של המודל על סמך המיקום שזוהה הלקוח.
- התנסות עם מודלים שונים: אפשר לבדוק במהירות מודלים שונים של בינה מלאכותית גנרטיבית ולעבור ביניהם, או אפילו לפרוס מודלים שונים לפלחי משתמשים שונים, כדי למצוא את ההתאמה הכי טובה לתרחיש הספציפי לדוגמה שלכם.
- אופטימיזציה של ביצועי המודל: שינוי מדויק של הפרמטרים של המודל, כמו הנחיה למערכת, אסימוני פלט מקסימליים, טמפרטורה והגדרות אחרות.
משתמשים בהוראות מערכת, בהנחיות ובהגדרות שונות של המודל בהתאם למאפייני הלקוח: כשמשתמשים ב-Remote Config עם Google Analytics, אפשר ליצור תנאים לפי מאפייני לקוח או קהלים בהתאמה אישית, ולהגדיר פרמטרים שונים לפי המאפיינים האלה.
לדוגמה, אם אתם משתמשים ב-AI גנרטיבי כדי לספק תמיכה טכנית באפליקציה, כדאי להגדיר הוראות מערכת ספציפיות לפלטפורמת האפליקציה כדי לוודא שההוראות יהיו מדויקות למשתמשים ב-Android, ב-iOS ובפלטפורמת האינטרנט.
התאמה אישית של חוויות לכל משתמש: אתם יכולים להשתמש בהתאמה אישית של Remote Config כדי לקבוע באופן אוטומטי את ההגדרות האופטימליות של ה-AI הגנרטיבי לכל משתמש.
שליטה בעלויות: אפשר לשנות מרחוק את המודלים של ה-AI הגנרטיבי שאליהם יישלחו קריאות, את התדירות שבה הם ישמשו ולהגדיר באופן דינמי את ערכי האסימונים המקסימליים של הפלט על סמך קהל המשתמשים, כדי לצמצם עלויות מיותרות.
אופטימיזציה של חוויית השימוש באפליקציה והתוצאות: אפשר להשתמש ב-A/B Testing עם Remote Config באפליקציות ל-iOS, ל-Android ול-Flutter כדי לבדוק שינויים בפרמטרים של AI גנרטיבי בפלחים שונים של משתמשים, ולראות איך הם משפיעים על מדדים מרכזיים כמו שימור משתמשים והכנסות.
כשמשתמשים ב-Firebase Remote Config באפליקציות עם AI גנרטיבי, אפשר ליצור אפליקציות גמישות, בטוחות וחסכוניות מבוססות-AI, תוך יצירת חוויות משתמש מהנות.
הוספת Firebase Remote Config לאפליקציה
במדריך הפתרון הזה תלמדו איך להשתמש ב-Firebase Remote Config כדי לעדכן באופן דינמי פרמטרים באפליקציה ל-Android שמשתמשת ב-SDK של Vertex AI in Firebase. תלמדו איך:
- אחזור והפעלה של פרמטרים כמו שמות מודלים והוראות מערכת מ-Firebase Remote Config.
- מעדכנים את הקריאות ל-Gemini API כך שישתמשו בפרמטרים שאוחזרו באופן דינמי, וכך תוכלו לעבור בין מודלים שונים או לשנות את הוראות המערכת בלי לעדכן את האפליקציה.
- לשלוט בפרמטרים מרחוק, ולשנות את ההתנהגות והיכולות של המודל לפי הצורך.
דרישות מוקדמות
במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם מכירים את השימוש ב-JavaScript לפיתוח אפליקציות אינטרנט. המדריך הזה לא תלוי בסביבה. לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
מסיימים את המדריך לתחילת העבודה עם ה-SDK של Vertex AI in Firebase. חשוב לוודא שכל הפעולות הבאות בוצעו:
- מגדירים פרויקט Firebase חדש או קיים, כולל שימוש בתוכנית התמחור Blaze והפעלת ממשקי ה-API הנדרשים.
- מקשרים את האפליקציה ל-Firebase, כולל רישום האפליקציה והוספת ההגדרות של Firebase לאפליקציה.
- מוסיפים את ה-SDK ומפעילים את שירות Vertex AI ואת המודל הגנרטיבי באפליקציה.
מפעילים את Google Analytics בפרויקט ומוסיפים את ה-SDK שלו לאפליקציה (נדרש לטירגוט מותנה, כמו הגדרת המיקום של השירות והמודל על סמך המיקום של מכשיר הלקוח).
שלב 1: מגדירים ערכי פרמטרים במסוף Firebase
יוצרים תבנית Remote Config של לקוח ומגדירים פרמטרים וערכים לאחזור ולשימוש באפליקציה.
- פותחים את מסוף Firebase, בתפריט הניווט מרחיבים את Run ובוחרים באפשרות Remote Config.
- מוודאים שהאפשרות Client מסומנת בבורר Client/Server בחלק העליון של הדף Remote Config.
- אם זו הפעם הראשונה שאתם משתמשים בתבניות הלקוח של Remote Config, לוחצים על Create Configuration. החלונית Create your first parameter מופיעה.
- אם זו לא הפעם הראשונה שאתם משתמשים בתבניות Remote Config, לוחצים על Add parameter.
מגדירים את הפרמטרים הבאים של Remote Config:
שם הפרמטר תיאור סוג ערך ברירת המחדל model_name
שם הדגם. רשימות עדכניות של שמות מודלים לשימוש בקוד מפורטות במאמר שמות מודלים זמינים. String gemini-1.5-flash
system_instructions
הוראות המערכת הן מעין 'הקדמה' שמוסיפים לפני שהמודל נחשף להוראות נוספות של משתמש הקצה כדי להשפיע על התנהגות המודל, על סמך צרכים ספציפיים ותרחישים לדוגמה. String You are a helpful assistant who knows everything there is to know about Firebase!
prompt
הנחיה שמוגדרת כברירת מחדל לשימוש עם תכונה מבוססת-AI גנרטיבי. String I am a developer who wants to know more about Firebase!
vertex_location
אפשר גם לקבוע את המיקום כדי להפעיל את השירות Vertex AI ולגשת למודל. אפשר להגדיר תנאים כדי להגדיר את האפשרות הזו על סמך מיקום הלקוח שזוהה על ידי Google Analytics. String us-central1
כשמסיימים להוסיף פרמטרים, לוחצים על פרסום השינויים. אם זו לא תבנית Remote Config חדשה, בודקים את השינויים ולוחצים שוב על פרסום השינויים.
שלב 2: הוספה והפעלה של ה-SDK של Remote Config
מוסיפים את ה-SDK של Remote Config ומפעילים אותו:
פותחים את הקוד בכלי לעריכת טקסט ומטמיעים את Remote Config:
import { getRemoteConfig } from 'firebase/remote-config';
בפונקציה הראשית, אחרי שמאתחלים את אפליקציית Firebase ל-Vertex AI in Firebase SDK, מאתחלים את Remote Config:
// Initialize Remote Config and get a reference to the service const remoteConfig = getRemoteConfig(app);
מגדירים מרווח זמן אחזור מינימלי. בדוגמה הזו, מרווח האחזור שמוגדר כברירת מחדל הוא 3,600 שניות, אבל מומלץ להגדיר מרווח אחזור מינימלי נמוך יחסית בקוד במהלך הפיתוח.
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
שלב 3: הגדרת ערכי פרמטרים באפליקציה
צריך להגדיר ערכי ברירת מחדל של פרמטרים באפליקציה באובייקט Remote Config, כדי שהאפליקציה תהיה פונקציונלית לפני שהיא מתחברת לקצה העורפי של Remote Config, אם הגישה של הלקוח לרשת מופסקת ו/או אם לא מוגדרים ערכים בקצה העורפי.
בדוגמה הזו מגדירים באופן ידני ערכי ברירת מחדל עבור שם המודל, הוראות המערכת, ההנחיה למשתמש והמיקום של Vertex AI:
// Set default Remote Config parameter values
remoteConfig.defaultConfig = {
model_name: 'gemini-1.5-flash',
system_instructions:
'You are a helpful assistant who knows everything there is to know about Firebase!',
prompt: 'I am a developer who wants to know more about Firebase!',
vertex_location: 'us-central1',
};
שלב 4: אחזור והפעלה של ערכים
מוסיפים את
getValue
ו-fetchAndActivate
לייבוא:import { getValue, fetchAndActivate } from 'firebase/remote-config';
אחרי הקוד שהוספתם להגדרת ערכי ברירת המחדל של Remote Config, מאחזרים את ההגדרות ומפעילים אותן, ואז מקצים ערכים למשתנים הקבועים
modelName
,systemInstructions
,prompt
ו-vertexLocation
.// Fetch and activate Remote Config. try { await fetchAndActivate(remoteConfig); } catch(err) { console.error('Remote Config fetch failed', err); } console.log('Remote Config fetched.'); // Assign Remote Config values. const modelName = getValue(remoteConfig, 'model_name').asString(); const systemInstructions = getValue(remoteConfig, 'system_instructions').asString(); const prompt = getValue(remoteConfig, 'prompt').asString(); const vertexLocation = getValue(remoteConfig, 'vertex_location').asString();
שלב 5: מעדכנים את הקריאות של Vertex AI כך שישתמשו בערכי Remote Config
עכשיו, אחרי שהגדרתם את Remote Config באופן מלא, עליכם לעדכן את הקוד כדי להחליף ערכים שמוגדרים באופן קבוע בערכים שמקורם ב-Remote Config. לדוגמה, אם השתמשתם בדוגמה שמופיעה במאמר תחילת השימוש ב-Gemini API באמצעות Vertex AI ב-Firebase SDKs, עליכם לעדכן אותה באופן הבא:
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Vertex AI service
// Optionally specify a location in which to run the service and access the model
const vertexAI = getVertexAI(firebaseApp, { location: vertexLocation });
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
const model = getGenerativeModel(vertexAI, {
model: modelName,
systemInstruction: systemInstruction
});
// Wrap in an async function so you can use await
async function run() {
// Provide a prompt that contains text
const userPrompt = prompt;
// To generate text output, call generateContent with the text input
const result = await model.generateContent(userPrompt);
const response = result.response;
const text = response.text();
console.log(text);
}
שלב 6: מריצים את האפליקציה
מפעילים את האפליקציה ומוודאים שהיא פועלת. מבצעים שינויים בהגדרות בדף Remote Config במסוף Firebase, מפרסמים את השינויים ומאמתים את התוצאה.
השלבים הבאים
- מידע נוסף על Remote Config
- כדי להפעיל טירגוט, מוסיפים את הקוד Google Analytics לקוד.