מעבר מ-SDK של לקוח Google AI ל-SDK של Firebase AI Logic


כניסה ישירה להוראות ההעברה

למה כדאי לעבור לשימוש ב-SDKs של Firebase AI Logic?

יכול להיות שניסיתם ערכת SDK חלופית של לקוח לנייד או לאינטרנט, שנתנה לכם גישה ל-Gemini Developer API.

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

תכונות אבטחה לאפליקציות לנייד ולאינטרנט

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

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

סביבה עסקית שמתאימה לאפליקציות לנייד ולאינטרנט

Firebase היא הפלטפורמה של Google לפיתוח אפליקציות לנייד ולאינטרנט. כשמשתמשים ב-Firebase AI Logic, האפליקציות נמצאות בסביבה שמתמקדת בצרכים של מפתחים ואפליקציות בסביבת פיתוח מלאה. לדוגמה:

  • להגדיר באופן דינמי הגדרות זמן ריצה או להחליף ערכים באפליקציה (כמו שם גרסת מודל) בלי לפרסם גרסת אפליקציה חדשה באמצעות Firebase Remote Config.

  • אפשר להשתמש ב-Cloud Storage for Firebase כדי לכלול בקשות מרובות-מודלים של קבצים גדולים (אם משתמשים ב-Vertex AI Gemini API). ערכות ה-SDK של הלקוח מסוג Cloud Storage עוזרות לטפל בהעלאות ובהורדות של קבצים (גם בתנאים של רשת חלשה) ומספקות אבטחה טובה יותר לנתונים של משתמשי הקצה. מידע נוסף זמין במדריך הפתרונות שלנו בנושא שימוש ב-Cloud Storage for Firebase.

  • ניהול נתונים מובְנים באמצעות ערכות SDK של מסדי נתונים שנוצרו לאפליקציות לנייד ולאינטרנט (כמו Cloud Firestore).

מעבר לערכות ה-SDK של Firebase AI Logic

סקירה כללית של השלבים להעברה ל-SDK של Firebase AI Logic:

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

  • שלב 2: מוסיפים לאפליקציה את ערכות ה-SDK של Firebase AI Logic.

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

  • שלב 4: מעדכנים את הקוד בהתאם לתכונות שבהן אתם משתמשים.

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

  1. נכנסים למסוף Firebase ובוחרים את הפרויקט ב-Firebase.

  2. במסוף Firebase, עוברים לדף Firebase AI Logic.

  3. לוחצים על Get started (תחילת העבודה) כדי להפעיל תהליך עבודה מודרך שיעזור לכם להגדיר את ממשקי ה-API הנדרשים ואת המשאבים של הפרויקט.

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

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

  5. אם מופיעה בקשה בתהליך העבודה במסוף, פועלים לפי ההוראות במסך כדי לרשום את האפליקציה ולקשר אותה ל-Firebase.

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

שלב 2: מוסיפים לאפליקציה את ה-SDK של Firebase AI Logic

אחרי שמגדירים את פרויקט 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 ואילך.

  1. ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים אל File > Add Package Dependencies.

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

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

  4. בוחרים את הספרייה 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 לאינטרנט.

  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

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

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

    flutter pub add firebase_core && flutter pub add firebase_ai
    
  2. בקובץ 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';
    
  3. בקובץ lib/main.dart, מאתחלים את Firebase באמצעות האובייקט DefaultFirebaseOptions שיוצאו מקובץ התצורה:

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

    flutter run
    

Unity

לא הייתה תמיכה ב-Unity מ-SDK של לקוחות Google AI.

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

הסרת ה-SDK הישן מהאפליקציה

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

Swift

מסירים את הספרייה הישנה:

  1. ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים לחלונית Packages Dependencies.

  2. בוחרים את החבילה generative-ai-swift מרשימת יחסי התלות של החבילות.

  3. לוחצים על הלחצן - בחלק התחתון של הרשימה ואז על הסרה כדי לאשר.

Kotlin

