הנחיות AI היברידיות באמצעות Firebase AI Logic

תאריך פרסום: 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.

  1. מתקינים את Firebase JS SDK:

    npm install firebase
    
  2. מאתחלים את Firebase באפליקציה.

הגדרה ואבטחה של Firebase AI Logic

  1. במסוף Firebase, עוברים אל AI Services (שירותי AI) >‏ AI Logic (לוגיקת AI).

  2. לוחצים על Get started (תחילת העבודה) כדי להפעיל את תהליך ההגדרה.

  3. כשמתבקשים לבחור 'ספק Gemini API', מומלץ לבחור באפשרות Gemini Developer API, שמאפשרת להתחיל במהירות ללא עלות.

    בכל שלב מאוחר יותר, תמיד אפשר להגדיר את Vertex AI Gemini API (ואת דרישת החיוב שלו).

  4. ממשיכים בתהליך העבודה במסוף כדי להגדיר את ממשקי ה-API הנדרשים ואת השירותים המשויכים ל-Firebase AI Logic.

    החל מתחילת יולי 2026, בשלב הזה של תהליך העבודה, השימוש ב-Firebase App Check ללוגיקת AI נאכף באופן אוטומטי. זהו שירות חיוני שעוזר להגן על Gemini API כשניגשים אליו ישירות מהאפליקציה. כחלק מההתחלה (ראו את השלבים בהמשך המדריך הזה), תצטרכו להגדיר את ספק ניפוי הבאגים של App Check לפיתוח מקומי כש-App Check נאכף.

  5. כדי להגדיר את ספק הניפוי באגים של App Check לפיתוח מקומי, ואז לשלוח את הבקשה הראשונה ל-Gemini API, ממשיכים לקרוא את הקטעים הבאים במדריך הזה.

הגדרת ספק ניפוי הבאגים של App Check לפיתוח מקומי

כך משתמשים בספק ניפוי הבאגים בזמן הפעלת האפליקציה מ-localhost באופן אינטראקטיבי (לדוגמה, במהלך פיתוח מקומי):

  1. בגרסת הניפוי באגים, מפעילים את מצב ניפוי הבאגים על ידי הגדרת הערך self.FIREBASE_APPCHECK_DEBUG_TOKEN ל-true לפני שמפעילים את App Check. לדוגמה:

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    
  2. נכנסים לאפליקציית האינטרנט באופן מקומי ופותחים את הכלים למפתחים בדפדפן. במסוף הניפוי באגים יוצג אסימון ניפוי באגים:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    
  3. רושמים את טוקן הניפוי באגים ב-App Check:

    1. במסוף Firebase, עוברים אל Security (אבטחה) > App Check (בדיקת אפליקציות) > הכרטיסייה Apps (אפליקציות).

    2. מוצאים את האפליקציה, לוחצים על תפריט האפשרויות הנוספות () ובוחרים באפשרות ניהול אסימוני ניפוי באגים.

    3. פועלים לפי ההוראות במסך כדי לרשום את אסימון הניפוי באגים.

פרטים על ספק הניפוי (כולל איך מקבלים אסימון ניפוי חדש) מופיעים במסמכים הרשמיים של App Check.

שליחת בקשה ל-Gemini API

  1. מאתחלים ויוצרים מכונה.

  2. מזינים הנחיה למודל באמצעות טקסט או קלט 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 שפועלת ב-Chrome, באמצעות ממשקי ה-AI API המובנים.

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

לוגיקת ה-AI של Firebase פועלת ב-Safari ושולחת בקשה לשרתי Firebase.

השתתפות ושיתוף משוב

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

חשוב לזכור שאפליקציות בענן יוצרות ציפיות חדשות בנוגע לפרטיות ולפונקציונליות, ולכן חשוב ליידע את המשתמשים איפה הנתונים שלהם מעובדים.