مستقیماً به دستورالعمل های مهاجرت بروید
چرا برای استفاده از Firebase AI Logic SDK مهاجرت کنیم؟
ممکن است مجموعه جایگزینی از SDKهای موبایل یا سرویس گیرنده وب را امتحان کرده باشید که به شما امکان دسترسی به Gemini Developer API را می دهد.
آن SDK های مشتری در اکوسیستم قوی Firebase که خدمات مهمی را برای برنامه های تلفن همراه و وب ارائه می دهد، ادغام نشده اند. آنها اکنون به نفع SDKهای مشتری AI Logic Firebase منسوخ شده اند، که می تواند به شما امکان دسترسی به Gemini Developer API را بدهد.
ویژگی های امنیتی برای موبایل و برنامه های وب
برای برنامه های موبایل و وب، امنیت بسیار مهم است و به ملاحظات خاصی نیاز دارد زیرا کد شما - از جمله تماس با Gemini API - در یک محیط محافظت نشده اجرا می شود. میتوانید از Firebase App Check برای محافظت از APIها در برابر سوءاستفاده توسط مشتریان غیرمجاز استفاده کنید.
وقتی از Firebase App Check با Firebase AI Logic استفاده میکنید ، هرگز کلید Gemini API خود را برای Gemini Developer API مستقیماً به پایگاه کد تلفن همراه یا برنامه وب خود اضافه نمیکنید. در عوض، کلید Gemini API روی سرور میماند و در معرض عوامل مخرب قرار نمیگیرد.
اکوسیستم ساخته شده برای موبایل و برنامه های وب
Firebase پلتفرم گوگل برای توسعه اپلیکیشن های موبایل و وب است. استفاده از Firebase AI Logic به این معنی است که برنامههای شما در اکوسیستمی قرار دارند که بر نیازهای برنامهها و توسعهدهندگان تمام پشته متمرکز شده است. به عنوان مثال:
پیکربندیهای زمان اجرا را به صورت پویا تنظیم کنید یا مقادیر را در برنامه خود (مانند نام مدل و نسخه) عوض کنید، بدون اینکه نسخه جدیدی از برنامه را با استفاده از Firebase Remote Config منتشر کنید.
از Cloud Storage for Firebase برای گنجاندن فایلهای بزرگ در درخواستهای چندوجهی خود استفاده کنید (اگر از Vertex AI Gemini API استفاده میکنید). SDK های سرویس گیرنده Cloud Storage به شما کمک می کند تا بارگذاری و دانلود فایل (حتی در شرایط بد شبکه) را مدیریت کنید و امنیت بیشتری را برای داده های کاربران نهایی خود ارائه دهید. در راهنمای راه حل ما درباره استفاده از Cloud Storage for Firebase بیشتر بیاموزید.
دادههای ساختیافته را با استفاده از SDKهای پایگاه داده ساخته شده برای برنامههای تلفن همراه و وب (مانند Cloud Firestore ) مدیریت کنید.
به Firebase AI Logic SDK ها مهاجرت کنید
نمای کلی مراحل انتقال به SDKهای منطقی هوش مصنوعی Firebase :
مرحله 1 : یک پروژه Firebase جدید یا موجود راه اندازی کنید و برنامه خود را به Firebase متصل کنید.
مرحله 2 : Firebase AI Logic SDK را به برنامه خود اضافه کنید.
مرحله 3 : واردات و مقداردهی اولیه خود را در برنامه خود به روز کنید.
مرحله 4 : کد خود را بسته به ویژگی هایی که استفاده می کنید به روز کنید.
مرحله 1 : یک پروژه Firebase راه اندازی کنید و برنامه خود را متصل کنید
وارد کنسول Firebase شوید و سپس پروژه Firebase خود را انتخاب کنید.
اگر قبلاً پروژه Firebase ندارید، روی ایجاد پروژه کلیک کنید و سپس از یکی از گزینههای زیر استفاده کنید:
گزینه 1 : با وارد کردن نام پروژه جدید در اولین مرحله از گردش کار «ایجاد پروژه»، یک پروژه کاملاً جدید Firebase (و پروژه Google Cloud زیربنایی آن به صورت خودکار) ایجاد کنید.
گزینه 2 : «افزودن Firebase» به پروژه Google Cloud موجود با انتخاب نام پروژه Google Cloud خود از منوی کشویی در مرحله اول گردش کار «ایجاد پروژه».
در صورت تمایل، میتوانید Firebase را به پروژهای اضافه کنید که در پشت صحنه هنگام ایجاد یک کلید API Gemini در Google AI Studio ایجاد شده است.
توجه داشته باشید که وقتی از شما خواسته شد، برای استفاده از Firebase AI Logic SDK ها نیازی به راه اندازی Google Analytics ندارید .
در کنسول Firebase ، به صفحه Firebase AI Logic بروید.
برای راهاندازی یک گردش کار هدایتشده که به شما کمک میکند APIها و منابع مورد نیاز پروژه خود را تنظیم کنید، روی Get Start کلیک کنید.
Gemini Developer API را انتخاب کنید. اگر بخواهید، همیشه میتوانید بعداً ارائهدهنده API دیگر را راهاندازی کرده و از آن استفاده کنید.
کنسول API های مورد نیاز را فعال می کند و یک کلید جدید و اختصاصی Gemini API در پروژه شما ایجاد می کند.
این کلید API جدید Gemini را به پایگاه کد برنامه خود اضافه نکنید . بیشتر بدانید.اگر در گردش کار کنسول از شما خواسته شد، دستورالعملهای روی صفحه را دنبال کنید تا برنامه خود را ثبت کرده و به Firebase متصل کنید.
در این راهنمای مهاجرت برای به روز رسانی کتابخانه و مقداردهی اولیه در برنامه خود ادامه دهید.
مرحله 2 : Firebase AI Logic SDK را به برنامه خود اضافه کنید
با راه اندازی پروژه Firebase و اتصال برنامه به Firebase (مرحله قبل را ببینید)، اکنون می توانید Firebase AI Logic SDK را به برنامه خود اضافه کنید.
سویفت
برای نصب و مدیریت وابستگی های Firebase از Swift Package Manager استفاده کنید.
کتابخانه Firebase AI Logic دسترسی به API ها را برای تعامل با مدل های Gemini و Imagen فراهم می کند. این کتابخانه به عنوان بخشی از Firebase SDK برای پلتفرم های اپل ( firebase-ios-sdk
) گنجانده شده است.
اگر قبلاً از Firebase استفاده می کنید، مطمئن شوید که بسته Firebase شما نسخه 11.13.0 یا جدیدتر است.
در Xcode، با باز بودن پروژه برنامه، به File > Add Package Dependencies بروید.
هنگامی که از شما خواسته شد، مخزن SDK پلتفرم های Apple Firebase را اضافه کنید:
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.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 استفاده میکند.
اگر تصمیم گرفتید از Firebase BoM استفاده نکنید، باید هر نسخه کتابخانه Firebase را در خط وابستگی آن مشخص کنید.
توجه داشته باشید که اگر از چندین کتابخانه Firebase در برنامه خود استفاده می کنید، ما قویاً توصیه می کنیم از BoM برای مدیریت نسخه های کتابخانه استفاده کنید، که تضمین می کند همه نسخه ها سازگار هستند.
dependencies { // Add the dependency for the Firebase AI Logic library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai:16.0.0") }
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 برای کنترل نسخهسازی کتابخانه استفاده کنید.
برای جاوا، باید دو کتابخانه اضافی اضافه کنید.
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 استفاده میکند.
اگر تصمیم گرفتید از Firebase BoM استفاده نکنید، باید هر نسخه کتابخانه Firebase را در خط وابستگی آن مشخص کنید.
توجه داشته باشید که اگر از چندین کتابخانه Firebase در برنامه خود استفاده می کنید، ما قویاً توصیه می کنیم از BoM برای مدیریت نسخه های کتابخانه استفاده کنید، که تضمین می کند همه نسخه ها سازگار هستند.
dependencies { // Add the dependency for the Firebase AI Logic library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai:16.0.0") }
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 از SDK های سرویس گیرنده هوش مصنوعی Google در دسترس نبود.
یاد بگیرید که چگونه با Firebase AI Logic SDK for Unity شروع کنید .
SDK قدیمی را از برنامه خود حذف کنید
پس از اتمام مهاجرت برنامه خود (به بخش های باقی مانده در این راهنما مراجعه کنید)، مطمئن شوید که کتابخانه قدیمی را حذف کرده اید.
سویفت
حذف کتابخانه قدیمی:
در Xcode، در حالی که پروژه برنامه خود باز است، به قسمت Packages Dependencies بروید.
بسته
generative-ai-swift
را از لیست وابستگی های بسته انتخاب کنید.روی دکمه
-
از پایین لیست کلیک کنید و برای تایید روی Remove کلیک کنید.
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 از SDK های سرویس گیرنده هوش مصنوعی Google در دسترس نبود.
یاد بگیرید که چگونه با Firebase AI Logic SDK for Unity شروع کنید .
مرحله 3 : واردات و مقداردهی اولیه خود را در برنامه خود به روز کنید
واردات خود و نحوه راه اندازی سرویس پشتیبان Gemini Developer API و ایجاد یک نمونه GenerativeModel
به روز کنید.
سویفت
// 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.0-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.0-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.0-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.0-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.0-flash');
وحدت
پشتیبانی از Unity از SDK های سرویس گیرنده هوش مصنوعی Google در دسترس نبود.
یاد بگیرید که چگونه با Firebase AI Logic SDK for Unity شروع کنید .
توجه داشته باشید که بسته به قابلیتی که استفاده می کنید، ممکن است همیشه یک نمونه GenerativeModel
ایجاد نکنید .
- برای دسترسی به یک مدل Imagen ، یک نمونه
ImagenModel
ایجاد کنید.
مرحله 4 : بسته به ویژگی هایی که استفاده می کنید، کد را به روز کنید
این مرحله تغییراتی را توضیح میدهد که ممکن است بسته به ویژگیهایی که استفاده میکنید لازم باشد.
SDKهای مشتری Firebase AI Logic از اجرای کد پشتیبانی نمی کنند. اگر از این ویژگی استفاده می کنید، مطمئن شوید که آن را در برنامه خود قرار دهید.
فهرستهای زیر را برای هرگونه تغییری که ممکن است لازم باشد در کد خود انجام دهید تا با مهاجرت به SDK مشتری AI Logic Firebase نیاز داشته باشید، مرور کنید.
برای همه زبان ها و سیستم عامل ها مورد نیاز است
فراخوانی تابع
اگر این ویژگی را پیادهسازی کردهاید، باید بهروزرسانیهایی را برای نحوه تعریف طرحواره خود انجام دهید. توصیه می کنیم راهنمای فراخوانی عملکرد به روز شده را مرور کنید تا نحوه نوشتن اعلان عملکرد خود را بیاموزید.تولید خروجی ساختاریافته (مانند JSON) با استفاده از
responseSchema
اگر این ویژگی را پیادهسازی کردهاید، باید بهروزرسانیهایی را برای نحوه تعریف طرحواره خود انجام دهید. توصیه میکنیم راهنمای خروجی ساختاریافته جدید را برای یادگیری نحوه نوشتن طرحوارههای JSON مرور کنید.تایم اوت
- مدت زمان پیشفرض درخواستها را 180 ثانیه تغییر داد.
بر اساس پلتفرم یا زبان مورد نیاز است
سویفت
شمارش ها
بیشتر انواع
enum
باstruct
s با متغیرهای استاتیک جایگزین کرد. این تغییر به انعطاف پذیری بیشتری برای تکامل API به روشی سازگار با عقب اجازه می دهد. هنگام استفاده از دستورهایswitch
، اکنون باید یکdefault:
case برای پوشش مقادیر ناشناخته یا کنترل نشده، از جمله مقادیر جدیدی که در آینده به SDK اضافه میشوند.نام شمارش
BlockThreshold
را بهHarmBlockThreshold
تغییر نام داد. این نوع در حال حاضر یکstruct
است.موارد
unknown
وunspecified
را از شمارشهای زیر حذف کرد (اکنونstruct
s):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
شمارش ها
کلاسهای
enum
و کلاسهایsealed
با کلاسهای معمولی جایگزین شدند. این تغییر به انعطاف پذیری بیشتری برای تکامل API به روشی سازگار با عقب اجازه می دهد.نام شمارش
BlockThreshold
را بهHarmBlockThreshold
تغییر داد.مقادیر از شمارش های زیر حذف شد:
HarmBlockThreshold
،HarmProbability
،HarmSeverity
،BlockReason
، وFinishReason
.
روش های لکه ای
- همه متدهایی را که
Blob
به عنوان بخشی از نام آنها درج میکردند تغییر نام داد تا به جای آنInlineData
استفاده کند.
- همه متدهایی را که
تنظیمات ایمنی
-
method
فیلد را تغییر داد تا nullable باشد.
-
کلاس مدت
- تمام موارد استفاده از کلاس
Duration
Kotlin را حذف کرد و آن را باlong
جایگزین کرد. این تغییر قابلیت همکاری بهتر با جاوا را فراهم می کند.
- تمام موارد استفاده از کلاس
فراداده استناد
- تمام فیلدهایی که قبلاً در
CitationMetadata
اعلام شده بودند را در یک کلاس جدید به نامCitation
قرار داد. نقلقولها را میتوان در فهرستی به نامcitations
درCitationMetadata
یافت. این تغییر باعث می شود تا انواع بهتری در بین پلتفرم ها تراز شوند.
- تمام فیلدهایی که قبلاً در
توکن ها را بشمار
- فیلد
totalBillableCharacters
به تهی تغییر داد.
- فیلد
مجموع کاراکترهای قابل پرداخت
- ویژگی
totalBillableCharacters
را درCountTokensResponse
تغییر داد تا برای منعکس کردن موقعیتهایی که هیچ کاراکتری ارسال نمیشود، اختیاری باشد.
- ویژگی
نمونه سازی یک مدل
- پارامتر
requestOptions
را به انتهای لیست پارامترها منتقل کرد تا با پلتفرم های دیگر تراز شود.
- پارامتر
Java
شمارش ها
کلاسهای
enum
و کلاسهایsealed
با کلاسهای معمولی جایگزین شدند. این تغییر به انعطاف پذیری بیشتری برای تکامل API به روشی سازگار با عقب اجازه می دهد.نام شمارش
BlockThreshold
را بهHarmBlockThreshold
تغییر داد.مقادیر از شمارش های زیر حذف شد:
HarmBlockThreshold
،HarmProbability
،HarmSeverity
،BlockReason
، وFinishReason
.
روش های لکه ای
- همه متدهایی را که
Blob
به عنوان بخشی از نام آنها درج میکردند تغییر نام داد تا به جای آنInlineData
استفاده کند.
- همه متدهایی را که
تنظیمات ایمنی
-
method
فیلد را تغییر داد تا nullable باشد.
-
کلاس مدت
- تمام موارد استفاده از کلاس
Duration
Kotlin را حذف کرد و آن را باlong
جایگزین کرد. این تغییر قابلیت همکاری بهتر با جاوا را فراهم می کند.
- تمام موارد استفاده از کلاس
فراداده استناد
- تمام فیلدهایی که قبلاً در
CitationMetadata
اعلام شده بودند را در یک کلاس جدید به نامCitation
قرار داد. نقلقولها را میتوان در فهرستی به نامcitations
درCitationMetadata
یافت. این تغییر باعث می شود تا انواع بهتری در بین پلتفرم ها تراز شوند.
- تمام فیلدهایی که قبلاً در
توکن ها را بشمار
- فیلد
totalBillableCharacters
به تهی تغییر داد.
- فیلد
مجموع کاراکترهای قابل پرداخت
- ویژگی
totalBillableCharacters
را درCountTokensResponse
تغییر داد تا برای منعکس کردن موقعیتهایی که هیچ کاراکتری ارسال نمیشود، اختیاری باشد.
- ویژگی
نمونه سازی یک مدل
- پارامتر
requestOptions
را به انتهای لیست پارامترها منتقل کرد تا با پلتفرم های دیگر تراز شود.
- پارامتر
Web
توجه داشته باشید که Google AI Client SDK برای جاوا اسکریپت از زمانی که SDK های کلاینت AI Logic Firebase از آن منشعب شد، تغییرات زیادی داشته است. لیست زیر برخی از تغییرات احتمالی است که ممکن است لازم باشد هنگام مهاجرت به SDK های مشتری AI Logic Firebase در نظر بگیرید.
شمارش ها
- مقادیر از شمارشهای زیر حذف شد:
HarmCategory
،BlockThreshold
،HarmProbability
،HarmSeverity
،BlockReason
، وFinishReason
.
- مقادیر از شمارشهای زیر حذف شد:
دلیل را مسدود کنید
-
blockReason
درPromptFeedback
به اختیاری تغییر داد.
-
جستجوی زمین
- همه موارد استفاده از این ویژگی حذف شد، زیرا هنوز در Firebase AI Logic SDK پشتیبانی نمیشود.
خطاها
- همه موارد استفاده از
GoogleGenerativeAIError
حذف شد و به صورت اختیاری بهAIError
منتقل شد.
- همه موارد استفاده از
Dart
شمارش ها
- مقادیر از شمارشهای زیر حذف شد:
HarmCategory
،HarmProbability
،BlockReason
، وFinishReason
.
- مقادیر از شمارشهای زیر حذف شد:
بخش داده
-
DataPart
بهInlineDataPart
تغییر نام داد و تابعdata
static
بهinlineData
برای تراز کردن با سایر پلتفرمها.
-
درخواست گزینه ها
-
RequestOptions
حذف کرد زیراtimeout
فعال نبود. در آینده نزدیک دوباره اضافه خواهد شد، اما به نوعGenerativeModel
منتقل می شود تا با سایر پلتفرم ها مطابقت داشته باشد.
-
توالی ها را متوقف کنید
- پارامتر
stopSequences
را درGenerationConfig
تغییر داد تا اختیاری باشد و به جای آرایه خالی، به طور پیش فرض بهnull
تبدیل شود.
- پارامتر
نقل قول ها
- ویژگی
citationSources
بهcitations
درCitationMetadata
تغییر نام داد. نوعCitationSource
برای مطابقت با سایر پلتفرم ها بهCitation
تغییر نام داد.
- ویژگی
انواع، روش ها و ویژگی های عمومی غیر ضروری
- انواع، روشها و ویژگیهای زیر
ContentEmbedding
که بهطور ناخواسته در معرض نمایش قرار گرفتند حذف کرد:defaultTimeout
،CountTokensResponseFields
،parseCountTokensResponse
،parseEmbedContentResponse
،parseGenerateContentResponse
،parseContent
،BatchEmbedContentsResponse
.EmbedContentRequest
وEmbedContentResponse
.
- انواع، روشها و ویژگیهای زیر
توکن ها را بشمار
- فیلدهای اضافی را از تابع
countTokens
که دیگر ضروری نیستند حذف کرد. فقطcontents
مورد نیاز است.
- فیلدهای اضافی را از تابع
نمونه سازی یک مدل
- پارامتر
systemInstruction
را به انتهای لیست پارامترها منتقل کرد تا با پلتفرم های دیگر تراز شود.
- پارامتر
قابلیت جاسازی
- قابلیت جاسازی پشتیبانی نشده (
embedContent
وbatchEmbedContents
) از مدل حذف شد.
- قابلیت جاسازی پشتیبانی نشده (
وحدت
پشتیبانی از Unity از SDK های سرویس گیرنده هوش مصنوعی Google در دسترس نبود.
یاد بگیرید که چگونه با Firebase AI Logic SDK for Unity شروع کنید .
درباره تجربه خود با Firebase AI Logic بازخورد بدهید