תאריך פרסום: 20 במאי 2025
כדי לענות על הצרכים של המשתמשים, לא משנה באיזו פלטפורמה או חומרה הם משתמשים, אתם יכולים להגדיר מעבר חזרה לענן באמצעות Firebase AI Logic עבור Prompt API המובנה.
יצירת חוויית AI היברידית
ה-AI המובנה מגיע עם מספר יתרונות, ובעיקר:
- עיבוד מקומי של נתונים רגישים: אם אתם עובדים עם נתונים רגישים, אתם יכולים להציע למשתמשים תכונות AI עם הצפנה מקצה לקצה.
- שימוש ב-AI במצב אופליין: המשתמשים יכולים לגשת לתכונות מבוססות-AI, גם כשהם במצב אופליין או כשהחיבור שלהם לאינטרנט לא פעיל
היתרונות האלה לא חלים על אפליקציות בענן, אבל אתם יכולים לספק חוויה חלקה למשתמשים שלא יכולים לגשת ל-AI מובנה.
איך מתחילים להשתמש ב-Firebase
איך יוצרים פרויקט Firebase ומוסיפים את Firebase לאפליקציית האינטרנט
פרויקטים ב-Firebase הם פרויקטים ב-Google Cloud, עם הגדרות ושירותים ספציפיים ל-Firebase. מידע נוסף על Google Cloud ו-Firebase
התקנת ה-SDK
תהליך העבודה הזה משתמש ב-npm ודורש כלי חבילה של מודולים או כלי מסגרת JavaScript. Firebase AI Logic מותאם לעבודה עם כלי לאיגוד מודולים כדי להסיר קוד שלא נמצא בשימוש ולהקטין את הגודל של ה-SDK.
מתקינים את Firebase JS SDK:
npm install firebase
הגדרה ואבטחה של Firebase AI Logic
במסוף Firebase, עוברים אל AI Services (שירותי AI) > AI Logic (לוגיקת AI).
לוחצים על Get started (תחילת העבודה) כדי להפעיל את תהליך ההגדרה.
כשמתבקשים לבחור 'ספק Gemini API', מומלץ לבחור באפשרות Gemini Developer API, שמאפשרת להתחיל במהירות ללא עלות.
בכל שלב מאוחר יותר, תמיד אפשר להגדיר את Vertex AI Gemini API (ואת דרישת החיוב שלו).
ממשיכים בתהליך העבודה במסוף כדי להגדיר את ממשקי ה-API הנדרשים ואת השירותים המשויכים ל-Firebase AI Logic.
החל מתחילת יולי 2026, בשלב הזה של תהליך העבודה, השימוש ב-Firebase App Check ללוגיקת AI נאכף באופן אוטומטי. זהו שירות חיוני שעוזר להגן על Gemini API כשניגשים אליו ישירות מהאפליקציה. כחלק מההתחלה (ראו את השלבים בהמשך המדריך הזה), תצטרכו להגדיר את ספק ניפוי הבאגים של App Check לפיתוח מקומי כש-App Check נאכף.
כדי להגדיר את ספק הניפוי באגים של App Check לפיתוח מקומי, ואז לשלוח את הבקשה הראשונה ל-Gemini API, ממשיכים לקרוא את הקטעים הבאים במדריך הזה.
הגדרת ספק ניפוי הבאגים של App Check לפיתוח מקומי
כך משתמשים בספק ניפוי הבאגים בזמן הפעלת האפליקציה מ-localhost
באופן אינטראקטיבי (לדוגמה, במהלך פיתוח מקומי):
בגרסת הניפוי באגים, מפעילים את מצב ניפוי הבאגים על ידי הגדרת הערך
self.FIREBASE_APPCHECK_DEBUG_TOKENל-trueלפני שמפעילים את App Check. לדוגמה:self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; initializeAppCheck(app, { /* App Check options */ });נכנסים לאפליקציית האינטרנט באופן מקומי ופותחים את הכלים למפתחים בדפדפן. במסוף הניפוי באגים יוצג אסימון ניפוי באגים:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.רושמים את טוקן הניפוי באגים ב-App Check:
במסוף Firebase, עוברים אל Security (אבטחה) > App Check (בדיקת אפליקציות) > הכרטיסייה Apps (אפליקציות).
מוצאים את האפליקציה, לוחצים על תפריט האפשרויות הנוספות () ובוחרים באפשרות ניהול אסימוני ניפוי באגים.
פועלים לפי ההוראות במסך כדי לרשום את אסימון הניפוי באגים.
פרטים על ספק הניפוי (כולל איך מקבלים אסימון ניפוי חדש) מופיעים במסמכים הרשמיים של App Check.
שליחת בקשה ל-Gemini API
מזינים הנחיה למודל באמצעות טקסט או קלט multimodal. דוגמאות מפורטות בקטעי המשנה הבאים במדריך הזה.
הנחיות טקסטואליות
אתם יכולים להשתמש בטקסט פשוט כדי לתת הוראות למודל. לדוגמה, אתם יכולים לבקש מהמודל לספר לכם בדיחה.
יש כמה אפשרויות לניתוב הבקשה:
כדי להשתמש ב-AI המובנה כברירת מחדל כשהוא זמין, צריך להגדיר את
modeלערך'prefer_on_device'בפונקציהgetGenerativeModel(). אם המודל המובנה לא זמין, הבקשה תעבור בצורה חלקה לשימוש במודל הענן (אם אתם מחוברים לאינטרנט).כדי להשתמש במודל הענן כברירת מחדל כשאתם מחוברים לאינטרנט, צריך להגדיר את
modeלערך'prefer_in_cloud'בפונקציהgetGenerativeModel(). אם אתם אופליין, הבקשה תעבור בצורה חלקה לשימוש ב-AI המובנה כשהוא יהיה זמין.
// Initialize the Google AI service.
const googleAI = getAI(firebaseApp);
// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(googleAI, { mode: 'prefer_on_device' });
const prompt = 'Tell me a joke';
const result = await model.generateContentStream(prompt);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log('Complete response', await result.response);
הנחיות מולטי-מודאליות
אתם יכולים גם להשתמש בתמונות או באודיו כדי לתת הנחיות, בנוסף לטקסט. אפשר לבקש מהמודל לתאר את התוכן של תמונה או לתמלל קובץ אודיו.
צריך להעביר את התמונות כמחרוזת מקודדת ב-Base64 כאובייקט Firebase FileDataPart
באמצעות פונקציית העזר fileToGenerativePart().
// Converts a File object to a `FileDataPart` object.
// https://firebase.google.com/docs/reference/js/vertexai.filedatapart
async function fileToGenerativePart(file) {
const base64EncodedDataPromise = new Promise((resolve) => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result.split(',')[1]);
reader.readAsDataURL(file);
});
return {
inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
};
}
const fileInputEl = document.querySelector('input[type=file]');
fileInputEl.addEventListener('change', async () => {
const prompt = 'Describe the contents of this image.';
const imagePart = await fileToGenerativePart(fileInputEl.files[0]);
// To generate text output, call generateContent with the text and image
const result = await model.generateContentStream([prompt, imagePart]);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log(Complete response: ', await result.response);
});
הדגמה (דמו)
אפשר להיכנס להדגמה של Firebase AI Logic במכשירים ובדפדפנים שונים. אפשר לראות אם התשובה של המודל מגיעה ממודל ה-AI המובנה או מהענן.
כשמשתמשים בחומרה נתמכת ב-Chrome, ההדגמה משתמשת ב-Prompt API וב-Gemini Nano. בוצעו רק 3 בקשות למסמך הראשי, לקובץ JavaScript ולקובץ CSS.

כשמשתמשים בדפדפן אחר או במערכת הפעלה ללא תמיכה מובנית ב-AI,
מתבצעת בקשה נוספת לנקודת הקצה של Firebase,
https://firebasevertexai.googleapis.com.

השתתפות ושיתוף משוב
Firebase AI Logic יכול להיות אפשרות מצוינת לשילוב יכולות AI באפליקציות האינטרנט שלכם. ה-SDK מספק חלופה בענן כש-Prompt API לא זמין, וכך משפר את הנגישות והמהימנות של תכונות ה-AI.
חשוב לזכור שאפליקציות בענן יוצרות ציפיות חדשות בנוגע לפרטיות ולפונקציונליות, ולכן חשוב ליידע את המשתמשים איפה הנתונים שלהם מעובדים.
- כדי לשלוח משוב על ההטמעה של Chrome, אפשר לדווח על באג או לשלוח בקשה להוספת תכונה.
- כדי לשלוח משוב על Firebase AI Logic, אפשר לשלוח דוח על באג.