Vertex AI Gemini API

אם אתם חדשים ב-Gemini API, ‏ Gemini Developer API הוא ספק ה-API המומלץ למפתחי Android. אבל אם יש לכם דרישות ספציפיות לגבי מיקום הנתונים או שאתם כבר משתמשים בסביבת Vertex AI או Google Cloud, אתם יכולים להשתמש ב-Vertex AI Gemini API.

העברה מ-Vertex AI ב-Firebase

אם שילבתם במקור את מודלי Gemini Flash ו-Pro באמצעות Vertex AI ב-Firebase, אתם יכולים לעבור ל-Vertex AI ולהמשיך להשתמש בו כספק API. במדריך המפורט להעברת נתונים שבמסמכי התיעוד של Firebase מוסבר איך מעבירים את הנתונים.

תחילת העבודה

לפני שמשתמשים ב-Vertex AI Gemini API ישירות מהאפליקציה, אפשר להתנסות בהנחיות ב-Vertex AI Studio.

הגדרת פרויקט Firebase וקישור האפליקציה ל-Firebase

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

הוספת יחסי התלות של Gradle

מוסיפים את יחסי התלות הבאים של Gradle למודול האפליקציה:

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 Firebase AI Logic library. When using the BoM,
  // you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
}

הפעלת המודל הגנרטיבי

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

Kotlin

val model = Firebase.ai(backend = GenerativeBackend.vertexAI())
                        .generativeModel("gemini-2.0-flash")

Java

GenerativeModel firebaseAI = FirebaseAI.getInstance(GenerativeBackend.vertexAI())
        .generativeModel("gemini-2.0-flash");

GenerativeModelFutures model = GenerativeModelFutures.from(firebaseAI);

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

יצירת טקסט

כדי ליצור תשובה טקסטואלית, מתקשרים אל generateContent() עם ההנחיה.

Kotlin

// Note: generateContent() is a suspend function, which integrates well
// with existing Kotlin code.
scope.launch {
  val response = model.generateContent("Write a story about a magic backpack.")
}

Java

Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        [...]
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

בדומה ל-Gemini Developer API, אפשר גם להעביר תמונות, קובצי אודיו, סרטונים וקבצים עם הנחיית הטקסט (ראו את המאמר בנושא אינטראקציה עם Gemini Developer API מהאפליקציה).

מידע נוסף על Firebase AI Logic SDK זמין במסמכי התיעוד של Firebase.