Firebase AI Logic و SDK های کلاینت آن قبلاً " Vertex AI in Firebase " نامیده میشدند. برای انعکاس بهتر خدمات و ویژگیهای توسعهیافته ما (به عنوان مثال، اکنون از Gemini Developer API پشتیبانی میکنیم!)، نام خدمات خود را به Firebase AI Logic تغییر دادیم و بستهبندی مجدد کردیم .
برای دسترسی ایمن به مدلهای هوش مصنوعی مولد گوگل مستقیماً از طریق برنامههای تلفن همراه یا وب خود، اکنون میتوانید یک ارائهدهنده « Gemini API » را انتخاب کنید - یا Vertex AI Gemini API که از مدتها پیش در دسترس بوده یا اکنون Gemini Developer API . این بدان معناست که اکنون میتوانید از Gemini Developer API استفاده کنید که یک سطح رایگان با محدودیتها و سهمیههای معقول ارائه میدهد.
مروری بر مراحل مهاجرت به SDK های Firebase AI Logic
مرحله ۱ : بهترین ارائهدهنده «Gemini API» را برای برنامه و موارد استفاده خود انتخاب کنید.
مرحله ۲ : فعال کردن API های مورد نیاز
مرحله ۳ : کتابخانه مورد استفاده در برنامه خود را بهروزرسانی کنید.
مرحله ۴ : مقداردهی اولیه را در برنامه خود بهروزرسانی کنید.
مرحله ۵ : کد خود را بسته به ویژگیهایی که استفاده میکنید، بهروزرسانی کنید.
مرحله ۱ : بهترین ارائهدهنده «Gemini API» را برای برنامه خود انتخاب کنید
با این مهاجرت، شما میتوانید ارائهدهندهی « Gemini API » را انتخاب کنید:
SDK های قدیمی « Vertex AI in Firebase » فقط میتوانستند از API مربوط به Vertex AI Gemini استفاده کنند.
کیتهای توسعه نرمافزار (SDK) جدید Firebase AI Logic به شما امکان میدهند انتخاب کنید که میخواهید کدام ارائهدهنده « Gemini API » را مستقیماً از برنامه تلفن همراه یا وب خود فراخوانی کنید - یا Gemini Developer API یا Vertex AI Gemini API .
تفاوتهای بین استفاده از دو ارائهدهندهی API مربوط به Gemini را بررسی کنید، به خصوص از نظر ویژگیهای پشتیبانیشده، قیمتگذاری و محدودیتهای نرخ. فقط برای یک مثال، API توسعهدهندگان Gemini از ارائه فایلها با استفاده از URLهای Cloud Storage پشتیبانی نمیکند، اما اگر میخواهید از ردیف رایگان و سهمیهی معقول آن بهرهمند شوید، میتواند انتخاب خوبی باشد.
مرحله ۲ : فعال کردن API های مورد نیاز
مطمئن شوید که تمام APIهای مورد نیاز در پروژه Firebase شما فعال هستند تا بتوانید از ارائهدهنده « Gemini API » انتخابی خود استفاده کنید.
توجه داشته باشید که میتوانید هر دو ارائهدهنده API را همزمان در پروژه خود فعال کنید.
وارد کنسول Firebase شوید و سپس پروژه Firebase خود را انتخاب کنید.
در کنسول Firebase ، به صفحه منطق هوش مصنوعی فایربیس بروید.
برای شروع یک گردش کار هدایتشده که به شما در تنظیم APIها و منابع مورد نیاز پروژهتان کمک میکند، روی «شروع به کار» کلیک کنید.
ارائهدهندهی «Gemini API» را که میخواهید با Firebase AI Logic SDKs استفاده کنید، انتخاب کنید. در صورت تمایل، همیشه میتوانید ارائهدهندهی API دیگری را بعداً تنظیم و استفاده کنید.
رابط برنامهنویسی کاربردی Gemini - پرداخت هزینه اختیاری (در طرح قیمتگذاری بدون هزینه Spark موجود است)
گردش کار کنسول، APIهای مورد نیاز را فعال کرده و یک کلید API جمینی در پروژه شما ایجاد میکند.
این کلید API مربوط به Gemini را به کدبیس برنامه خود اضافه نکنید . اطلاعات بیشتر.رابط برنامهنویسی کاربردی Vertex AI Gemini - پرداخت صورتحساب الزامی است (نیازمند طرح قیمتگذاری پرداخت در محل Blaze است)
گردش کار کنسول، APIهای مورد نیاز را در پروژه شما فعال میکند.
برای بهروزرسانی کتابخانه و مقداردهی اولیه در برنامه خود، در این راهنمای مهاجرت ادامه دهید.
مرحله ۳ : بهروزرسانی کتابخانه مورد استفاده در برنامه
کدبیس برنامه خود را برای استفاده از کتابخانه Firebase AI Logic بهروزرسانی کنید.
سویفت
در Xcode، در حالی که پروژه برنامه شما باز است، بسته Firebase خود را با استفاده از یکی از گزینههای زیر به نسخه ۱۱.۱۳.۰ یا بالاتر بهروزرسانی کنید:
گزینه ۱ : بهروزرسانی همه بستهها: به مسیر File > Packages > Update to Latest Package Versions بروید.
گزینه ۲ : بهروزرسانی جداگانه فایربیس: در بخشی به نام Package Dependencies به پکیج فایربیس بروید. روی پکیج فایربیس کلیک راست کنید و سپس Update Package را انتخاب کنید.
مطمئن شوید که بسته Firebase اکنون نسخه 11.13.0 یا بالاتر را نشان میدهد. اگر اینطور نیست، بررسی کنید که الزامات بستهبندی مشخصشده شما امکان بهروزرسانی به نسخه 11.13.0 یا بالاتر را فراهم میکند.
هدف برنامه خود را در ویرایشگر پروژه انتخاب کنید و سپس به بخش چارچوبها، کتابخانهها و محتوای جاسازیشده بروید.
کتابخانه جدید را اضافه کنید: دکمه + را انتخاب کنید و سپس 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:34.5.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") }پروژه اندروید خود را با فایلهای Gradle همگامسازی کنید.
توجه داشته باشید که اگر تصمیم دارید از Firebase Android BoM استفاده نکنید، کافیست وابستگی مربوط به کتابخانه firebase-ai را اضافه کنید و آخرین نسخه پیشنهادی اندروید استودیو را بپذیرید.
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:34.5.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") }پروژه اندروید خود را با فایلهای Gradle همگامسازی کنید.
توجه داشته باشید که اگر تصمیم دارید از Firebase Android BoM استفاده نکنید، کافیست وابستگی مربوط به کتابخانه firebase-ai را اضافه کنید و آخرین نسخه پیشنهادی اندروید استودیو را بپذیرید.
Web
آخرین نسخه Firebase JS SDK برای وب را با استفاده از npm دریافت کنید:
npm i firebase@latest
یا
yarn add firebase@latest
هر جا که کتابخانه را وارد کردهاید، دستورات import خود را بهروزرسانی کنید تا به جای آن
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
با اجرای دستور زیر از دایرکتوری پروژه Flutter خود، به استفاده از بسته
firebase_aiدر فایلpubspec.yamlخود بهروزرسانی کنید:flutter pub add firebase_ai
پروژه فلاتر خود را بازسازی کنید:
flutter run
پس از اتمام انتقال برنامه خود (به بخشهای باقیمانده در این راهنما مراجعه کنید)، حتماً بسته قدیمی را حذف کنید:
flutter pub remove firebase_vertexai
وحدت
پشتیبانی از Unity از « Vertex AI در Firebase » در دسترس نبود.
یاد بگیرید که چگونه با Firebase AI Logic SDK برای Unity شروع به کار کنید .
مرحله ۴ : مقداردهی اولیه را در برنامه خود بهروزرسانی کنید
برای مشاهده محتوا و کد مخصوص ارائهدهنده در این صفحه، روی ارائهدهنده API Gemini خود کلیک کنید. |
نحوهی مقداردهی اولیهی سرویس برای ارائهدهندهی API انتخابی خود را بهروزرسانی کنید و یک نمونهی GenerativeModel ایجاد کنید.
سویفت
import FirebaseAILogic
// 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
// 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
// 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
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
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 از « Vertex AI در Firebase » در دسترس نبود.
یاد بگیرید که چگونه با Firebase AI Logic SDK برای Unity شروع به کار کنید .
توجه داشته باشید که بسته به قابلیتی که استفاده میکنید، ممکن است همیشه یک نمونه GenerativeModel ایجاد نکنید .
- برای دسترسی به یک مدل Imagen ، یک نمونه
ImagenModelایجاد کنید.
مرحله ۵ : کد خود را بسته به ویژگیهایی که استفاده میکنید، بهروزرسانی کنید
این مرحله تغییراتی را شرح میدهد که ممکن است بسته به ویژگیهایی که استفاده میکنید، مورد نیاز باشند.
اگر از آدرسهای اینترنتی Cloud Storage URLs) استفاده میکنید و در این انتقال ، API توسعهدهندگان Gemini را جایگزین کردهاید، باید درخواستهای چندوجهی خود را بهروزرسانی کنید تا فایلها به عنوان دادههای درونخطی (inline data) لحاظ شوند (یا از آدرسهای اینترنتی یوتیوب برای ویدیوها استفاده کنید).
چندین تغییر برای نسخههای GA از SDK های " Vertex AI in Firebase " معرفی شده است. همین تغییرات برای استفاده از SDK های Firebase AI Logic نیز مورد نیاز است. لیستهای زیر را برای هرگونه تغییری که ممکن است برای تطبیق با SDK Firebase AI Logic در کد خود ایجاد کنید، مرور کنید.
مورد نیاز برای همه زبانها و پلتفرمها
فراخوانی تابع
اگر این ویژگی را قبل از GA پیادهسازی کردهاید، باید نحوه تعریف طرحواره خود را بهروزرسانی کنید. توصیه میکنیم برای یادگیری نحوه نوشتن اعلانهای تابع ، راهنمای فراخوانی تابع بهروزرسانیشده را مرور کنید.تولید خروجی ساختاریافته (مانند JSON) با استفاده از
responseSchema
اگر این ویژگی را قبل از GA پیادهسازی کردهاید، باید نحوه تعریف طرحواره خود را بهروزرسانی کنید. توصیه میکنیم برای یادگیری نحوه نوشتن طرحوارههای JSON ، راهنمای جدید خروجی ساختاریافته را مرور کنید.تایم اوت
- زمان پیشفرض برای درخواستها به ۱۸۰ ثانیه تغییر یافت.
مورد نیاز بر اساس پلتفرم یا زبان
سویفت
شمارشها
اکثر انواع
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را درCitationMetadataبهcitationsتغییر داد.
- نام ویژگی
کل کاراکترهای قابل پرداخت
- ویژگی
totalBillableCharactersدرCountTokensResponseبه صورت اختیاری تغییر یافت تا موقعیتهایی را که هیچ کاراکتری ارسال نمیشود، منعکس کند.
- ویژگی
پاسخ نامزد
- برای مطابقت با سایر پلتفرمها، نام
CandidateResponseبهCandidateتغییر یافت.
- برای مطابقت با سایر پلتفرمها، نام
پیکربندی تولید
- ویژگیهای عمومی
GenerationConfigبهinternalتغییر داده شد. همه آنها در مقداردهنده اولیه قابل تنظیم باقی میمانند.
- ویژگیهای عمومی
Kotlin
شمارشها
کلاسهای
enumو کلاسهایsealedبا کلاسهای معمولی جایگزین شدند. این تغییر، انعطافپذیری بیشتری را برای تکامل API به روشی سازگار با نسخههای قبلی فراهم میکند.نام شمارش
BlockThresholdرا بهHarmBlockThresholdتغییر داد.مقادیر از شمارشهای زیر حذف شدهاند:
HarmBlockThreshold،HarmProbability،HarmSeverity،BlockReasonوFinishReason.
روشهای لکهای
- تمام متدهایی که
Blobبه عنوان بخشی از نام خود داشتند، بهInlineDataتغییر نام دادند.
- تمام متدهایی که
تنظیمات ایمنی
-
methodفیلد را به nullable تغییر دادم.
-
کلاس مدت زمان
- تمام کاربردهای کلاس
Durationکاتلین حذف شده و باlongجایگزین شده است. این تغییر قابلیت همکاری بهتری با جاوا فراهم میکند.
- تمام کاربردهای کلاس
فراداده استناد
- تمام فیلدهایی که قبلاً در
CitationMetadataتعریف شده بودند را در یک کلاس جدید به نامCitationقرار داد. Citationها را میتوان در لیستی به نامcitationsدرCitationMetadataیافت. این تغییر امکان ترازبندی بهتر انواع دادهها را در پلتفرمهای مختلف فراهم میکند.
- تمام فیلدهایی که قبلاً در
تعداد توکنها
- فیلد
totalBillableCharactersبه nullable تغییر داده شد.
- فیلد
کل کاراکترهای قابل پرداخت
- ویژگی
totalBillableCharactersدرCountTokensResponseبه صورت اختیاری تغییر یافت تا موقعیتهایی را که هیچ کاراکتری ارسال نمیشود، منعکس کند.
- ویژگی
نمونهسازی یک مدل
- پارامتر
requestOptionsبه انتهای لیست پارامترها منتقل شد تا با سایر پلتفرمها هماهنگ شود.
- پارامتر
Live API
مقدار
UNSPECIFIEDبرای کلاس شمارشیResponseModalityحذف شد. به جای آن از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به عنوان بخشی از نام خود داشتند، بهInlineDataتغییر نام دادند.
- تمام متدهایی که
تنظیمات ایمنی
-
methodفیلد را به nullable تغییر دادم.
-
کلاس مدت زمان
- تمام کاربردهای کلاس
Durationکاتلین حذف شده و باlongجایگزین شده است. این تغییر قابلیت همکاری بهتری با جاوا فراهم میکند.
- تمام کاربردهای کلاس
فراداده استناد
- تمام فیلدهایی که قبلاً در
CitationMetadataتعریف شده بودند را در یک کلاس جدید به نامCitationقرار داد. Citationها را میتوان در لیستی به نامcitationsدرCitationMetadataیافت. این تغییر امکان ترازبندی بهتر انواع دادهها را در پلتفرمهای مختلف فراهم میکند.
- تمام فیلدهایی که قبلاً در
تعداد توکنها
- فیلد
totalBillableCharactersبه nullable تغییر داده شد.
- فیلد
کل کاراکترهای قابل پرداخت
- ویژگی
totalBillableCharactersدرCountTokensResponseبه صورت اختیاری تغییر یافت تا موقعیتهایی را که هیچ کاراکتری ارسال نمیشود، منعکس کند.
- ویژگی
نمونهسازی یک مدل
- پارامتر
requestOptionsبه انتهای لیست پارامترها منتقل شد تا با سایر پلتفرمها هماهنگ شود.
- پارامتر
Live API
مقدار
UNSPECIFIEDبرای کلاس شمارشیResponseModalityحذف شد. به جای آن ازnullاستفاده کنید.تغییر نام
LiveGenerationConfig.setResponseModalitiesبهLiveGenerationConfig.setResponseModality.کلاس
LiveContentResponse.Statusحذف شده و در عوض فیلدهای وضعیت به عنوان ویژگیهایLiveContentResponseتو در تو شدهاند.کلاس
LiveContentResponseحذف شده و در عوض زیرکلاسهایی ازLiveServerMessageارائه شده است که با پاسخهای مدل مطابقت دارند.LiveModelFutures.connectتغییر کرد تاListenableFuture<LiveSessionFutures>را به جایListenableFuture<LiveSession>برگرداند.
متدهای مختلف سازنده جاوا تغییر یافتهاند تا اکنون به جای
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و تابعdatastaticبهinlineDataتغییر یافت تا با سایر پلتفرمها هماهنگ شود.
- نام
گزینههای درخواست
-
RequestOptionsبه دلیل عدم کارکردtimeoutحذف شد. در آینده نزدیک دوباره اضافه خواهد شد، اما برای مطابقت با سایر پلتفرمها به نوعGenerativeModelمنتقل میشود.
-
توالیهای توقف
- پارامتر
stopSequencesدرGenerationConfigرا به اختیاری تغییر داد و مقدار پیشفرض آن را به جای یک آرایه خالی،nullقرار داد.
- پارامتر
نقل قولها
- نام ویژگی
citationSourcesدرCitationMetadataبهcitationsتغییر یافت. نوعCitationSourceبرای مطابقت با سایر پلتفرمها بهCitationتغییر نام یافت.
- نام ویژگی
انواع، متدها و ویژگیهای عمومی غیرضروری
- انواع، متدها و ویژگیهای زیر که به طور ناخواسته در معرض نمایش قرار گرفته بودند، حذف شدند:
defaultTimeout،CountTokensResponseFields،parseCountTokensResponse،parseEmbedContentResponse،parseGenerateContentResponse،parseContent،BatchEmbedContentsResponse،ContentEmbedding،EmbedContentRequestوEmbedContentResponse.
- انواع، متدها و ویژگیهای زیر که به طور ناخواسته در معرض نمایش قرار گرفته بودند، حذف شدند:
تعداد توکنها
- فیلدهای اضافی که دیگر لازم نیستند از تابع
countTokensحذف شدهاند. فقطcontentsمورد نیاز است.
- فیلدهای اضافی که دیگر لازم نیستند از تابع
نمونهسازی یک مدل
- پارامتر
systemInstructionبه انتهای لیست پارامترها منتقل شد تا با سایر پلتفرمها هماهنگ شود.
- پارامتر
قابلیت جاسازی
- قابلیت جاسازی پشتیبانی نشده (
embedContentوbatchEmbedContents) از مدل حذف شد.
- قابلیت جاسازی پشتیبانی نشده (
وحدت
پشتیبانی از Unity از « Vertex AI در Firebase » در دسترس نبود.
یاد بگیرید که چگونه با Firebase AI Logic SDK برای Unity شروع به کار کنید .
خطاهای احتمالی مربوط به مهاجرت
همانطور که در حال مهاجرت به نسخه GA از Firebase AI Logic هستید، اگر تمام تغییرات مورد نیاز را طبق آنچه در این راهنمای مهاجرت توضیح داده شده است، تکمیل نکرده باشید، ممکن است با خطا مواجه شوید.
خطای ۴۰۳: Requests to this API firebasevertexai.googleapis.com ... are blocked.
اگر خطای ۴۰۳ با مضمون « Requests to this API firebasevertexai.googleapis.com ... are blocked. دریافت کردید، معمولاً به این معنی است که کلید API فایربیس در فایل یا شیء پیکربندی فایربیس شما، API مورد نیاز را در فهرست مجاز خود برای محصولی که میخواهید استفاده کنید، ندارد.
مطمئن شوید که کلید API فایربیس مورد استفاده توسط برنامه شما، تمام APIهای مورد نیاز را در لیست مجاز "محدودیتهای API" کلید داشته باشد. برای Firebase AI Logic ، کلید API فایربیس شما باید حداقل API فایربیس AI Logic را در لیست مجاز خود داشته باشد. این API باید هنگام فعال کردن APIهای مورد نیاز در کنسول Firebase ، به طور خودکار به لیست مجاز کلید API شما اضافه شده باشد.
شما میتوانید تمام کلیدهای API خود را در پنل APIs & Services > Credentials در کنسول Google Cloud مشاهده کنید.
درباره تجربه خود با Firebase AI Logic بازخورد دهید