מעבר ל-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, שמספק תוכנית ללא עלות עם מגבלות קצב יצירת בקשות ומכסות סבירות.

סקירה כללית של השלבים למעבר ל-SDKs של 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.

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

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

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

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

Swift

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

    • אפשרות 1: עדכון כל החבילות: עוברים אל קובץ > חבילות > עדכון לגרסאות החבילות העדכניות ביותר.

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

  2. מוודאים שחבילת Firebase מופיעה עכשיו בגרסה 11.13.0 ואילך. אם לא, צריך לוודא שדרישות החבילה שציינתם מאפשרות עדכון לגרסה 11.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.14.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.14.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 במקום ב-‎.import

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

    // 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 ב-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.0-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.0-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.0-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.0-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.0-flash');

Unity

לא הייתה תמיכה ב-Unity ב-Vertex AI ב-Firebase.

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

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

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

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

  • אם אתם משתמשים בכתובות URL מסוג Cloud Storage ו עברתם להשתמש בכתובות מסוג 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 כך שהן יחזירו עכשיו בצורה נכונה את המופע של הכיתה שלהן, במקום 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