dependencies {
    implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
    implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Web

// BEFORE
import { initializeApp } from "firebase/app";
import { GoogleGenerativeAI } from "@google/generative-ai";

Dart

מוחקים את החבילה הישנה:
flutter pub remove google_generative_ai

Unity

לא הייתה תמיכה ב-Unity מ-SDK של לקוחות Google AI.

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

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

מעדכנים את הייבוא ואת אופן האיפוס של שירות הקצה העורפי Gemini Developer API ויוצרים מכונה של GenerativeModel.

Swift

// BEFORE
import GoogleGenerativeAI

let model = GenerativeModel(name: "MODEL_NAME", apiKey: APIKey.default)

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

// BEFORE
import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures

...

val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
  // Access your API key as a Build Configuration variable
  apiKey = BuildConfig.apiKey
)

// AFTER
import com.google.firebase.Firebase
import com.google.firebase.ai.ai
import com.google.firebase.ai.type.GenerativeBackend

...

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

// BEFORE
import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;

...

GenerativeModel gm = new GenerativeModel("MODEL_NAME",
  // Access your API key as a Build Configuration variable
  BuildConfig.apiKey
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// AFTER
import com.google.firebase.ai.FirebaseAI;
import com.google.firebase.ai.GenerativeModel;
import com.google.firebase.ai.java.GenerativeModelFutures;
import com.google.firebase.ai.type.GenerativeBackend;

...

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

// BEFORE
import { GoogleGenerativeAI } from "@google/generative-ai";

// Fetch your API_KEY and access your API
const API_KEY = "...";
const genAI = new GoogleGenerativeAI(API_KEY);

...

const model = genAI.getGenerativeModel({ model: "MODEL_NAME"});

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

// BEFORE
import 'package:google_generative_ai/google_generative_ai.dart';

final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
print('No \$API_KEY environment variable');
exit(1);
}

final model = GenerativeModel(model: 'MODEL_NAME', apiKey: apiKey);

// AFTER
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 מ-SDK של לקוחות Google AI.

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

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

שלב 4: מעדכנים את הקוד בהתאם לתכונות שבהן אתם משתמשים

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

  • ערכות ה-SDK של לקוחות Firebase AI Logic לא תומכות בהרצת קוד. אם אתם משתמשים בתכונה הזו, חשוב להביא את זה בחשבון באפליקציה שלכם.

  • כדאי לעיין ברשימות הבאות כדי לבדוק אילו שינויים צריך לבצע בקוד כדי להתאים אותו להעברה ל-SDK של לקוח Firebase AI Logic.

חובה לכל השפות והפלטפורמות

  • קריאה לפונקציה
    אם הטמעתם את התכונה הזו, תצטרכו לבצע עדכונים באופן שבו אתם מגדירים את הסכימה. מומלץ לעיין במדריך העדכני לקריאה לפונקציות כדי ללמוד איך לכתוב את הצהרות הפונקציות.

  • יצירת פלט מובנה (כמו JSON) באמצעות responseSchema
    אם הטמעתם את התכונה הזו, תצטרכו לבצע עדכונים באופן שבו אתם מגדירים את הסכימה. מומלץ לעיין במדריך החדש בנושא פלט מובנה כדי ללמוד איך לכתוב סכימות JSON.

  • Timeout

    • שינינו את הזמן הקצוב לתפוגה של בקשות ל-180 שניות.

חובה על סמך פלטפורמה או שפה

