Firebase AI Logic וערכות ה-SDK של הלקוח שלו נקראו בעבר Vertex AI in Firebase. כדי לשקף טוב יותר את השירותים והתכונות המורחבים שלנו (לדוגמה, עכשיו אנחנו תומכים ב-Gemini Developer API!), החלפנו את השם של השירותים שלנו וארזנו אותם מחדש כ-Firebase AI Logic.
כדי לגשת בצורה מאובטחת למודלים של AI גנרטיבי של Google ישירות מהאפליקציות לנייד או מהאפליקציות לאינטרנט, עכשיו אפשר לבחור ספק Gemini API – Vertex AI Gemini API שזמין כבר זמן רב או Gemini Developer API שזמין עכשיו. כלומר, עכשיו יש לכם אפשרות להשתמש ב-Gemini Developer API, שמספק תוכנית ללא עלות עם מגבלות קצב יצירת בקשות ומכסות סבירות.
סקירה כללית של השלבים למעבר ל-SDK של Firebase AI Logic
שלב 1: בוחרים את ספק Gemini API הטוב ביותר לאפליקציה ולתרחישים לדוגמה.
שלב 2: מפעילים את ממשקי ה-API הנדרשים.
שלב 3: מעדכנים את הספרייה שבה נעשה שימוש באפליקציה.
שלב 4: מעדכנים את האינטראקציה הראשונית באפליקציה.
שלב 5: מעדכנים את הקוד בהתאם לתכונות שבהן אתם משתמשים.
שלב 1: בוחרים את ספק ה-Gemini API הטוב ביותר לאפליקציה
במסגרת ההעברה הזו, יש לכם אפשרות לבחור ספק Gemini API:
בערכות ה-SDK הישנות של Vertex AI in Firebase אפשר היה להשתמש רק ב-Vertex AI Gemini API.
ערכות ה-SDK החדשות של Firebase AI Logic מאפשרות לכם לבחור לאיזה ספק Gemini API אתם רוצים להתקשר ישירות מהאפליקציה לנייד או מהאפליקציה לאינטרנט – Gemini Developer API או Vertex AI Gemini API.
כדאי לעיין בהבדלים בין השימוש בשני ספקי Gemini API, במיוחד מבחינ�� התכונות הנתמכות, התמחור ומגבלות הקצב. לדוגמה, Gemini Developer API לא תומך באפשרות לספק קבצים באמצעות כתובות URL מסוג Cloud Storage, אבל הוא יכול להיות בחירה טובה אם אתם רוצים לנצל את הרמה ללא עלות ואת המכסה הסבירה שלו.
שלב 2: מפעילים את ממשקי ה-API הנדרשים
כדי להשתמש בספק Gemini API שבחרתם, צריך לוודא שכל ממשקי ה-API הנדרשים מופעלים בפרויקט Firebase.
חשוב לזכור שאפשר להפעיל את שני ספקי ה-API בפרויקט בו-זמנית.
נכנסים למסוף 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 הנדרשים בפרויקט.
ממשיכים במדריך ההעברה הזה כדי לעדכן את הספרייה ואת האינטראקציה הראשונית באפליקציה.
שלב 3: מעדכנים את הספרייה שבה נעשה שימוש באפליקציה
מעדכנים את קוד האפליקציה כך שישתמש בספרייה Firebase AI Logic.
Swift
ב-Xcode, כשפרויקט האפליקציה פתוח, מעדכנים את חבילת Firebase לגרסה 11.13.0 ואילך באמצעות אחת מהאפשרויות הבאות:
אפשרות 1: עדכון כל החבילות: עוברים אל קובץ > חבילות > עדכון לגרסאות החבילות העדכניות ביותר.
אפשרות 2: מעדכנים את Firebase בנפרד: עוברים לחבילה של Firebase בקטע Package Dependencies. לוחצים לחיצה ימנית על חבילת Firebase ובוחרים באפשרות עדכון החבילה.
מוודאים שחבילת Firebase מופיעה עכשיו בגרסה 11.13.0 ואילך. אם לא, צריך לוודא שדרישות החבילה שציינתם מאפשרות עדכון לגרסה 11.13.0 ואילך.
בוחרים את היעד של האפליקציה בכלי לעריכת פרויקטים, ואז עוברים לקטע Frameworks, Libraries, and Embedded Content.
מוסיפים את הספרייה החדשה: לוחצים על הלחצן + ואז מוסיפים את FirebaseAI מחבילת Firebase.
אחרי שתסיימו להעביר את האפליקציה (ראו את שאר הקטעים במדריך הזה), חשוב להסיר את הספרייה הישנה:
בוחרים ב-FirebaseVertexAI-Preview, ואז לוחצים על הלחצן —.
Kotlin
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.kts
או<project>/<app-module>/build.gradle
), מחליפים את יחסי התלות הישנים (לפי הצורך) בקוד הבא.שימו לב: יכול להיות שיהיה קל יותר להעביר את קוד האפליקציה (ראו את הקטעים הנותרים במדריך הזה) לפני שמוחקים את התלות הישנה.
// BEFORE dependencies {
implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")} // AFTER 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") }סנכרון הפרויקט ב-Android עם קובצי Gradle.
הערה: אם בוחרים לא להשתמש ב-Firebase Android BoM, פשוט מוסיפים את התלות בספרייה firebase-ai
ומאשרים את הגרסה האחרונה שמציע Android Studio.
Java
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.kts
או<project>/<app-module>/build.gradle
), מחליפים את יחסי התלות הישנים (לפי הצורך) בקוד הבא.שימו לב: יכול להיות שיהיה קל יותר להעביר את קוד האפליקציה (ראו את הקטעים הנותרים במדריך הזה) לפני שמוחקים את התלות הישנה.
// BEFORE dependencies {
implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")} // AFTER 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") }סנכרון הפרויקט ב-Android עם קובצי Gradle.
הערה: אם בוחרים לא להשתמש ב-Firebase Android BoM, פשוט מוסיפים את התלות בספרייה firebase-ai
ומאשרים את הגרסה האחרונה שמציע Android Studio.
Web
מורידים את הגרסה העדכנית ביותר של Firebase JS SDK לאינטרנט באמצעות npm:
npm i firebase@latest
או
yarn add firebase@latest
בכל מקום שבו ייבאת את הספרייה, צריך לעדכן את הצהרות הייבוא כך שייעשה שימוש ב-
firebase/ai
במקום זאת.חשוב לדעת: יכול להיות שיהיה קל יותר להעביר את קוד האפליקציה (ראו את הקטעים הנותרים במדריך הזה) לפני שמוחקים את היבוא הישן.
// BEFORE import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai-preview";// AFTER import { initializeApp } from "firebase/app"; import { getAI, getGenerativeModel } from "firebase/ai";
Dart
כדי לעדכן את השימוש בחבילה
firebase_ai
בקובץpubspec.yaml
, מריצים את הפקודה הבאה מתוך ספריית הפרויקט ב-Flutter:flutter pub add firebase_ai
מריצים מחדש את פרויקט Flutter:
flutter run
אחרי שתסיימו להעביר את האפליקציה (ראו את שאר הקטעים במדריך הזה), חשוב למחוק את החבילה הישנה:
flutter pub remove firebase_vertexai
Unity
לא הייתה תמיכה ב-Unity מ-"Vertex AI in Firebase".
שלב 4: מעדכנים את האינטראקציה הראשונית באפליקציה
לוחצים על ספק Gemini API כדי להציג בדף הזה את התוכן והקוד הספציפיים לספק. |
מעדכנים את אופן האיניציאציה של השירות עבור ספק ה-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
לא הייתה תמיכה ב-Unity מ-'Vertex AI in Firebase'.
שימו לב שבהתאם ליכולת שבה אתם משתמשים, יכול להיות שלא תמיד תיצרו מכונה של GenerativeModel
.
- כדי לגשת למודל Imagen, יוצרים מכונה של
ImagenModel
.
שלב 5: מעדכנים את הקוד בהתאם לפיצ'רים שבהם אתם משתמשים
בשלב הזה מתוארים השינויים שעשויים להיות נדרשים, בהתאם לתכונות שבהן אתם משתמשים.
אם אתם משתמשים בכתובות URL מסוג Cloud Storage ו החלפתם להשתמש בכתובות Gemini Developer API במהלך ההעברה, עליכם לעדכן את הבקשות הרב-מודאליות כך שיכללו קובצי נתונים בקוד (או להשתמש בכתובות URL של YouTube לסרטונים).
ערכנו כ��ה שינויים בגרסאות GA של ערכות ה-SDK של 'Vertex AI in Firebase'. צריך לבצע את אותם שינויים כדי להשתמש ב-SDKs של Firebase AI Logic. כדאי לעיין ברשימות הבאות כדי לבדוק אילו שינויים צריך לבצע בקוד כדי להשתמש ב-SDK של Firebase AI Logic.
חובה לכל השפות והפלטפורמות
קריאה לפונקציה
אם הטמעתם את התכונה הזו לפני השקת GA, תצטרכו לבצע עדכונים באופן שבו אתם מגדירים את הסכימה. מומלץ לעיין במדריך העדכני לקריאה לפונקציות כדי ללמוד איך לכתוב את הצהרות הפונקציות.יצירת פלט מובנה (כמו JSON) באמצעות
responseSchema
אם הטמעתם את התכונה הזו לפני GA, תצטרכו לבצע עדכונים באופן שבו אתם מגדירים את הסכימה. מומלץ לעיין במדריך החדש בנושא פלט מובנה כדי ללמוד איך לכתוב סכימות 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
הועבר לסוף רשימת הפרמטרים כדי להתאים לפלטפורמות אחרות.
- ה��ר��ט��
Live API
הערך
UNSPECIFIED
הוסר עבור סוג ה-enumResponseModality
. במקום זאת, צריך להשתמש ב-null
.השם של
LiveGenerationConfig.setResponseModalities
השתנה ל-LiveGenerationConfig.setResponseModality
.הסרנו את הכיתה
LiveContentResponse.Status
, ובמקום זאת הטמענו את שדות הסטטוס כמאפיינים שלLiveContentResponse
.הסרתם את הכיתה
LiveContentResponse
ובמקום זאת סיפקתם תת-כיתות שלLiveServerMessage
שתואמות לתשובות מהמודל.שיניתם את
LiveModelFutures.connect
כך שתחזיר את הערךListenableFuture<LiveSessionFutures>
במקוםListenableFuture<LiveSession>
.
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
הועבר לסוף רשימת הפרמטרים כדי להתאים לפלטפורמות אחרות.
- הפרמטר
Live API
הערך
UNSPECIFIED
הוסר עבור סוג ה-enumResponseModality
. במקום זאת, צריך להשתמש ב-null
.השם של
LiveGenerationConfig.setResponseModalities
השתנה ל-LiveGenerationConfig.setResponseModality
.הסרנו את הכיתה
LiveContentResponse.Status
, ובמקום זאת הטמענו את שדות הסטטוס כמאפיינים שלLiveContentResponse
.הסרתם את הכיתה
LiveContentResponse
ובמקום זאת סיפקתם תת-כיתות שלLiveServerMessage
שתואמות לתשובות מהמודל.שיניתם את
LiveModelFutures.connect
כך שתחזיר את הערךListenableFuture<LiveSessionFutures>
במקוםListenableFuture<LiveSession>
.
שינינו שיטות רבות של בוני Java כך שהן יחזירו עכשיו את המופע של הכיתה שלהן, במקום
void
.
Web
רשימות ערכים
- הוסרו ערכים מהרשימות הבאות:
HarmCategory
,BlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
ו-FinishReason
.
- הוסרו ערכים מהרשימות הבאות:
הסיבה לחסימה
- השדה
blockReason
ב-PromptFeedback
השתנה לאפשרות אופציונלית.
- השדה
שינויים נדרשים רק אם מתחילים להשתמש ב-Gemini Developer API (במקום ב-Vertex AI Gemini API):
הגדרות בטיחות
- הוסרו שימושים של
SafetySetting.method
שלא נתמכים.
- הוסרו שימושים של
נתונים בתוך שורה
- הוסרו שימושים של
InlineDataPart.videoMetadata
שלא נתמכים.
- הוסרו שימושים של
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 מ-"Vertex AI in Firebase".
שגיאות אפשריות שקשורות להעברה
במהלך המעבר לשימוש בגרסה של Firebase AI Logic ב-GA, יכול להיות שתבחינו בשגיאות אם לא השלמתם את כל השינויים הנדרשים כפי שמתואר במדריך הזה.
שגיאה 403: Requests to this API firebasevertexai.googleapis.com ... are blocked.
אם מופיעה הודעת השגיאה 403 עם הטקסט Requests to this API firebasevertexai.googleapis.com ... are blocked.
, בדרך כלל המשמעות היא שמפתח ה-API של Firebase בקובץ התצורה או באובייקט של Firebase לא מכיל API נדרש ברשימת ההיתרים של המוצר שבו אתם מנסים להשתמש.
חשוב לוודא שמפתח ה-API של Firebase שבו האפליקציה שלכם משתמשת כולל את כל ממשקי ה-API הנדרשים שכלולים ברשימת ההיתרים 'הגבלות API' של המפתח. ב-Firebase AI Logic, מפתח ה-API של Firebase צריך לכלול לפחות את ה-API של Firebase AI Logic ברשימת ההיתרים. ממשק ה-API הזה אמור להתווסף באופן אוטומטי לרשימת ההיתרים של מפתח ה-API כשמפעילים את ממשקי ה-API הנדרשים במסוף Firebase.
אפשר לראות את כל מפתחות ה-API בחלונית APIs & Services > Credentials במסוף Google Cloud.
שליחת משוב על חוויית השימוש ב-Firebase AI Logic