איך מתחילים להשתמש ב-Gemini {7/}API באמצעות Vertex AI בערכות SDK של Firebase

במדריך הזה מוסבר איך להתחיל לבצע קריאות ל-Vertex AI Gemini API ישירות מהאפליקציה באמצעות ה-SDK של Vertex AI in Firebase לפלטפורמה שבחרתם.

הערה: אפשר להשתמש במדריך הזה גם כדי להתחיל לגשת למודלים של Imagen באמצעות ערכות ה-SDK של Vertex AI in Firebase.

דרישות מוקדמות

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.

שלב 1: מגדירים פרויקט Firebase ומקשרים את האפליקציה ל-Firebase

אם כבר יש לכם פרויקט Firebase ואפליקציה שמחוברת ל-Firebase

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

  2. לוחצים על הכרטיס Vertex AI in Firebase כדי להפעיל תהליך עבודה שיעזור לכם לבצע את המשימות הבאות:

  3. עוברים לשלב הבא במדריך הזה כדי להוסיף את ה-SDK לאפליקציה.

אם עדיין אין לכם פרויקט Firebase ואפליקציה שמחוברת ל-Firebase


שלב 2: מוסיפים את ה-SDK

אחרי שמגדירים את פרויקט Firebase ומחברים את האפליקציה ל-Firebase (ראו שלב קודם), אפשר להוסיף את ה-SDK של Vertex AI in Firebase לאפליקציה.

Swift

שימוש ב-Swift Package Manager כדי להתקין ולנהל יחסי תלות ב-Firebase.

הספרייה Vertex AI in Firebase מספקת גישה לממשקי ה-API לצורך אינטראקציה עם המודלים Gemini ו-Imagen. הספרייה כלולה כחלק מ-Firebase SDK לפלטפורמות של Apple‏ (firebase-ios-sdk).

  1. ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים אל קובץ > הוספת חבילות.

  2. כשמופיעה בקשה, מוסיפים את המאגר של Firebase SDK לפלטפורמות של Apple:

    https://github.com/firebase/firebase-ios-sdk
    
  3. בוחרים את גרסת ה-SDK העדכנית ביותר.

  4. בוחרים את הספרייה FirebaseVertexAI.

בסיום, Xcode יתחיל לפתור את יחסי התלות ולהוריד אותם באופן אוטומטי ברקע.

Kotlin

Vertex AI in Firebase SDK ל-Android‏ (firebase-vertexai) מספק גישה לממשקי ה-API ליצירת אינטראקציה עם מודלים של Gemini ו-Imagen.

בקובץ Gradle של המודול (ברמת האפליקציה) (כמו <project>/<app-module>/build.gradle.kts), מוסיפים את התלות בספרייה Vertex AI in Firebase ל-Android. מומלץ להשתמש ב-Firebase Android BoM כדי לשלוט בגרסאות הספרייה.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.13.0"))

  // Add the dependency for the Vertex AI in Firebase library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai")
}

כשמשתמשים ב-Firebase Android BoM, האפליקציה תמיד תשתמש בגרסאות תואמות של ספריות Firebase ל-Android.

Java

Vertex AI in Firebase SDK ל-Android‏ (firebase-vertexai) מספק גישה לממשקי ה-API ליצירת אינטראקציה עם מודלים של Gemini ו-Imagen.

בקובץ Gradle של המודול (ברמת האפליקציה) (כמו <project>/<app-module>/build.gradle.kts), מוסיפים את התלות בספרייה Vertex AI in Firebase ל-Android. מומלץ להשתמש ב-Firebase Android BoM כדי לשלוט בגרסאות הספרייה.

ב-Java, צריך להוסיף עוד שתי ספריות.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.13.0"))

  // Add the dependency for the Vertex AI in Firebase library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai")

  // 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

הספרייה Vertex AI in Firebase מספקת גישה לממשקי ה-API לצורך אינטראקציה עם המודלים Gemini ו-Imagen. הספרייה כלולה כחלק מ-Firebase JavaScript SDK לאינטרנט.

  1. מתקינים את Firebase JS SDK לאינטרנט באמצעות npm:

    npm install firebase
    
  2. מאתחלים את 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

הפלאגין Vertex AI in Firebase ל-Flutter (firebase_vertexai) מספק גישה לממשקי ה-API ליצירת אינטראקציה עם המודלים Gemini ו-Imagen.

  1. כדי להתקין את הפלאגין של הליבה ואת הפלאגין Vertex AI in Firebase, מריצים את הפקודה הבאה מהספרייה של פרויקט Flutter:

    flutter pub add firebase_core && flutter pub add firebase_vertexai
    
  2. בקובץ lib/main.dart, מייבאים את הפלאגין של הליבה של Firebase, את הפלאגין Vertex AI in Firebase ואת קובץ התצורה שיצרתם מקודם:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_vertexai/firebase_vertexai.dart';
    import 'firebase_options.dart';
    
  3. בקובץ lib/main.dart, מאתחלים את Firebase באמצעות האובייקט DefaultFirebaseOptions שיוצאו מקובץ התצורה:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. יוצרים מחדש את אפליקציית Flutter:

    flutter run
    

שלב 3: מאתחלים את השירות Vertex AI ויוצרים מכונה של GenerativeModel

כדי שתוכלו לבצע קריאות ל-API ולשלוח הנחיה למודל Gemini, עליכם לאתחל את השירות Vertex AI וליצור מכונה של GenerativeModel.

Swift

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

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

Kotlin

ב-Kotlin, השיטות ב-SDK הזה הן פונקציות השהיה (suspend) וצריך לקרוא להן מהיקף של פונקציית אירוע (coroutine).
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-flash")

Java

ב-Java, שיטות הסטרימינג ב-SDK הזה מחזירות את הטיפוס Publisher מספריית Reactive Streams.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-flash");

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

Web

import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// 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 Vertex AI service
const vertexAI = getVertexAI(firebaseApp);

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

Dart

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

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

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

אחרי שסיימתם לקרוא את המדריך למתחילים, תוכלו לקרוא איך בוחרים מודל ו (אופציונלי) מיקום שמתאימים לתרחיש לדוגמה ולאפליקציה שלכם.

שלב 4: שולחים בקשה להנחיה למודל

אחרי שמחברים את האפליקציה ל-Firebase, מוסיפים את ה-SDK ומפעילים את השירות Vertex AI ואת המודל הגנרטיבי, אפשר לשלוח בקשה להצגת הנחיה למודל Gemini.

אפשר להשתמש ב-generateContent() כדי ליצור טקסט מבקשת הנחיה בטקסט בלבד:

Swift

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

// Create a `GenerativeModel` instance with a model that supports your use case
let model = vertex.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 Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.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 Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// 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 { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// 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 Vertex AI service
const vertexAI = getVertexAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(vertexAI, { 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_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

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

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.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);

מה עוד אפשר לעשות?

מידע נוסף על המודלים הנתמכים

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

לנסות יכולות אחרות

איך שולטים ביצירת תוכן

אפשר גם להתנסות בהנחיות ובהגדרות של מודלים באמצעות הפקודה Vertex AI Studio.


שליחת משוב על חוויית השימוש ב-Vertex AI in Firebase