מעבר ישירות להוראות להעברת נתונים
למה כדאי לעבור לשימוש ב-Firebase AI Logic SDKs?
יכול להיות שניסיתם להשתמש בערכת SDK חלופית ללקוחות בנייד או באינטרנט שנתנה לכם גישה אל Gemini Developer API.
ערכות ה-SDK האלה ללקוח לא שולבו במערכת האקולוגית החזקה של Firebase, שמציעה שירותים קריטיים לאפליקציות לנייד ולאינטרנט. הם הוצאו משימוש ועכשיו אפשר להשתמש בFirebase AI Logic ערכות SDK של לקוחות, שמאפשרות גישה ל-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 מאפשר לאפליקציות שלכם לפעול בסביבה שמתמקדת בצרכים של אפליקציות ומפתחים של full-stack. לדוגמה:
אפשר להגדיר באופן דינמי תצורות של זמן ריצה או להחליף ערכים באפליקציה (כמו שם וגרסה של מודל) בלי לפרסם גרסה חדשה של האפליקציה באמצעות 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 וקישור האפליקציה
נכנסים אל מסוף Firebase ואז בוחרים את הפרויקט ב-Firebase.
במסוף Firebase, עוברים לדף Firebase AI Logic.
לוחצים על Get started (תחילת העבודה) כדי להפעיל תהליך עבודה מודרך שיעזור לכם להגדיר את ממשקי ה-API והמשאבים הנדרשים לפרויקט.
לוחצים על Gemini Developer API. תמיד אפשר להגדיר ולהשתמש בספק API אחר מאוחר יותר, אם רוצים.
במסוף יופעלו ממשקי ה-API הנדרשים וייווצר מפתח API חדש וייעודיGemini בפרויקט.
אין להוסיף את מפתח ה-API החדש הזה לבסיס הקוד של האפליקציה.Gemini מידע נוסףאם מופיעה בקשה בתהליך העבודה של המסוף, פועלים לפי ההוראות במסך כדי לרשום את האפליקציה ולחבר אותה ל-Firebase.
כדי לעדכן את הספרייה ואת ההפעלה באפליקציה, צריך להמשיך לקרוא את מדריך ההעברה הזה.
שלב 2: מוסיפים את Firebase AI Logic SDK לאפליקציה
אחרי שמגדירים את פרויקט Firebase ומקשרים את האפליקציה ל-Firebase (ראו שלב קודם), אפשר להוסיף את ה-SDK לאפליקציה.Firebase AI Logic
Swift
משתמשים ב-Swift Package Manager כדי להתקין ולנהל יחסי תלות ב-Firebase.
הספרייה Firebase AI Logic מספקת גישה לממשקי ה-API לאינטראקציה עם מודלים של Gemini ו-Imagen. הספרייה כלולה כחלק מ-Firebase SDK לפלטפורמות של אפל (firebase-ios-sdk
).
אם אתם כבר משתמשים ב-Firebase, אתם צריכים לוודא שחבילת Firebase שלכם היא גרסה 11.13.0 ואילך.
ב-Xcode, כשהפרויקט של האפליקציה פתוח, עוברים אל File > Add Package Dependencies (קובץ > הוספת תלות בחבילה).
כשמוצגת בקשה, מוסיפים את מאגר Firebase Apple platforms SDK:
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.15.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.15.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.
מריצים את הפקודה הבאה מספריית פרויקט Flutter כדי להתקין את פלאגין הליבה ואת הפלאגין Firebase AI Logic:
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
התמיכה ב-Unity לא הייתה זמינה בערכות ה-SDK של לקוחות Google AI.
הסרת ה-SDK הישן מהאפליקציה
אחרי שמסיימים להעביר את האפליקציה (ראו את שאר הקטעים במדריך הזה), חשוב למחוק את הספרייה הישנה.
Swift
מסירים את הספרייה הישנה:
ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים לחלונית Packages Dependencies.
בוחרים את חבילת
generative-ai-swift
מרשימת התלויות של החבילה.לוחצים על הלחצן
-
בחלק התחתון של הרשימה ואז על הסרה כדי לאשר.
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.
שלב 3: מעדכנים את הייבוא ואת ההפעלה באפליקציה
צריך לעדכן את הייבוא ואת אופן ההפעלה של שירות ה-Backend של Gemini Developer API וליצור מופע של GenerativeModel
.
Swift
// BEFOREimport 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.5-flash")
Kotlin
// BEFOREimport 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.5-flash")
Java
// BEFOREimport 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.5-flash"); // Use the GenerativeModelFutures Java compatibility layer which offers // support for ListenableFuture and Publisher APIs GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
// BEFOREimport { 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.5-flash" });
Dart
// BEFOREimport '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.5-flash');
Unity
לא הייתה תמיכה ב-Unity מ-SDK של לקוח Google AI.
הערה: יכול להיות שלא תמיד תיצרו מופע של GenerativeModel
, בהתאם ליכולת שבה אתם משתמשים.
- כדי לגשת למודל Imagen, צריך ליצור מופע
ImagenModel
.
שלב 4: מעדכנים את הקוד בהתאם לתכונות שבהן משתמשים
בשלב הזה מתוארים שינויים שאולי יהיה צורך לבצע בהתאם לתכונות שבהן אתם משתמשים.
ערכות ה-SDK של לקוח Firebase AI Logic לא תומכות בהרצת קוד. אם אתם משתמשים בתכונה הזו, אתם צריכים להתאים את האפליקציה שלכם.
כדאי לעיין ברשימות הבאות כדי לראות אם יש שינויים שצריך לבצע בקוד כדי להתאים אותו להעברה אל Firebase AI Logic client SDKs.
חובה לכל השפות והפלטפורמות
קריאה לפונקציות
אם הטמעתם את התכונה הזו, תצטרכו לעדכן את האופן שבו אתם מגדירים את הסכימה. מומלץ לעיין במדריך המעודכן להפעלת פונקציות כדי ללמוד איך לכתוב את הצהרות הפונקציות.יצירת פלט מובנה (כמו JSON) באמצעות
responseSchema
אם הטמעתם את התכונה הזו, תצטרכו לעדכן את הגדרת הסכימה. מומלץ לעיין במדריך החדש לפלט מובנה כדי ללמוד איך לכתוב סכימות JSON.פסק זמן
- הזמן הקצוב לתפוגה של בקשות שונה ל-180 שניות.
חובה בהתאם לפלטפורמה או לשפה
Swift
Enumerations
החלפנו את רוב הסוגים של
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
. אפשר להגדיר את כולם בקובץ האתחול.
- המאפיינים הציבוריים של
Kotlin
Enumerations
החלפנו את
enum
classes ואתenum
classes בכיתות רגילות.sealed
השינוי הזה מאפשר יותר גמישות בפיתוח ה-API באופן שתואם לאחור.השם של הספירה
BlockThreshold
שונה ל-HarmBlockThreshold
.הוסרו ערכים מהספירות הבאות:
HarmBlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
ו-FinishReason
.
שיטות של Blob
- שינינו את השם של כל ה-methods שכללו את
Blob
כחלק מהשם שלהם, כך שישתמשו ב-InlineData
במקום.
- שינינו את השם של כל ה-methods שכללו את
הגדרות בטיחות
- השדה
method
שונה כך שניתן להזין בו ערך null.
- השדה
משך השיעור
- הסרנו את כל השימושים במחלקה
Duration
של Kotlin והחלפנו אותה ב-long
. השינוי הזה מאפשר יכולת פעולה הדדית טובה יותר עם Java.
- הסרנו את כל השימושים במחלקה
מטא-נתונים של ציטוטים
- העברנו את כל השדות שהוגדרו קודם ב-
CitationMetadata
למחלקה חדשה בשםCitation
. אפשר למצוא את הציטוטים ברשימה שנקראתcitations
ב-CitationMetadata
. השינוי הזה מאפשר התאמה טובה יותר בין סוגי הפלטפורמות.
- העברנו את כל השדות שהוגדרו קודם ב-
ספירת טוקנים
- השדה
totalBillableCharacters
שונה כך שניתן להזין בו ערך null.
- השדה
סך התווים לחיוב
- המאפיין
totalBillableCharacters
ב-CountTokensResponse
שונה כך שיהיה אופציונלי, כדי לשקף מצבים שבהם לא נשלחים תווים.
- המאפיין
הפעלת מודל
- העברנו את הפרמטר
requestOptions
לסוף רשימת הפרמטרים כדי להתאים אותו לפלטפורמות אחרות.
- העברנו את הפרמטר
Java
Enumerations
החלפנו את
enum
classes ואתenum
classes בכיתות רגילות.sealed
השינוי הזה מאפשר יותר גמישות בפיתוח ה-API באופן שתואם לאחור.השם של הספירה
BlockThreshold
שונה ל-HarmBlockThreshold
.הוסרו ערכים מהספירות הבאות:
HarmBlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
ו-FinishReason
.
שיטות של Blob
- שינינו את השם של כל ה-methods שכללו את
Blob
כחלק מהשם שלהם, כך שישתמשו ב-InlineData
במקום.
- שינינו את השם של כל ה-methods שכללו את
הגדרות בטיחות
- השדה
method
שונה כך שניתן להזין בו ערך null.
- השדה
משך השיעור
- הסרנו את כל השימושים במחלקה
Duration
של Kotlin והחלפנו אותה ב-long
. השינוי הזה מאפשר יכולת פעולה הדדית טובה יותר עם Java.
- הסרנו את כל השימושים במחלקה
מטא-נתונים של ציטוטים
- העברנו את כל השדות שהוגדרו קודם ב-
CitationMetadata
למחלקה חדשה בשםCitation
. אפשר למצוא את הציטוטים ברשימה שנקראתcitations
ב-CitationMetadata
. השינוי הזה מאפשר התאמה טובה יותר בין סוגי הפלטפורמות.
- העברנו את כל השדות שהוגדרו קודם ב-
ספירת טוקנים
- השדה
totalBillableCharacters
שונה כך שניתן להזין בו ערך null.
- השדה
סך התווים לחיוב
- המאפיין
totalBillableCharacters
ב-CountTokensResponse
שונה כך שיהיה אופציונלי, כדי לשקף מצבים שבהם לא נשלחים תווים.
- המאפיין
הפעלת מודל
- העברנו את הפרמטר
requestOptions
לסוף רשימת הפרמטרים כדי להתאים אותו לפלטפורמות אחרות.
- העברנו את הפרמטר
Web
חשוב לשים לב שבוצעו שינויים רבים ב-SDK של לקוח Google AI ל-JavaScript מאז שבוצע פיצול של SDKs של לקוח Firebase AI Logic ממנו. ריכזנו כאן כמה שינויים פוטנציאליים שכדאי לקחת בחשבון כשעוברים אל ערכות ה-SDK של לקוח Firebase AI Logic.
Enumerations
- הוסרו ערכים מהמספורים הבאים:
HarmCategory
,BlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
ו-FinishReason
.
- הוסרו ערכים מהמספורים הבאים:
סיבת החסימה
- השדה
blockReason
ב-PromptFeedback
הפך לאופציונלי.
- השדה
התבססות על חיפוש
- הסרנו את כל השימושים בתכונה הזו, כי עדיין אין לה תמיכה בערכות ה-SDK של Firebase AI Logic.
שגיאות
- הוסרו כל השימושים ב-
GoogleGenerativeAIError
, ואפשרות נוספת היא מעבר אלAIError
.
- הוסרו כל השימושים ב-
Dart
Enumerations
- הוסרו ערכים מהמספורים הבאים:
HarmCategory
,HarmProbability
,BlockReason
ו-FinishReason
.
- הוסרו ערכים מהמספורים הבאים:
חלק מהנתונים
- שינינו את השם של
DataPart
ל-InlineDataPart
, ואת הפונקציהstatic
data
ל-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?