מעבר ל-Firebase AI Logic SDKs מגרסה GA של Vertex AI ב-Firebase SDKs


Firebase AI Logic וערכות ה-SDK ללקוחות נקראו בעבר Vertex AI in Firebase. כדי לשקף טוב יותר את השירותים והתכונות המורחבים שלנו (לדוגמה, אנחנו תומכים עכשיו ב-Gemini Developer API!), שינינו את השם של השירותים שלנו ואת האריזה שלהם ל-Firebase AI Logic.

כדי לגשת בצורה מאובטחת למודלים של AI גנרטיבי מבית Google ישירות מאפליקציות לנייד או מאפליקציות אינטרנט, אפשר עכשיו לבחור ספק של Gemini APIVertex AI Gemini API שזמין כבר זמן רב או Gemini Developer API. המשמעות היא שעכשיו יש לכם אפשרות להשתמש ב-Gemini Developer API, שמספק רמה ללא עלות עם מכסות והגבלות סבירות על קצב יצירת הבקשות.

סקירה כללית של השלבים למעבר לשימוש בערכות ה-SDK של Firebase AI Logic

  • שלב 1: בוחרים את ספק Gemini API הכי מתאים לאפליקציה ולתרחישי השימוש שלכם.

  • שלב 2: מגדירים את פרויקט Firebase כדי שתוכלו להשתמש ב-Gemini Developer API.
    רלוונטי רק אם אתם עוברים לשימוש ב-Gemini Developer API במקום ב-Vertex AI Gemini API.

  • שלב 3: מעדכנים את הספרייה שבה נעשה שימוש באפליקציה.

  • שלב 4: מעדכנים את ההפעלה באפליקציה.

  • שלב 5: מעדכנים את הקוד בהתאם לתכונות שבהן אתם משתמשים.

שלב 1: בחירת הספק הטוב ביותר של Gemini API לאפליקציה שלכם

במסגרת ההעברה הזו, תוכלו לבחור ספק של Gemini API:

  • בגרסאות הקודמות של ערכות ה-SDK של Vertex AI in Firebase אפשר היה להשתמש רק ב-Vertex AI Gemini API.

  • ערכות ה-SDK החדשות של Firebase AI Logic מאפשרות לכם לבחור את ספק ה-Gemini API שאתם רוצים להתקשר אליו ישירות מהאפליקציה לנייד או מהאפליקציה לאינטרנט – Gemini Developer API או Vertex AI Gemini API.

חשוב לעיין בהבדלים בין השימוש בשני ספקי Gemini API, במיוחד מבחינת התכונות הנתמכות, התמחור ומגבלות הקצב. לדוגמה, Gemini Developer API לא תומך באספקת קבצים באמצעות כתובות URL של Cloud Storage, אבל הוא יכול להיות בחירה טובה אם אתם רוצים ליהנות מהתוכנית שלו ללא עלות וממכסת השימוש הסבירה.

שלב 2: הגדרת פרויקט Firebase כדי שאפשר יהיה להשתמש ב-Gemini Developer API

השלב הזה נדרש רק אם רוצים לעבור לשימוש ב-Gemini Developer API עם ערכות ה-SDK של הלקוח Firebase AI Logic. לעומת זאת, אם רוצים להמשיך להשתמש ב-Vertex AI Gemini API, מדלגים לשלב הבא.

הערה: אפשר להפעיל את שני הספקים של Gemini API בפרויקט בו-זמנית.

  1. במסוף Firebase, עוברים לדף Firebase AI Logic.

  2. עוברים לכרטיסייה הגדרות ובוחרים באפשרות Gemini Developer API.

  3. מפעילים את Gemini Developer API.

    המסוף יוודא שממשקי ה-API הנדרשים מופעלים ויפיק מפתח API‏ Gemini בפרויקט שלכם ב-Firebase.
    אין להוסיף את Gemini מפתח ה-API הזה לבסיס הקוד של האפליקציה. מידע נוסף

  4. כדי לעדכן את הספרייה ואת ההפעלה באפליקציה, צריך להמשיך לקרוא את מדריך ההעברה הזה.

שלב 3: מעדכנים את הספרייה שבה נעשה שימוש באפליקציה

מעדכנים את בסיס הקוד של האפליקציה כדי להשתמש בספריית Firebase AI Logic.

Swift

  1. ב-Xcode, כשהפרויקט של האפליקציה פתוח, מעדכנים את חבילת Firebase לגרסה 11.13.0 ואילך באמצעות אחת מהאפשרויות הבאות:

    • אפשרות 1: עדכון כל החבילות: עוברים אל File > Packages > Update to Latest Package Versions (קובץ > חבילות > עדכון לגרסאות החבילה האחרונות).

    • אפשרות 2: עדכון Firebase בנפרד: עוברים לחבילת Firebase בקטע Package Dependencies (תלות בחבילות). לוחצים לחיצה ימנית על חבילת Firebase ובוחרים באפשרות Update Package (עדכון החבילה).

  2. מוודאים שחבילת Firebase מופיעה עכשיו בגרסה 11.13.0 ואילך. אם לא, צריך לוודא שדרישות החבילה שצוינו מאפשרות עדכון לגרסה v11.13.0 ואילך.

  3. בוחרים את יעד האפליקציה בכלי לעריכת פרויקטים ועוברים לקטע Frameworks, Libraries, and Embedded Content (מסגרות, ספריות ותוכן מוטמע).

  4. מוסיפים את הספרייה החדשה: לוחצים על הלחצן + ואז מוסיפים את FirebaseAI מהחבילה של Firebase.

  5. אחרי שמסיימים את העברת האפליקציה (ראו את שאר הקטעים במדריך הזה), חשוב להסיר את הספרייה הישנה:
    בוחרים באפשרות FirebaseVertexAI, ואז לוחצים על הלחצן .

