במדריך הזה מוסבר איך להתחיל לבצע קריאות ל-Gemini API ישירות מהאפליקציה באמצעות ערכות ה-SDK של הלקוח Firebase AI Logic בפלטפורמה שבחרתם.
אפשר גם להשתמש במדריך הזה כדי להתחיל לגשת למודלים של Imagen באמצעות ערכות ה-SDK של Firebase AI Logic.
דרישות מוקדמות
Swift
במדריך הזה אנו מניחים שאתם יודעים איך להשתמש ב-Xcode כדי לפתח אפליקציות לפלטפורמות של Apple (כמו iOS).
חשוב לוודא שסביבת הפיתוח והאפליקציה לפלטפורמות של Apple עומדות בדרישות הבאות:
- Xcode מגרסה 16.2 ואילך
- האפליקציה שלכם מטרגטת ל-iOS מגרסה 15 ואילך או ל-macOS מגרסה 12 ואילך
(אופציונלי) כדאי לבדוק את האפליקציה לדוגמה.
אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישים לדוגמה שונים או להשתמש באפליקציית הדוגמה אם אין לכם אפליקציה משלכם לפלטפורמות של Apple. כדי להשתמש באפליקציית הדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.
Kotlin
במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם מכירים את השימוש ב-Android Studio לפיתוח אפליקציות ל-Android.
חשוב לוודא שסביבת הפיתוח והאפליקציה ל-Android עומדות בדרישות הבאות:
- Android Studio (הגרסה האחרונה)
- האפליקציה שלכם מטרגטת לרמת API 21 ואילך
(אופציונלי) כדאי לבדוק את האפליקציה לדוגמה.
אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציית הדוגמה אם אין לכם אפליקציה משלכם ל-Android. כדי להשתמש באפליקציית הדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.
Java
במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם מכירים את השימוש ב-Android Studio לפיתוח אפליקציות ל-Android.
חשוב לוודא שסביבת הפיתוח והאפליקציה ל-Android עומדות בדרישות הבאות:
- Android Studio (הגרסה האחרונה)
- האפליקציה שלכם מטרגטת לרמת API 21 ואילך
(אופציונלי) כדאי לבדוק את האפליקציה לדוגמה.
אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציית הדוגמה אם אין לכם אפליקציה משלכם ל-Android. כדי להשתמש באפליקציית הדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.
Web
במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם מכירים את השימוש ב-JavaScript לפיתוח אפליקציות אינטרנט. המדריך הזה לא תלוי בסביבה.
חשוב לוודא שסביבת הפיתוח והאפליקציה האינטרנטית עומדות בדרישות הבאות:
- (אופציונלי) Node.js
- דפדפן אינטרנט מודרני
(אופציונלי) כדאי לבדוק את האפליקציה לדוגמה.
אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציית הדוגמה אם אין לכם אפליקציית אינטרנט משלכם. כדי להשתמש באפליקציית הדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.
Dart
במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם מכירים את הפיתוח של אפליקציות באמצעות Flutter.
צריך לוודא שסביבת הפיתוח ואפליקציית Flutter עומדות בדרישות הבאות:
- Dart 3.2.0 ואילך
(אופציונלי) כדאי לבדוק את האפליקציה לדוגמה.
אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציית הדוגמה אם אין לכם אפליקציית Flutter משלכם. כדי להשתמש באפליקציית הדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.
Unity
במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם מכירים את הפיתוח של משחקים ב-Unity.
צריך לוודא שסביבת הפיתוח והמשחק ב-Unity עומדים בדרישות הבאות:
- Unity Editor 2021 LTS ואילך
(אופציונלי) כדאי לבדוק את האפליקציה לדוגמה.
אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישים שונים לדוגמה או להשתמש באפליקציית הדוגמה אם אין לכם משחק משלכם ב-Unity. כדי להשתמש באפליקציית הדוגמה, צריך לקשר אותה לפרויקט Firebase.
שלב 1: מגדירים פרויקט ב-Firebase ומקשרים את האפליקציה
נכנסים למסוף Firebase ובוחרים את הפרויקט ב-Firebase.
במסוף Firebase, עוברים לדף Firebase AI Logic.
לוחצים על Get started (תחילת העבודה) כדי להפעיל תהליך עבודה מודרך שיעזור לכם להגדיר את ממשקי ה-API הנדרשים ואת המשאבים של הפרויקט.
בוחרים את ספק ה-Gemini API שבו רוצים להשתמש עם ערכות ה-SDK של Firebase AI Logic. תמיד אפשר להגדיר את ספק ה-API השני ולהשתמש בו מאוחר יותר, אם רוצים.
Gemini Developer API — חיוב אופציונלי (זמין בתוכנית התמחור ללא עלות של Spark)
במסוף יופעלו ממשקי ה-API הנדרשים וייווצר מפתח API מסוג Gemini בפרויקט.
אין להוסיף את מפתח ה-API Gemini הזה לקוד של האפליקציה. מידע נוסףאם תרצו לשדרג את תוכנית התמחור, תוכלו להגדיר את החיוב מאוחר יותר.
Vertex AI Gemini API — נדרש חיוב (נדרשת תוכנית התמחור Blaze בתשלום לפי שימוש)
במסוף תוכלו להגדיר את החיוב ולהפעיל את ממשקי ה-API הנדרשים בפרויקט.
אם מופיעה בקשה בתהליך העבודה במסוף, פועלים לפי ההוראות במסך כדי לרשום את האפליקציה ולקשר אותה ל-Firebase.
עוברים לשלב הבא במדריך הזה כדי להוסיף את ה-SDK לאפליקציה.
שלב 2: מוסיפים את ה-SDK
אחרי שמגדירים את פרויקט Firebase ומחברים את האפליקציה ל-Firebase (ראו שלב קודם), אפשר להוסיף את ה-SDK של Firebase AI Logic לאפליקציה.
Swift
שימוש ב-Swift Package Manager כדי להתקין ולנהל יחסי תלות ב-Firebase.
הספרייה Firebase AI Logic מספקת גישה לממשקי ה-API לצורך אינטראקציה עם המודלים Gemini ו-Imagen. הספרייה כלולה כחלק מ-Firebase SDK לפלטפורמות של Apple (firebase-ios-sdk
).
אם אתם כבר משתמשים ב-Firebase, ודאו שגרסת החבילה של Firebase היא 11.13.0 ואילך.
ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים אל File > Add Package Dependencies.
כשמופיעה בקשה, מוסיפים את המאגר של Firebase SDK לפלטפורמות של Apple:
https://github.com/firebase/firebase-ios-sdk
בוחרים את גרסת ה-SDK העדכנית ביותר.
בוחרים את הספרייה
FirebaseAI
.
בסיום, Xcode יתחיל לפתור את יחסי התלות ולהוריד אותם באופן אוטומטי ברקע.
Kotlin
Firebase AI Logic SDK ל-Android (firebase-ai
) מספק גישה לממשקי ה-API ליצירת אינטראקציה עם מודלים של Gemini ו-Imagen.
בקובץ Gradle של המודול (ברמת האפליקציה) (כמו <project>/<app-module>/build.gradle.kts
), מוסיפים את התלות בספרייה Firebase AI Logic ל-Android.
מומלץ להשתמש ב-Firebase Android BoM כדי לשלוט בגרסאות הספרייה.
dependencies { // ... other androidx 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") }
כשמשתמשים ב-Firebase Android BoM, האפליקציה תמיד תשתמש בגרסאות תואמות של ספריות Firebase ל-Android.
Java
Firebase AI Logic SDK ל-Android (firebase-ai
) מספק גישה לממשקי ה-API ליצירת אינטראקציה עם מודלים של Gemini ו-Imagen.
בקובץ Gradle של המודול (ברמת האפליקציה) (כמו <project>/<app-module>/build.gradle.kts
), מוסיפים את התלות בספרייה Firebase AI Logic ל-Android.
מומלץ להשתמש ב-Firebase Android BoM כדי לשלוט בגרסאות הספרייה.
ב-Java, צריך להוסיף עוד שתי ספריות.
dependencies { // ... other androidx 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") // Required for one-shot operations (to use `ListenableFuture` from Guava Android) implementation("com.google.guava:guava:31.0.1-android") // Required for streaming operations (to use `Publisher` from Reactive Streams) implementation("org.reactivestreams:reactive-streams:1.0.4") }
כשמשתמשים ב-Firebase Android BoM, האפליקציה תמיד תשתמש בגרסאות תואמות של ספריות Firebase ל-Android.
Web
הספרייה Firebase AI Logic מספקת גישה לממשקי ה-API לצורך אינטראקציה עם המודלים Gemini ו-Imagen. הספרייה כלולה כחלק מ-Firebase JavaScript SDK לאינטרנט.
מתקינים את Firebase JS SDK לאינטרנט באמצעות npm:
npm install firebase
מאתחלים את Firebase באפליקציה:
import { initializeApp } from "firebase/app"; // 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);
Dart
הפלאגין Firebase AI Logic ל-Flutter (firebase_ai
) מספק גישה לממשקי ה-API ליצירת אינטראקציה עם המודלים Gemini ו-Imagen.
כדי להתקין את הפלאגין של הליבה ואת הפלאגין Firebase AI Logic, מריצים את הפקודה הבאה מהספרייה של פרויקט Flutter:
flutter pub add firebase_core && flutter pub add firebase_ai
בקובץ
lib/main.dart
, מייבאים את הפלאגין של הליבה של Firebase, את הפלאגין Firebase AI Logic ואת קובץ התצורה שיצרתם מקודם:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';
בקובץ
lib/main.dart
, מאתחלים את Firebase באמצעות האובייקטDefaultFirebaseOptions
שיוצאו מקובץ התצורה:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
יוצרים מחדש את אפליקציית Flutter:
flutter run
Unity
מורידים את Firebase Unity SDK ואז מחלצים את ה-SDK למקום נוח.
ה-SDK של Firebase Unity לא ספציפי לפלטפורמה.
בפרויקט הפתוח ב-Unity, עוברים אל Assets > Import Package > Custom Package.
מתוך ערכת ה-SDK שחולצה, בוחרים את החבילה
FirebaseAI
.בחלון ייבוא חבילת Unity, לוחצים על ייבוא.
חוזרים למסוף Firebase, בתהליך ההגדרה לוחצים על Next.
שלב 3: מאתחלים את השירות ויוצרים מופע של מודל
לוחצים על ספק Gemini API כדי להציג בדף הזה תוכן וקוד ספציפיים לספק. |
כשמשתמשים ב-SDK ללקוח של Firebase AI Logic עם Gemini Developer API, לא מוסיפים את מפתח ה-API של Gemini לקוד הבסיסי של האפליקציה. מידע נוסף
לפני ששולחים הנחיה למודל Gemini, צריך לאתחל את השירות של ספק ה-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
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.0-flash");
שימו לב שבהתאם ליכולת שבה אתם משתמשים, יכול להיות שלא תמיד תיצרו מכונה של GenerativeModel
.
- כדי לגשת למודל Imagen, יוצרים מכונה של
ImagenModel
.
בנוסף, אחרי שסיימתם לקרוא את המדריך הזה, תוכלו ללמוד איך לבחור מודל שמתאים לתרחיש לדוגמה ולאפליקציה שלכם.
שלב 4: שולחים בקשה להנחיה למודל
עכשיו אפשר לשלוח בקשה להנחיה למודל Gemini.
אפשר להשתמש ב-generateContent()
כדי ליצור טקסט מהנחיה שמכילה טקסט:
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")
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")
Kotlin
ב-Kotlin, השיטות ב-SDK הזה הן פונקציות השהיה (suspend) וצריך לקרוא להן מהיקף של פונקציית אירוע (coroutine).
// 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")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
ב-Java, השיטות ב-SDK הזה מחזירותListenableFuture
.
// 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);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
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" });
// Wrap in an async function so you can use await
async function run() {
// Provide a prompt that contains text
const prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
const result = await model.generateContent(prompt);
const response = result.response;
const text = response.text();
console.log(text);
}
run();
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');
// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];
// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.0-flash");
// Provide a prompt that contains text
var prompt = "Write a story about a magic backpack.";
// To generate text output, call GenerateContentAsync with the text input
var response = await model.GenerateContentAsync(prompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");
מה עוד אפשר לעשות?
מידע נוסף על המודלים הנתמכים
כאן תוכלו לקרוא מידע נוסף על המודלים הזמינים לתרחישי שימוש שונים, על המכסות ועל התמחור שלהם.
לנסות יכולות אחרות
- מידע נוסף על יצירת טקסט מבקשות טקסט בלבד, כולל הסבר על סטרימינג של התשובה
- יצירת טקסט באמצעות הצגת הנחיות לגבי סוגי קבצים שונים, כמו תמונות, קבצי PDF, סרטונים ואודיו.
- ליצור שיחות עם זיכרון (צ'אט).
- יצירת פלט מובנה (כמו JSON) גם מהנחיות טקסט וגם מהנחיות מולטימודליות.
- יצירת תמונות מהנחיות טקסט.
- קלט ופלט של סטרימינג (כולל אודיו) באמצעות Gemini Live API.
- משתמשים בקריאה לפונקציה כדי לחבר מודלים גנרטיביים למערכות ולמידע חיצוניים.
איך שולטים ביצירת תוכן
- הסבר על תכנון הנחיות, כולל שיטות מומלצות, אסטרטגיות והנחיות לדוגמה.
- להגדיר את הפרמטרים של המודל, כמו טמפרטורה ואסימונים מקסימליים של פלט (עבור Gemini) או יחס גובה-רוחב ויצירת אנשים (עבור Imagen).
- שימוש בהגדרות הבטיחות כדי לשנות את הסבירות לקבלת תשובות שעשויות להיחשב כמזיקות.
שליחת משוב על חוויית השימוש ב-Firebase AI Logic