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

תאריך פרסום: 20 במאי 2025

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

יצירת חוויית AI היברידית

ל-AI המובנה יש מספר יתרונות, ובעיקר:

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

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

איך מתחילים להשתמש ב-Firebase

  1. יוצרים פרויקט Firebase ורושמים את אפליקציית האינטרנט.
  2. כדי להמשיך בהגדרת אפליקציית האינטרנט, אפשר לעיין במסמכי התיעוד של Firebase JavaScript SDK.

פרויקטים ב-Firebase יוצרים פרויקט ב-Google Cloud, עם הגדרות ושירותים ספציפיים ל-Firebase. מידע נוסף על Google Cloud ו-Firebase

התקנת ה-SDK

תהליך העבודה הזה משתמש ב-npm ודורש כלי חבילה של מודולים או כלי JavaScript framework. ‫Firebase AI Logic מותאם לעבודה עם כלי לאיגוד מודולים כדי להסיר קוד שלא נמצא בשימוש ולהקטין את גודל ה-SDK.

npm install firebase

אחרי ההתקנה, מפעילים את Firebase באפליקציה.

איך משתמשים ב-Firebase AI Logic

אחרי שמתקינים את Firebase ומפעילים אותו, בוחרים ב-Gemini Developer API או ב-Gemini API, ואז מפעילים ויוצרים מופע.

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

הנחיות טקסט

אתם יכולים להשתמש בטקסט פשוט כדי לתת הוראות למודל. לדוגמה, אתם יכולים לבקש מהמודל לספר לכם בדיחה.

יש כמה אפשרויות לניתוב הבקשה:

  • כדי להשתמש ב-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.

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