Firebase AI Logic וערכות ה-SDK של הלקוח שלו נקראו בעבר Vertex AI in Firebase. כדי לשקף טוב יותר את השירותים והתכונות המורחבים שלנו (לדוגמה, עכשיו אנחנו תומכים ב-Gemini Developer API!), החלפנו את השם של השירותים שלנו וארזנו אותם מחדש כ-Firebase AI Logic.
כדי לגשת בצורה מאובטחת למודלים של AI גנרטיבי של Google ישירות מהאפליקציות לנייד או מהאפליקציות לאינטרנט, עכשיו אפשר לבחור ספק Gemini API – Vertex 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, אבל הוא יכול להיות בחירה טובה אם אתם רוצים לנצל את הרמה ללא עלות ואת המכסה הסבירה שלו.
אם אתם רוצים להמשיך להשתמש ב-Vertex AI Gemini API:
דילוג על השלב הבא וקפיצה ישירות אל עדכון הספרייה באפליקציה, ואז אל שאר המדריך.אם רוצים לעבור ל-Gemini Developer API:
ממשיכים לשלב הבא כדי להגדיר את פרויקט Firebase כך שישתמש ב-API הזה, ואז ממשיכים לשאר המדריך.
שלב 2: מגדירים את פרויקט Firebase כך שתוכלו להשתמש ב-Gemini Developer API
השלב הזה נדרש רק אם רוצים לעבור לשימוש ב-Gemini Developer API עם ערכות ה-SDK של הלקוח Firebase AI Logic. עם זאת, אם רוצים להמשיך להשתמש ב-Vertex AI Gemini API, מדלגים לשלב הבא.
שימו לב שאפשר להפעיל את שני הספקים של Gemini API בפרויקט בו-זמנית.
במסוף Firebase, עוברים לדף Firebase AI Logic.
עוברים לכרטיסייה הגדרות ובוחרים באפשרות Gemini Developer API.
מפעילים את Gemini Developer API.
מסוף Firebase ידאג להפעיל את ממשקי ה-API הנדרשים ויצור מפתח API מסוג Gemini בפרויקט שלכם ב-Firebase.
אין להוסיף את מפתח ה-API Gemini הזה לקוד של האפליקציה. מידע נוסףממשיכים במדריך ההעברה הזה כדי לעדכן את הספרייה ואת ההפעלה באפליקציה.
שלב 3: מעדכנים את הספרייה שבה נעשה שימוש באפליקציה
מעדכנים את קוד האפליקציה כך שישתמש בספרייה Firebase AI Logic.
Swift
ב-Xcode, כשפרויקט האפליקציה פתוח, מעדכנים את חבילת Firebase לגרסה 11.13.0 ואילך באמצעות אחת מהאפשרויות הבאות:
אפשרות 1: עדכון כל החבילות: עוברים אל קובץ > חבילות > עדכון לגרסאות החבילות העדכניות ביותר.
אפשרות 2: מעדכנים את Firebase בנפרד: עוברים לחבילה של Firebase בקטע Package Dependencies. לוחצים לחיצה ימנית על חבילת Firebase ובוחרים באפשרות עדכון החבילה.
מוודאים שחבילת Firebase מופיעה עכשיו בגרסה 11.13.0 ואילך. אם לא, צריך לוודא שדרישות החבילה שציינתם מאפשרות עדכון לגרסה 11.13.0 ואילך.
בוחרים את היעד של האפליקציה בכלי לעריכת פרויקטים, ואז עוברים לקטע Frameworks, Libraries, and Embedded Content.
מוסיפים את הספרייה החדשה: לוחצים על הלחצן + ואז מוסיפים את FirebaseAI מחבילת Firebase.
אחרי שתסיימו להעביר את האפליקציה (ראו את שאר הקטעים במדריך הזה), חשוב להסיר את הספרייה הישנה:
בוחרים ב-FirebaseVertexAI, ואז לוחצים על הלחצן —.
Kotlin
בקובץ 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 BoMimplementation("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") }סנכרון הפרויקט ב-Android עם קובצי Gradle.
הערה: אם בוחרים לא להשתמש ב-Firebase Android BoM, פשוט מוסיפים את התלות בספרייה firebase-ai
ומאשרים את הגרסה האחרונה שמציע Android Studio.
Java
בקובץ 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 BoMimplementation("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") }סנכרון הפרויקט ב-Android עם קובצי Gradle.
הערה: אם בוחרים לא להשתמש ב-Firebase Android BoM, פשוט מוסיפים את התלות בספרייה firebase-ai
ומאשרים את הגרסה האחרונה שמציע Android Studio.
Web
מורידים את הגרסה העדכנית ביותר של Firebase JS SDK לאינטרנט באמצעות npm:
npm i firebase@latest
או
yarn add firebase@latest
בכל מקום שבו ייבאת את הספרייה, צריך לעדכן את הצהרות הייבוא כך שייעשה בהן שימוש ב-
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
כדי להשתמש בחבילה
firebase_ai
בקובץpubspec.yaml
, מריצים את הפקודה הבאה מתוך ספריית הפרויקט ב-Flutter:flutter pub add firebase_ai
בונים מחדש את פרויקט Flutter:
flutter run
אחרי שתסיימו להעביר את האפליקציה (ראו את שאר הקטעים במדריך הזה), חשוב למחוק את החבילה הישנה:
flutter pub remove firebase_vertexai
Unity
לא הייתה תמיכה ב-Unity ב-'Vertex AI ב-Firebase'.
שלב 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.
שימו לב שבהתאם ליכולת שבה אתם משתמשים, יכול להיות שלא תמיד תיצרו מכונה של GenerativeModel
.
- כדי לגשת למודל Imagen, יוצרים מכונה של
ImagenModel
.
שלב 5: מעדכנים את הקוד בהתאם לפיצ'רים שבהם אתם משתמשים
בשלב הזה מתוארים השינויים שעשויים להיות נדרשים, בהתאם לתכונות שבהן אתם משתמשים.
אם אתם משתמשים בכתובות URL מסוג Cloud Storage ו עברתם להשתמש בכתובות מסוג Gemini Developer API במסגרת ההעברה הזו, תצטרכו לעדכן את הבקשות הרב-מודאליות כך שיכללו קובצי נתונים בתוך הטקסט (או להשתמש בכתובות URL של YouTube לסרטונים).
כדאי לעיין ברשימות הבאות כדי לבדוק אילו שינויים צריך לבצע בקוד כדי להשתמש ב-SDK של Firebase AI Logic.
Swift
אין שינויים נוספים.
Kotlin
Live API
- הערך
UNSPECIFIED
הוסר עבור סוג ה-enumResponseModality
. במקום זאת, צריך להשתמש ב-null
.
- הערך
Java
Live API
- הערך
UNSPECIFIED
הוסר עבור סוג ה-enumResponseModality
. במקום זאת, צריך להשתמש ב-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