Swift

  • רשימות ערכים

    • רוב סוגי enum הוחלפו ב-struct עם משתנים סטטיים. השינוי הזה מאפשר גמישות רבה יותר בפיתוח ה-API באופן תואם לאחור. כשמשתמשים בהצהרות switch, מעכשיו צריך לכלול מקרה default: כדי לטפל בערכים לא ידועים או בערכים שלא מטופלים, כולל ערכים חדשים שיתווספו ל-SDK בעתיד.

    • שינית את השם של המניין BlockThreshold ל-HarmBlockThreshold. הסוג הזה הוא עכשיו struct.

    • הוסר המקרה unknown והמקרה unspecified מהמספרים הבאים (עכשיו struct): HarmCategory,‏ HarmBlockThreshold,‏ HarmProbability,‏ BlockReason ו-FinishReason.

    • החלפתם את המניין ModelContent.Part בפרוטוקול בשם Part כדי לאפשר הוספה של סוגים חדשים באופן תואם לאחור. השינוי הזה מוסבר בפירוט בקטע חלקי תוכן.

  • חלקי תוכן

    • הסרנו את הפרוטוקול ThrowingPartsRepresentable ופשטנו את המאפיינים המפעילים של ModelContent כדי למנוע שגיאות של המהדר. תמונות שלא מקודדות כראוי עדיין יגרמו לשגיאות כשמשתמשים בהן ב-generateContent.

    • החלפתם את המקרים של ModelContent.Part בסוגי struct הבאים שתואמים לפרוטוקול Part:

      • .text עד TextPart
      • .data עד InlineDataPart
      • .fileData עד FileDataPart
      • .functionCall עד FunctionCallPart
      • .functionResponse עד FunctionResponsePart
  • קטגוריית הנזק

    • שינינו את HarmCategory כך שלא יהיה יותר בתצוגת עץ בסוג SafetySetting. אם אתם מתייחסים אליו בתור SafetySetting.HarmCategory, תוכלו להחליף אותו ב-HarmCategory.
  • משוב בנושא בטיחות

    • הסרתם את הסוג SafetyFeedback כי הוא לא שימש באף אחת מהתשובות.
  • מטא-נתונים של הפניות

    • שינית את השם של נכס citationSources ל-citations ב-CitationMetadata.
  • סה"כ תווים לחיוב

    • שינינו את המאפיין totalBillableCharacters ב-CountTokensResponse לאפשרות, כדי לשקף מצבים שבהם לא נשלחים תווים.
  • תגובה של המועמד/ת

    • השם של CandidateResponse שונה ל-Candidate כדי להתאים לפלטפורמות אחרות.
  • הגדרת הדור

    • השינויים שבוצעו בנכסים הציבוריים של GenerationConfig הם internal. אפשר להגדיר אותם ב-initializer.

Kotlin

  • רשימות ערכים

    • כיתות enum וכיתות sealed הוחלפו בכיתות רגילות. השינוי הזה מאפשר גמישות רבה יותר בהתפתחות ה-API באופן תואם לאחור.

    • שינית את השם של המנייה BlockThreshold ל-HarmBlockThreshold.

    • הוסרו ערכים מהרשימות הבאות: HarmBlockThreshold,‏ HarmProbability,‏ HarmSeverity,‏ BlockReason ו-FinishReason.

  • שיטות Blob

    • שינינו את השם של כל השיטות שכללו את Blob כחלק מהשם שלהן, והחלפנו אותו ב-InlineData.
  • הגדרות בטיחות

    • השדה method השתנה לאפשרות nullable.
  • סיווג משך הזמן

    • הוסרו כל השימושים בכיתה Duration של Kotlin והיא הוחלפה ב-long. השינוי הזה מאפשר יכולת פעולה הדדית טובה יותר עם Java.
  • מטא-נתונים של הפניות

    • ארזנו את כל השדות שהוצהרו בעבר ב-CitationMetadata לכיתה חדשה שנקראת Citation. אפשר למצוא את ההפניות ברשימת citations ב-CitationMetadata. השינוי הזה מאפשר התאמה טובה יותר של הסוגים בפלטפורמות השונות.
  • ספירת אסימונים

    • השדה totalBillableCharacters השתנה לאפשרות nullable.
  • סה"כ תווים לחיוב

    • שינינו את המאפיין totalBillableCharacters ב-CountTokensResponse לאפשרות, כדי לשקף מצבים שבהם לא נשלחים תווים.
  • יצירת מודל

    • הפרמטר requestOptions הועבר לסוף רשימת הפרמטרים כדי להתאים לפלטפורמות אחרות.