Kotlin

  1. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle), מחליפים את יחסי התלות הישנים (אם יש כאלה) בקוד הבא.

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

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:33.16.0"))
    
      // Add the dependency for the Firebase AI Logic library
      // When using the BoM, you don't specify versions in Firebase library dependencies
      implementation("com.google.firebase:firebase-ai")
    }
  2. מסנכרנים את פרויקט Android עם קובצי Gradle.

שימו לב: אם אתם בוחרים לא להשתמש ב-Firebase Android BoM, אתם צריכים רק להוסיף את התלות בספריית firebase-ai ולאשר את הגרסה האחרונה שמוצעת על ידי Android Studio.

Java

  1. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle), מחליפים את יחסי התלות הישנים (אם יש כאלה) בקוד הבא.

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

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:33.16.0"))
    
      // Add the dependency for the Firebase AI Logic library
      // When using the BoM, you don't specify versions in Firebase library dependencies
      implementation("com.google.firebase:firebase-ai")
    }
  2. מסנכרנים את פרויקט Android עם קובצי Gradle.

שימו לב: אם אתם בוחרים לא להשתמש ב-Firebase Android BoM, אתם צריכים רק להוסיף את התלות בספריית firebase-ai ולאשר את הגרסה האחרונה שמוצעת על ידי Android Studio.

Web

  1. כדי לקבל את הגרסה העדכנית ביותר של Firebase JS SDK לאתרים באמצעות npm:

    npm i firebase@latest

    או

    yarn add firebase@latest
  2. בכל מקום שבו ייבאתם את הספרייה, צריך לעדכן את הצהרות הייבוא כדי להשתמש ב-firebase/ai במקום זאת.

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

    // BEFORE
    import { initializeApp } from "firebase/app";
    import { getVertexAI, getGenerativeModel } from "firebase/vertexai";
    
    
    // AFTER
    import { initializeApp } from "firebase/app";
    import { getAI, getGenerativeModel } from "firebase/ai";

Dart

  1. כדי לעדכן את השימוש בחבילה firebase_ai בקובץ pubspec.yaml, מריצים את הפקודה הבאה מתוך ספריית הפרויקט של Flutter:

    flutter pub add firebase_ai
  2. בונים מחדש את פרויקט Flutter:

    flutter run
  3. אחרי שמסיימים להעביר את האפליקציה (ראו את שאר הקטעים במדריך הזה), חשוב למחוק את החבילה הישנה:

    flutter pub remove firebase_vertexai

Unity

התמיכה ב-Unity לא הייתה זמינה מ-"Vertex AI in Firebase".

איך מתחילים לעבוד עם Firebase AI Logic SDK ל-Unity

שלב 4: עדכון ההפעלה באפליקציה

לוחצים על הספק Gemini API כדי לראות בדף הזה תוכן וקוד שספציפיים לספק.

מעדכנים את אופן ההפעלה של השירות עבור ספק ה-API שבחרתם ויוצרים מופע GenerativeModel.

Swift


import FirebaseAI

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")

Kotlin


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-2.5-flash")

Java


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-2.5-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-2.5-flash');

Unity

התמיכה ב-Unity לא הייתה זמינה מ-'Vertex AI in Firebase'.

איך מתחילים לעבוד עם Firebase AI Logic SDK ל-Unity

הערה: יכול להיות שלא תמיד תיצרו מופע של GenerativeModel, בהתאם ליכולת שבה אתם משתמשים.

שלב 5: מעדכנים את הקוד בהתאם לתכונות שבהן אתם משתמשים

בשלב הזה מתוארים שינויים שאולי יהיה צורך לבצע בהתאם לתכונות שבהן אתם משתמשים.

  • אם אתם משתמשים בCloud Storage כתובות URL ועברתם לשימוש ב-Gemini Developer API בהעברה הזו, אתם צריכים לעדכן את הבקשות הרב-מודאליות שלכם כדי לכלול קבצים כנתונים מוטבעים (או להשתמש בכתובות URL של סרטונים ב-YouTube).

  • כדאי לעיין ברשימות הבאות כדי לראות אם יש שינויים שצריך לבצע בקוד כדי להתאים אותו ל-SDK של Firebase AI Logic.

Swift

אין שינויים נוספים.

Kotlin

  • Live API

    • הערך UNSPECIFIED הוסר מהמחלקת enum‏ ResponseModality. במקום זאת, צריך להשתמש ב-null.

Java

  • Live API

    • הערך UNSPECIFIED הוסר מהמחלקת enum‏ ResponseModality. במקום זאת, צריך להשתמש ב-null.
  • שינינו שיטות שונות של Java builder כך שהן מחזירות עכשיו את המופע של המחלקה שלהן, במקום void.

Web

השינויים נדרשים רק אם אתם מתחילים להשתמש ב-Gemini Developer API (במקום ב-Vertex AI Gemini API):

  • הגדרות בטיחות

    • הוסרו מקרים של שימוש ב-SafetySetting.method שלא נתמך.
  • נתונים מוטבעים

    • הוסרו מקרים של שימוש ב-InlineDataPart.videoMetadata שלא נתמך.

Dart

אין שינויים נוספים.

Unity

התמיכה ב-Unity לא הייתה זמינה מ-'Vertex AI in Firebase'.

איך מתחילים לעבוד עם Firebase AI Logic SDK ל-Unity


רוצה לתת משוב על חוויית השימוש ב-Firebase AI Logic?