פורסם: 20 במאי 2025
כדי לענות על הצרכים של המשתמשים, לא משנה באיזו פלטפורמה או חומרה הם משתמשים, אתם יכולים להגדיר מעבר אוטומטי לענן באמצעות Firebase AI Logic עבור Prompt API המובנה.
יצירת חוויית AI היברידית
AI מובנה מגיע עם מספר יתרונות, ובעיקר:
- עיבוד מקומי של נתונים רגישים: אם אתם עובדים עם נתונים רגישים, אתם יכולים להציע למשתמשים תכונות מבוססות-AI עם הצפנה מקצה לקצה.
- שימוש ב-AI במצב אופליין: המשתמשים יכולים לגשת לתכונות מבוססות-AI, גם כשהם במצב אופליין או כשהחיבור שלהם לא יציב
היתרונות האלה לא חלים על אפליקציות בענן, אבל אתם יכולים לוודא שמי שלא יכול לגשת ל-AI מובנה ייהנה מחוויה חלקה.
תחילת העבודה עם Firebase
- יוצרים פרויקט Firebase ורושמים את אפליקציית האינטרנט.
- כדי להמשיך בהגדרת אפליקציית האינטרנט, אפשר לעיין במסמכי התיעוד של Firebase JavaScript SDK.
פרויקטים ב-Firebase יוצרים פרויקט ב-Google Cloud עם הגדרות ושירותים ספציפיים ל-Firebase. מידע נוסף על Google Cloud ו-Firebase
התקנת ה-SDK
תהליך העבודה הזה משתמש ב-npm ודורש כלי חבילה של מודולים או כלי מסגרת JavaScript. הלוגיקה של Firebase AI מותאמת לעבודה עם כלי לאריזת מודולים כדי להסיר קוד שלא נמצא בשימוש ולהקטין את הגודל של ה-SDK.
npm install firebase
אחרי ההתקנה, מפעילים את Firebase באפליקציה.
שימוש ב-Firebase AI Logic
אחרי שמתקינים את Firebase ומפעילים אותו, בוחרים באפשרות Gemini Developer API או Vertex AI Gemini API, ואז מפעילים ויוצרים מופע.
אחרי האתחול, אפשר להזין למודל הנחיה עם טקסט או קלט מולטימודאלי.
הנחיות טקסט
אתם יכולים להשתמש בטקסט פשוט כדי לתת הוראות למודל. לדוגמה, אתם יכולים לבקש מהמודל לספר לכם בדיחה.
כדי לוודא שנעשה שימוש ב-AI מובנה כשהוא זמין בפונקציה getGenerativeModel
, צריך להגדיר את mode
ל-prefer_on_device
.
// 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 מספק גישה רחבה יותר לתכונות ה-AI ומשפר את המהימנות שלהן, כי הוא מאפשר מעבר אוטומטי לענן אם Prompt API לא זמין.
חשוב לזכור שאפליקציות בענן יוצרות ציפיות חדשות בנוגע לפרטיות ולפונקציונליות, ולכן חשוב ליידע את המשתמשים איפה הנתונים שלהם עוברים עיבוד.
- כדי לשלוח משוב על ההטמעה של Chrome, אפשר להגיש דוח באגים או בקשה להוספת תכונה.
- כדי לשלוח משוב על Firebase AI Logic, צריך לשלוח דוח על באג.