Java

  • רשימות ערכים

    • כיתות enum וכיתות sealed הוחלפו בכיתות רגילות. השינוי הזה מאפשר גמישות רבה יותר בהתפתחות ה-API באופן תואם לאחור.

    • שינית את השם של המנייה BlockThreshold ל-HarmBlockThreshold.

    • הוסרו ערכים מהרשימות הבאות: HarmBlockThreshold,‏ HarmProbability,‏ HarmSeverity,‏ BlockReason ו-FinishReason.

  • שיטות Blob

    • שינינו את השם של כל השיטות שכללו את Blob כחלק מהשם שלהן, והחלפנו אותו ב-InlineData.
  • הגדרות בטיחות

    • השדה method השתנה לאפשרות nullable.
  • סיווג משך הזמן

    • הוסרו כל השימושים בכיתה Duration של Kotlin והיא הוחלפה ב-long. השינוי הזה מאפשר יכולת פעולה הדדית טובה יותר עם Java.
  • מטא-נתונים של הפניות

    • ארזנו את כל השדות שהוצהרו בעבר ב-CitationMetadata לכיתה חדשה שנקראת Citation. אפשר למצוא את ההפניות ברשימת citations ב-CitationMetadata. השינוי הזה מאפשר התאמה טובה יותר של הסוגים בפלטפורמות השונות.
  • ספירת אסימונים

    • השדה totalBillableCharacters השתנה לאפשרות nullable.
  • סה"כ תווים לחיוב

    • שינינו את המאפיין totalBillableCharacters ב-CountTokensResponse לאפשרות, כדי לשקף מצבים שבהם לא נשלחים תווים.
  • יצירת מודל

    • הפרמטר requestOptions הועבר לסוף רשימת הפרמטרים כדי להתאים לפלטפורמות אחרות.

Web

חשוב לזכור שחלו שינויים רבים ב-SDK של לקוח Google AI ל-JavaScript מאז שה-SDK של לקוח Firebase AI Logic התפצל ממנו. ברשימה הבאה מפורטים כמה שינויים פוטנציאליים שיכול להיות שתצטרכו להביא בחשבון במהלך המעבר ל-SDK של הלקוח של Firebase AI Logic.

  • רשימות ערכים

    • הוסרו ערכים מהרשימות הבאות: HarmCategory,‏ BlockThreshold,‏ HarmProbability,‏ HarmSeverity,‏ BlockReason ו-FinishReason.
  • הסיבה לחסימה

    • השדה blockReason ב-PromptFeedback השתנה לאפשרות אופציונלית.
  • הכנה לחיפוש

    • הוסרו כל השימושים בתכונה הזו, כי עדיין אין תמיכה בה ב-SDKs של Firebase AI Logic.
  • שגיאות

    • מסירים את כל השימושים ב-GoogleGenerativeAIError, ואפשר גם לעבור ל-AIError.

Dart

  • רשימות ערכים

    • הוסרו ערכים מהרשימות הבאות: HarmCategory,‏ HarmProbability,‏ BlockReason ו-FinishReason.
  • חלק נתונים

    • השם של DataPart השתנה ל-InlineDataPart, והשם של הפונקציה data ב-static השתנה ל-inlineData כדי להתאים לפלטפורמות אחרות.
  • אפשרויות בקשה

    • הוסר RequestOptions כי timeout לא היה פונקציונלי. הוא יתווסף מחדש בעתיד הקרוב, אבל הוא יועבר לסוג GenerativeModel כדי להתאים לפלטפורמות אחרות.
  • עצירת רצפים

    • הפרמטר stopSequences ב-GenerationConfig השתנה לאפשרי, וברירת המחדל שלו היא null במקום מערך ריק.
  • ציטוטים

    • שינית את השם של נכס citationSources ל-citations ב-CitationMetadata. השם של הסוג CitationSource השתנה ל-Citation כדי להתאים לפלטפורמות אחרות.
  • סוגי, שיטות ומאפיינים ציבוריים מיותרים

    • הסרתם את הסוגים, השיטות והמאפיינים הבאים שנחשפו בטעות: defaultTimeout,‏ CountTokensResponseFields,‏ parseCountTokensResponse,‏ parseEmbedContentResponse,‏ parseGenerateContentResponse,‏ parseContent,‏ BatchEmbedContentsResponse,‏ ContentEmbedding,‏ EmbedContentRequest ו-EmbedContentResponse.
  • ספירת אסימונים

    • הוסרו שדות מיותרים מהפונקציה countTokens שכבר לא נחוצים. צריך רק את contents.
  • יצירת מודל

    • הפרמטר systemInstruction הועבר לסוף רשימת הפרמטרים כדי להתאים לפלטפורמות אחרות.
  • הטמעת פונקציונליות

    • פונקציונליות הטמעה שלא נתמכת (embedContent ו-batchEmbedContents) הוסרה מהמודל.

Unity

לא הייתה תמיכה ב-Unity מ-SDK של לקוחות Google AI.

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


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